前言¶
DeepSeek Harness (DSH) 採用插件化架構來擴展其核心能力。在本地開發環境中,控制瀏覽器通常需要配置獨立的自動化配置文件,或者面臨與用戶現有會話隔離的問題。dsh-b2us-chrome-tool 旨在解決這個問題,它通過 Manifest V3 擴展和經過認證的迴環 WebSocket 橋接,將 DSH 與用戶現有的 Chrome 會話連接起來。
插件簡介¶
這是一個爲 DSH 提供的安全、本地 Chrome 自動化插件。它允許 Agent 在受控環境下訪問和操作已授權的標籤頁,同時通過上下文隔離機制防止未授權的數據泄露。該插件通過技術標識符 dsh-auto-chrome-tool 進行安裝和配置。
核心能力¶
該插件提供以下功能,用於在受控範圍內與瀏覽器交互:
- 現有 Chrome 會話:控制用戶已授權的標籤頁,無需創建新的自動化配置文件。
- 語義頁面訪問:返回受限的可訪問名稱、角色、狀態和短暫的不透明元素引用,而不是直接轉儲完整的頁面源碼。
- 源側搜索:
page.find在頁面運行時對相關元素進行排序,再將結果返回給模型。 - 已驗證定位器:
page.locator在實時 DOM 中生成 CSS/XPath 候選者,並證明每個候選者能唯一標識目標元素。 - 頁面交互:支持點擊、精確名稱點擊、非敏感文本輸入、選擇、滾動、等待和結構化提取。
- 截圖和網絡數據:捕獲截圖和受限的 Fetch/XHR 元數據或體,作爲帶有屏蔽、配額和過期時間的不透明工件。
- 上下文隔離:一個新的 Browser Worker 接收頁面數據和工作專用工具;父 Agent 只接收受限的 typed 結果。
- 可恢復交付:瀏覽器執行和文件交付分別報告,因此工件複製失敗可以在不重複登錄或提交的情況下重試。
- 引導式設置:自動檢測 Chrome,僅在 DSH 批准後打包擴展,並添加雙語 Harness 設置頁面以進行狀態檢查、下載和配對。
- 縱深防禦:將橋接限制爲 loopback,驗證擴展源,使用相互 nonce/HMAC 認證,並強制執行大小、併發、超時和生命週期限制。
安裝與依賴¶
在安裝前,請確保環境滿足以下要求:
- Node.js
^22.19.0 || >=24.0.0 - Google Chrome 125 或更高版本
- DSH 版本
0.1.2-rc.1 - Cordis 版本
4.0.2
通過以下命令安裝插件:
dsh plugin --profile web add ./dsh-auto-chrome-tool-0.4.2.tgz
典型用法¶
插件提供了以下工具接口,用於與頁面交互:
page.find:在頁面運行時對相關元素進行排序。page.locator:在實時 DOM 中生成 CSS/XPath 候選者並驗證唯一性。
支持的頁面交互操作包括:
* 點擊(Click)
* 精確名稱點擊(Exact-name click)
* 非敏感文本輸入(Non-sensitive text input)
* 選擇(Select)
* 滾動(Scroll)
* 等待(Wait)
* 結構化提取(Structured extraction)
適用場景與注意事項¶
- 使用場景:該插件適用於本地開發環境和受信任的環境。
- 安全限制:
- WebSocket 服務器僅接受
127.0.0.1、::1或localhost。 - 配對需要至少 16 個字符的令牌。
- 僅
chrome-extension://來源可進行認證。 - 不暴露任意 JavaScript 評估或任意 Chrome DevTools Protocol (CDP) 命令。
- WebSocket 服務器僅接受
- 數據屏蔽:
- 密碼字段僅顯示
sensitive(敏感)和filled(已填充)狀態,不返回具體值。 - Cookie、Authorization、API-key、Token、Session 等網絡值會被屏蔽。
- 截圖和網絡體工件受配額和時間限制。
- 密碼字段僅顯示
- 權限與權威:
- 擴展準備需要通過原生 DSH 批准路徑。
- 插件不會編輯 Chrome 配置文件、首選項、Cookie、密碼存儲或擴展策略。
- Chrome 是加載解包擴展和授予本地網絡訪問權限的最終權威。
總結¶
dsh-b2us-chrome-tool 提供了一種在受控、安全的前提下連接現有 Chrome 會話的方案。通過 Manifest V3 擴展和迴環橋接,它實現了語義訪問、已驗證定位和受限交互等功能,適合需要與本地瀏覽器深度集成的 DSH 開發場景。