dsh-scrape-webpage:網頁抓取與統計分析插件

前言

在 DeepSeek Harness(DSH)的插件生態裏,智能體經常需要把網頁內容讀進來,再轉成摘要、關鍵詞、鏈接結構或圖片分析結果。如果每次都由模型臨時拼接 HTTP 請求、解析 HTML、截斷正文,代碼會重複且容易出錯。dsh-scrape-webpage 把這類工作收斂成一個 DSH 組合插件:抓取 http/https 網頁,提取標題、描述、正文、H1–H6 結構和鏈接,輸出統計與高頻關鍵詞,並支持下載內容圖片、接入識圖分析器。

這是什麼

dsh-scrape-webpage 是一個 Host-only、零依賴的 DSH 組合插件,維護者爲 131CDA1,許可證爲 MIT。它面向“讀取網頁內容並做輕量分析”的場景。插件以 bundle 包發佈,package.json 中聲明 dsh.bundle.patch,通過 dsh plugin 安裝後會註冊爲組合層。

核心功能

下面介紹它提供的主要能力。

  • 網頁抓取:支持 http/https,自動重定向;非 2xx 狀態碼會優雅返回。
  • 內容提取:提取標題、頁面描述、正文、H1–H6 標題結構、鏈接列表;鏈接列表上限 100。
  • 統計分析:輸出字符數、詞/字數、標題數、鏈接數、預計閱讀時長、語言傾向(中/英/混合)與高頻關鍵詞 Top30。
  • 圖片下載:可下載頁面內容圖片,並返回本地路徑供 read_image 分析。
  • 識圖擴展:發佈 scrape.imageAnalyzer 服務;識圖插件註冊分析器後,圖片分析結果會作爲 imageAnalysis 附加在輸出中。
  • 沙箱授權:默認在沙箱內抓取;HTTPS 受限時,可通過 sandbox_permissions 與審批獲得一次性授權。

圖片會下載到類似下面的本地目錄:

.scrape-images\<時間戳>\

安裝與啓用

先確認 pnpm 在 PATH 上;dsh plugin 會轉發給 pnpm。首次使用會自動初始化目標 profile。

從 npm registry 安裝

下面是推薦的 npm registry 安裝命令:

dsh plugin --profile web add dsh-scrape-webpage

從 GitHub 安裝

如果從 GitHub 安裝,使用:

dsh plugin --profile web add "github:131CDA1/dsh-scrape-webpage"

本地目錄調試

本地目錄調試必須顯式使用 file: 前綴。裸路徑或相對路徑會被 pnpm 當作 link: 協議,可能導致包無法被解析。

dsh plugin --profile web add "file:D:\path\to\dsh-scrape-webpage"

卸載

卸載命令:

dsh plugin --profile web remove dsh-scrape-webpage

典型用法

經過上面的步驟後,最直接的使用方式是在對話中說:

幫我抓取 https://example.com 並分析

常用參數

常用參數名稱如下:

url
maxChars
images
sandbox_permissions
justification

說明:

  • url:要抓取的 http/https 地址。
  • maxChars:返回正文最大字符數,默認 30000,範圍 1000–100000
  • images:同時下載的內容圖片數,上限 6,默認 0
  • sandbox_permissions:僅支持 danger-full-access,用於 HTTPS 沙箱受限後的重試。
  • justification:與 sandbox_permissions 配套,說明爲什麼需要更寬權限。

帶圖片抓取

如果需要圖片,先讓抓取插件下載圖片,再讀取返回的本地路徑:

幫我抓取 https://example.com 並分析,images: 3

返回中會包含圖片的本地相對路徑 relPath。之後對 relPath 調用 read_image,即可把圖片交給視覺模型分析。

識圖插件接入

如果有獨立識圖插件,可以通過下面服務註冊分析器:

ctx.get('scrape.imageAnalyzer')

註冊分析器後,帶 images 參數且數量大於 0 的抓取會把圖片交給分析器,並在輸出中附加 imageAnalysis 結果。

安全與限制

  • 協議:僅支持 http/https
  • 上限:鏈接列表上限 100;圖片下載上限 6;maxChars 默認 30000,範圍 1000–100000
  • 超時:工具 180s、頁面 30s、單圖 20s。
  • 沙箱:默認在沙箱內抓取。HTTPS 沙箱 TLS 受限時,模型需顯式攜帶下面參數重試:
sandbox_permissions="danger-full-access"
justification="一句話說明爲什麼需要更寬權限"

審批只授權當次調用。

  • 平臺:無 fetch provider 的部署經 shell 調用 curl.exe;Windows 10 1803+ 自帶,其他平臺需 PATH 有 curl。
  • 宿主依賴:toolssystemPrompttimer 爲硬依賴;webshellsandboxPolicyapprovalsessions 可選,缺失時優雅報錯。
  • 權限:插件以當前 dsh 進程權限運行,並可能依賴宿主服務發起網絡請求與下載圖片。安裝前應檢查源碼與 MIT 許可證。

適用場景與注意

適合在以下場景使用:

  • 需要把網頁正文變成可分析文本。
  • 需要標題、鏈接、關鍵詞、語言傾向、預計閱讀時長等統計。
  • 需要下載頁面內容圖片,並接入視覺或識圖分析。

如果任務需要非 http/https 協議,或超出正文、圖片數量與超時限制,插件本身不覆蓋這些能力,需要另行處理。

結尾

dsh-scrape-webpage 的價值在於把網頁讀取、結構提取、統計分析和圖片分析接入收斂到同一個插件裏,減少重複實現。項目地址:

https://github.com/131CDA1/dsh-scrape-webpage
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜