DeepSeek Harness 瀏覽器自動化插件:安全優先的網頁操作能力

在 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 中構建具備網頁操作能力的智能體的開發者,這是一個基礎且安全的工具選擇。

羽毛球分组比赛记分
小程序二维码

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

小夜