前言¶
在 DeepSeek Harness(DSH)裏排網絡問題,往往要分開看:Host 進程裏的 web_fetch、LLM 調用,頁面自己的 fetch,桌面版右側欄內置瀏覽器裏的網頁,有時還要對照外部 Chrome 或 Edge 裏打開的頁面。各自開 DevTools 或抓包,上下文對不齊,也難和 Agent 工具調用放在同一條時間線上。
下面介紹社區插件 dsh-net-inspector(維護者 puthead,分類:客戶端)。它在輸入框工具欄提供類似瀏覽器 DevTools「Network」的浮動面板,把 Host、DSH 頁面、內置 <webview>、以及通過 CDP 掛上的外部 Chromium 流量合併展示,並給 Agent 註冊 net_inspect 工具讀取最近請求。
這是什麼¶
一句話:給 DSH 內置 DevTools 風格的網絡面板,停靠在輸入框正上方,可查看方法、URL、狀態碼、耗時、大小、頭與 body,並按來源分欄過濾。
四條來源在 README 裏寫得很清楚:
| 來源 | 抓什麼 | 怎麼抓 |
|---|---|---|
| Host 進程 | 工具調用、web_fetch、web_search、圖片 API、MCP、LLM 等出站 HTTP |
包裝 Host 的 globalThis.fetch |
| DSH 頁面 | 頁面內 fetch / XHR / WebSocket / EventSource |
在頁面內包裝對應構造函數 |
| 內置瀏覽器 | 桌面版右側欄 Electron <webview> 裏的網頁 |
對每個 webview 注入採集腳本,再抽回事件 |
| CDP | 外部 Chrome / Edge 等標籤頁 | 連接 --remote-debugging-port,訂閱 Network 域 |
列表行前綴:[H] Host、[B] DSH 頁面、[W] 內置瀏覽器、[C] 外部瀏覽器(CDP)。
核心功能¶
面板與過濾¶
- 輸入框工具行(模型選擇器左側)有波形圖標;點在輸入框上方展開,再點、右上角 × 或
Esc收起。 - 分段標籤:「全部 / Host / DSH 頁面 / 內置瀏覽器 / CDP」;過濾框支持空格分詞、
-關鍵詞排除、method:post、status:4(前綴)或status:404。 - 表頭「耗時」「大小」可排序;底部「失敗 N」只看失敗請求。
- 點一行右側展開詳情;JSON 自動美化,URL / cURL / 各段內容可單獨複製。
- 波形按鈕上的紅色角標只統計「上次打開面板之後」的新失敗請求,不會一直掛着歷史錯誤。
Agent 工具 net_inspect¶
模型可讀最近請求(四側均可),示例參數:
{ "limit": 10, "side": "client", "urlContains": "api", "includeBodies": false }
外部瀏覽器(CDP)¶
默認只抓 Host 和 DSH 頁面。要讓插件連上 Edge(示例來自 README):
& 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe' `
--remote-debugging-port=9222 `
--user-data-dir="$env:TEMP\edge-cdp-profile"
面板底部 CDP N 表示已掛標籤數;端口不通顯示 CDP 未連接,約 5 秒內自動重試。HTTPS 與 DevTools Network 一致,無證書攔截問題。限制:只覆蓋連接之後發起的請求;僅 Chromium 系,Firefox 未實現。
配置與安全邊界¶
cordis.patch.yml 中可配環形緩衝、body 上限、URL 忽略規則與 CDP 端點:
- id: net-inspector
name: dsh-net-inspector
config:
enabled: true
maxEvents: 2000
bodyCap: 24576
ignore:
- 'dsh-app://app/dsh-whale/'
cdp:
enabled: true
endpoints:
- 'http://127.0.0.1:9222'
retryMs: 5000
橋接 API 只接受本機迴環;捕獲內容可能含 API Key、Cookie,面板僅本機內存、不落盤。插件以當前 DSH Host 進程權限運行,安裝前宜自行查看源碼與 MIT 許可證。
安裝與啓用¶
官方安裝方式(README 原文,路徑換成本地克隆或下載後的絕對路徑):
plugin_manager install_bundle <本倉庫所在的絕對路徑>
安裝後插件行 net-inspector 應爲 active。桌面版啓動時組裝客戶端 bundle,修改 lib/client.js 或 lib/index.js 後需重啓 DSH 才生效。package.json 標明版本 0.4.0,Node >=20,peer 依賴 @deepseek-ai/cordis 與 @deepseek-ai/dsh-tools。
典型用法¶
- 裝好插件並重啓 DSH,點輸入框左側波形按鈕打開面板。
- 復現一次對話或頁面操作,在「Host」看工具與 LLM 出站,在「DSH 頁面」看前端 API。
- 桌面版若開了右側內置瀏覽器,切到「內置瀏覽器」;未開時底部會提示「內置瀏覽器未開」。
- 需要對照外部網頁時,用調試端口啓動瀏覽器,看「CDP」分段與帶
C徽標的行。 - 讓 Agent 用
net_inspect按urlContains、side等篩最近條目(是否帶 body 由includeBodies控制)。
鍵盤:列表聚焦時 ↑/↓ 切換請求,/ 聚焦過濾框;Esc 逐級清空過濾 → 取消選中 → 收起面板。
適用場景與注意¶
適合:在本機調試 DSH 插件與頁面聯調、覈對 Host 工具 HTTP、對比內置 webview 與外部瀏覽器行爲、把最近請求交給 Agent 分析(不含 body 時可減敏感信息暴露)。
務必知曉的限制(摘自 README):
- Host 側只 hook
globalThis.fetch,走node:http/node:https的不會進面板。 - SSE / 流式響應 deliberately 不讀 body;二進制、圖片、音視頻不 clone body。
- 瀏覽器側是插件加載之後的請求;WebSocket 主要記 outbound 與生命週期。
- 暫停面板只凍 UI,採集繼續;環形緩衝滿會淘汰舊條目,面板底部會顯示忽略與丟棄計數。
DSH 生態強調「一切皆插件」;社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-net-inspector 把 Host、頁面、內置瀏覽器、CDP 四條線收進一塊本機 Network 面板,並暴露 net_inspect,適合在 DSH 日常開發裏少開幾個窗口、少猜請求從哪一側發出。
- 目錄頁:https://www.skillhub.cn/plugins/puthead/dsh-net-inspector
- 源碼與完整說明:https://github.com/puthead/dsh-net-inspector