前言¶
DeepSeek Harness (DSH) 的插件生態允許開發者爲智能體擴展能力。在進行網絡搜索或網頁抓取時,公共搜索 API 通常需要密鑰、受區域限制或存在頻率上限。這個插件通過 Chrome DevTools Protocol (CDP) 直接控制你本地已安裝的瀏覽器,爲 DSH 智能體提供無需 API Key 的搜索與抓取能力。
插件定位¶
- 插件名稱:
dsh-local-browser-search - 維護者:YUANMINGXUE
- 開源協議:MIT
- 核心功能:爲 DSH 智能體註冊兩個工具——
browser_search(網頁搜索)和browser_fetch(頁面抓取)。
安裝與啓用¶
使用 DSH 的 CLI 安裝該插件。安裝後需要重啓 web 進程,工具纔會生效。
dsh plugin --profile web add dsh-local-browser-search
安裝完成後,重啓 dsh web。插件會在智能體的工具集中註冊上述兩個工具。
配置項¶
插件默認配置保存在 cordis.patch.yml 中。你可以根據網絡環境調整以下參數:
| 配置項 | 默認值 | 說明 |
|---|---|---|
headless |
true |
是否無頭運行(false 會打開可見窗口)。 |
engine |
bing |
默認搜索引擎:bing、duckduckgo 或 google。 |
maxResults |
8 |
單次搜索返回結果的上限。 |
timeoutMs |
30000 |
工具調用的超時時間(毫秒)。 |
browserPath |
null |
瀏覽器可執行文件路徑。未設置時自動檢測(Edge → Chrome → Brave)。 |
此外,你可以在環境變量中設置 DSH_BROWSER_PATH 來強制指定瀏覽器。
工作原理¶
插件運行在 DSH 進程上下文中,通過 Node.js 內置模塊調用本地瀏覽器:
- 檢測並定位本地已安裝的 Chromium 瀏覽器(Windows 上默認爲 Edge)。
- 以無頭模式啓動瀏覽器,並附加
--remote-debugging-port,同時掛載一個臨時的用戶配置文件。 - 利用 Chrome DevTools Protocol (WebSocket JSON-RPC) 驅動瀏覽器:
- 訪問搜索引擎,執行提取邏輯。
- 讀取返回的 JSON 數據(標題、URL、摘要)。
- 任務結束後,關閉瀏覽器進程並清理臨時配置文件。
安全與權限說明¶
- 數據隱私:插件不會使用任何已保存的用戶配置文件、Cookie 或瀏覽歷史。每次調用都會使用全新的臨時配置文件。
- 權限範圍:作爲 DSH 插件,該代碼在 DSH 進程中運行,擁有與當前 DSH 進程相同的權限。它調用的瀏覽器是你本地已經在運行的瀏覽器。
- 安全建議:在使用前建議檢查源碼,確保符合你的安全策略。
參考資料¶
- 插件目錄:https://www.skillhub.cn/plugins/YUANMINGXUE/dsh-search
- 源代碼:https://github.com/YUANMINGXUE/dsh-search