前言¶
DeepSeek Harness(DSH)智能體可以搜索並拿到鏈接與摘要,但要把某個 URL 讀成乾淨、可直接推理的正文,仍需要專門的讀取步驟。官方 tool-web 的 web_fetch 會把整頁 HTML 轉成 Markdown,導航、廣告、側欄一併保留,默認上限 200,000 字符,容易佔滿上下文。社區裏也有若干網頁抓取插件,但在正文清洗、中文編碼、默認輸出長度等方面各有取捨。
下面介紹 dsh-read-url(維護者 2672243194,GitHub 14 stars,分類:聯網工具)。它面向 DSH 的 URL 讀取場景:抓取網頁、JSON API、RSS/Atom,自動識別編碼,提取主內容,並以緊湊純文本或 Markdown 返回,默認 6,000 字符上限,附帶緩存與 offset 續讀。
這是什麼¶
dsh-read-url 是 DeepSeek Harness 的 URL reader 插件,零運行時依賴(Node 20+ 內置 fetch/解碼/提取),無需 API Key,無需自建服務端。安裝到 DSH 後,智能體可通過 read_url 等工具把任意 http(s) 鏈接讀成清洗後的正文,而不是整頁 HTML 堆砌。
插件遵循 DSH 官方能力接縫設計:網絡請求優先走 ctx.web.fetch(),會話緩存在 ctx.effect 下注冊並在卸載時清理,工具超時通過 timeoutMs 與 exec.signal 協作,模型側輸出爲緊湊純文本,無需再解析 JSON。
核心功能¶
正文提取與 Token 控制¶
插件從 HTML 中定位文章/主內容容器,剝離導航、頁腳等噪聲,默認最多返回 6,000 字符,並支持按段落對齊截斷。長文可用 offset 從緩存續讀,避免重複發送已讀段落。同一會話內 5 分鐘 TTL 緩存,重複讀取同一 URL 會標註 (cached)。
多格式 URL¶
除普通網頁外,插件原生處理 JSON API(緊湊渲染,長值裁剪)與 RSS/Atom(條目列表 + feedCount)。分頁文章(小說、新聞、論壇等)默認自動拼接最多 3 頁。
中文與多語言編碼¶
自動檢測並規範化 UTF-16 BOM、GBK/GB2312、UTF-8、Big5、Shift-JIS 等編碼,含 mojibake 回退。相較部分同類插件,README 中標註其對 GB2312 與中文站點的處理更完整。
頁面元數據與跳轉¶
正文之外,插件按 meta → schema.org JSON-LD → byline 三級回退採集 published、author 等字段(v1.3.0 起 JSON-LD 可補全新聞站發佈時間)。遇到 <meta http-equiv="refresh"> 殼頁、反盜鏈跳轉或無 JS SPA 入口時,自動跟隨真實頁面(最多 3 跳,防循環);聲明 <base href> 的頁面會據此解析相對鏈接。
並行與批量¶
自 v1.1.0 起,四個工具均聲明 isConcurrencySafe,智能體可並行發起多次 read_url。read_url_batch 一次讀取 1–10 個 URL,併發 4,單頁失敗不影響其餘結果。
網絡層¶
請求優先經 ctx.web 能力接縫;接縫不可用時回退全局 fetch。配置代理時,直連與代理 curl 競速,先完成者勝出。README 實測提到:使用完整瀏覽器 UA 時,部分站點(如百度)可拿到完整靜態內容,而官方 web_fetch 在相同環境下可能因 TLS/UA 特徵拿到降級頁。
安裝與啓用¶
從 GitHub 安裝(README 推薦,便於更新):
npx @deepseek-ai/dsh plugin --profile web add github:2672243194/dsh-read-url
本地開發時可指向目錄:
npx @deepseek-ai/dsh plugin --profile web add ./dsh-read-url
安裝後重啓 DSH(Web 或 TUI),在 Settings → Plugins 中確認 dsh-read-url 已啓用。當前 package.json 版本爲 1.3.1,許可證 MIT,要求 Node >= 20。
典型用法¶
安裝完成後,直接用自然語言讓智能體讀 URL 即可,例如:
Read https://example.com/article and summarize the key points
Read https://docs.example.org/guide in markdown mode
Read these URLs together and compare their viewpoints: <url1> <url2> <url3>
單頁讀取 read_url¶
| 參數 | 類型 | 默認值 | 說明 |
|---|---|---|---|
url |
string | 必填 | http(s) URL |
maxChars |
number | 6000 | 正文最大字符數(500–20000) |
offset |
number | 0 | 從該字符偏移續讀(走緩存,不重複前文) |
mode |
string | text |
text 純文本;markdown 結構化 |
includeLinks |
boolean | false |
是否額外返回最多 20 條頁內鏈接 |
輸出示例(README 實測):
title: 新聞中心首頁_新浪網
charset utf-8
(chars 800/12398 — 截斷,offset 續讀)
批量讀取 read_url_batch¶
一次傳入 1–10 個 URL,並行清洗,合併爲一份緊湊報告。失敗 URL 單獨標註,例如:
讀取 2/4 頁成功,2 頁失敗
--- 阮一峯的網絡日誌 (491 字符) ---
--- Example Domain (127 字符) ---
[失敗] https://zh.wikipedia.org/... — Fetch failed: HTTP 403 ...
長文續讀¶
對超過 maxChars 的文章,先用默認參數讀首段,再增大 offset 繼續讀後續片段;緩存命中時不會重複抓取。
適用場景與注意¶
適合: 需要把網頁、API 響應或 RSS 條目讀入上下文做摘要、對比、調研的 DSH 智能體場景;中文站、老編碼頁面、分頁長文;希望控制 Token 消耗、避免整頁 Markdown 的場景。
注意:
- 插件以當前 DSH 進程權限發起網絡請求,安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認符合你的安全策略。
- 反爬、403、超時等失敗會如實返回,批量讀取時單 URL 失敗不阻斷其餘 URL。
- 社區目錄 SkillHub 插件頁 爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係;插件列表與星標等信息以 GitHub 爲準。
小結¶
dsh-read-url 補上了 DSH 智能體「把鏈接讀成乾淨正文」這一步:零依賴、無 API Key,默認 6,000 字符緊湊輸出,支持編碼檢測、分頁拼接、緩存續讀與批量並行。若你已在用 DSH 做聯網調研,可按上文命令安裝試用。
- 社區目錄:https://www.skillhub.cn/plugins/2672243194/dsh-read-url
- GitHub:https://github.com/2672243194/dsh-read-url