在 DeepSeek Harness (DSH) 的生態中,插件是實現特定能力擴展的主要方式。當智能體需要處理動態網頁、填寫表單或抓取數據時,現有的工具往往難以滿足對真實瀏覽環境的需求。dsh-plugin-browser-use 插件爲 DSH 提供了基於 Chromium 的真實瀏覽器能力,並內置了一套嚴格的安全策略。
這是什麼¶
dsh-plugin-browser-use 是一個爲 DeepSeek Harness (DSH) 設計的瀏覽器自動化插件。它通過 Playwright 驅動 Chromium,讓模型能夠執行導航、點擊、填充、截圖等操作。該插件的核心價值在於“安全優先”的設計:策略在每次操作和導航後重新檢查,且所有文件寫入均由插件管理,模型無法控制文件路徑。
核心功能¶
插件提供 15 個工具,覆蓋瀏覽器的核心交互場景:
- 頁面操作:
browser_navigate(導航)、browser_navigate_background(後臺加載)、browser_screenshot(截圖)、browser_pdf(生成 PDF)。 - 交互:
browser_click(點擊)、browser_fill(填充表單)、browser_upload(文件上傳)。 - 讀取:
browser_read_text(讀取文本)、browser_read_snapshot(讀取 ARIA 快照)。 - 標籤頁管理:
browser_tab_new(新建)、browser_tab_list(列表)、browser_tab_select(切換)、browser_tab_close(關閉)。 - 其他:
browser_downloads(下載管理)、browser_close(關閉瀏覽器)。
安裝與啓用¶
安裝該插件需要使用 DSH 的插件管理命令。安裝後,需確保系統中已配置好 Chromium 或安裝了 Playwright 的 Chromium。
dsh plugin --profile web add dsh-plugin-browser-use
dsh --profile web --dump-config # 驗證配置是否生效,應看到 "# == dsh-plugin-browser-use" 層
前置條件:
* Node.js 版本要求:^22.19.0 或 >=24.0.0。
* 需要安裝 Chromium。插件按以下順序解析:
1. executablePath 配置項
2. 環境變量 $DSH_BROWSER_EXECUTABLE
3. 系統常見位置
4. Playwright 自帶的解析(可通過 npx playwright install chromium 獲取)
安全模型與配置¶
該插件的安全機制體現在三個層面:策略檢查、網絡隔離和文件路徑控制。
1. 策略重檢
策略在每次操作前和每次導航後都會重新檢查。即使初始請求的 URL 是允許的,如果通過重定向或點擊進入了不安全的域名,操作也會被拒絕。
2. 網絡隔離
* 主機白名單:通過 allowedHosts 配置。匹配是基於主機標籤的,例如 example.com 匹配 example.com 和 sub.example.com,但不匹配 evil-example.com。
* 私有網絡:默認阻止 127.0.0.1、私有網段等,需顯式設置 allowPrivateNetwork: true 才能允許。
* 協議限制:僅支持 http: 和 https:,file:、data:、javascript: 等協議被禁止。
3. 文件路徑控制
插件嚴格禁止模型控制文件路徑。截圖、PDF 和下載均寫入配置的 artifactsDir,文件名由插件生成。文件上傳僅允許上傳配置的 uploadsDir 下的文件。
常用配置項:
| 配置項 | 類型 | 默認值 | 說明 |
| :— | :— | :— | :— |
| allowedHosts | string[] | [] | 允許訪問的主機白名單,爲空則允許所有公網主機 |
| allowPrivateNetwork | boolean | false | 是否允許私有網絡(如 localhost)訪問 |
| headless | boolean | true | 是否無頭運行 |
| executablePath | string | — | 指定 Chromium 可執行文件的絕對路徑 |
| userAgent | string | 自定義 | 瀏覽器的 User-Agent |
| proxyServer | string | — | 代理服務器地址(如 http://127.0.0.1:7890) |
| artifactsDir | string | 私有臨時目錄 | 截圖、PDF、下載的存放目錄 |
典型用法示例¶
配置允許特定主機:
allowedHosts:
- example.com
指定 Chromium 路徑:
executablePath: /usr/bin/chromium
自定義 User-Agent:
userAgent: dsh-plugin-browser-use/0.3.1
後臺加載頁面:
如果需要在不打斷當前操作流的情況下加載頁面,可使用 browser_navigate_background。此功能需要依賴 @deepseek-ai/dsh-jobs 和 @deepseek-ai/dsh-tool-jobs。
注意事項¶
- 後臺加載依賴:
browser_navigate_background功能依賴@deepseek-ai/dsh-jobs,否則工具將返回BROWSER_JOBS_UNAVAILABLE錯誤。 - Node 版本:請確保環境滿足
^22.19.0或>=24.0.0的版本要求。 - 源碼審查:插件以當前 DSH 進程的權限運行,使用前建議審查源碼與許可證(MIT)。
- 錯誤碼:所有失敗均返回工具結果中的
isError: true,附帶BROWSER_*錯誤碼,而非拋出異常。
總結¶
dsh-plugin-browser-use 爲 DeepSeek Harness 提供了可控的瀏覽器自動化能力。它通過嚴格的策略檢查、路徑隔離和私有網絡限制,解決了模型在訪問網絡時的安全隱患。對於需要在 DSH 中構建具備網頁操作能力的智能體的開發者,這是一個基礎且安全的工具選擇。