dsh-chrome:DeepSeek Harness 的 Chrome 側邊欄插件

前言

在 DSH / 智能體開發中,agent 經常需要知道當前頁面、讀取頁面請求、執行簡單瀏覽器操作。已有做法通常是手動複製頁面文本給 agent,或另寫腳本調用瀏覽器。下面介紹 dsh-chrome:一個把完整 dsh web UI 嵌入 Chrome side panel 的插件,並讓本地 dsh agent 讀取當前頁面、按需捕獲 HTTP 流量、驅動瀏覽器。

這是什麼

stuarthu/dsh-chrome 是 DeepSeek Harness(DSH)的瀏覽器 companion,許可證爲 MIT,package.json 版本爲 0.1.3。

它面向本地受信環境,要求:

  • 本地 dsh web 運行,默認地址爲 http://127.0.0.1:3080
  • Chrome 118+
  • Node >=18
  • 可選 peerDependencies:@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm

插件分兩部分:

  • 加到 dsh web profile 的 host plugins
  • 加載到 Chrome 的擴展文件

其中 host plugins 包含:

  • bridge.js:WS bridge
  • browser-tools.js:agent tools + redaction
  • page-injector.js

核心功能

側邊欄嵌入完整 dsh web UI

Chrome side panel 內嵌完整 dsh web UI,包括 sessions、settings、approvals、tasks、goals、workspaces。

side panel 頂欄提供:

  • bridge status
  • 手動 Stop capture
  • 通過 Settings 修改 dsh address

自動感知當前頁面

切換標籤或導航後,插件會把 http(s) 頁面的 URL、標題和正文文本注入最近活躍 session。SPA 路由變化也會觸發。

頁面變化檢測包括:

  • tab 切換
  • 主幀導航
  • SPA 路由變化

檢測約 2 秒去抖;滾動不觸發;只計 active tab;bridge 重連時重發當前頁面。

自動注入的頁面正文上限爲 1,000,000 字符。

按需捕獲 HTTP 流量

捕獲是 opt-in,並且只作用於活動標籤。

啓動捕獲:

browser_start_capture

讀取捕獲結果:

browser_capture_requests

捕獲記錄活動標籤請求的方法、URL、狀態、請求體和響應體。HTTP headers 不捕獲,因此 Cookie、Set-Cookie、Authorization 頭不會到達模型。

捕獲保留滾動最後 500 條;每個請求/響應體和自動注入頁面體上限爲 1,000,000 字符。

停止捕獲會停止記錄,但保留已記錄內容直到標籤關閉。讀取捕獲結果不做 intent-gate,同一瀏覽器的其他 dsh session 可讀取。

瀏覽器控制

提供以下瀏覽器工具:

browser_navigate
browser_click
browser_open_tab

讀取或操控頁面狀態的瀏覽器工具(包括捕獲)僅作用於 active tab;browser_list_tabs 和 browser_open_tab 是自然例外。

browser_get_page 的按需讀取限制約爲 40,000 可見文本和最多 400 鏈接。

browser_click 不重試;若點擊結果丟失,工具會報告無法確認點擊是否生效。

工具級 intent unlock

dsh-chrome 免審批,但狀態變更操作受工具級 intent unlock 限制:僅在當前輪真實消息包含指定瀏覽意圖詞時允許。

注入的當前頁面消息標註爲 untrusted data,且 intent-unlock gate 會阻止頁面內容觸發狀態變更操作。這些是 best-effort 防護,不是硬保證。

安裝與啓用

先做 host plugins 安裝,再做 Chrome 擴展安裝。

添加 host plugins

爲 dsh web profile 添加 dsh-chrome host plugins:

dsh plugin --profile web add dsh-chrome

這一步會把 bridge、browser tools、page injector 註冊到 dsh web profile。隨後刷新瀏覽器。

加載 Chrome 擴展

運行擴展安裝命令,打印擴展目錄:

npx dsh-chrome install

接着在 Chrome 中加載擴展:

  1. 打開 chrome://extensions
  2. 開啓 Developer mode
  3. 點擊 Load unpacked,選擇打印目錄
  4. 點擊 dsh-chrome 工具欄圖標打開 side panel

經過上面的步驟,可以在 side panel 中查看 bridge status,並使用完整 dsh web UI。

升級

升級包後,重新運行:

npx dsh-chrome install

並在 chrome://extensions 重新加載擴展。

如需確認擴展目錄,可以運行:

npx dsh-chrome path

卸載

刪除擴展目錄:

npx dsh-chrome uninstall

隨後在 chrome://extensions 移除擴展。

移除 dsh host plugins:

dsh plugin --profile web remove dsh-chrome

典型用法

在 side panel 中打開 session 後,可以直接向 agent 發出類似指令:

  • open the xx page
  • click the login button
  • capture this page's requests

side panel 頂欄用於查看狀態和手動控制:

  • bridge status:查看 dsh 連接狀態
  • Stop capture:手動停止捕獲
  • Settings:修改 dsh address

安全與適用場景

dsh-chrome 僅限受信本地使用。bridge 和 browser tools 會賦予本地 dsh agent 讀取頁面、捕獲流量、驅動瀏覽器的能力。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。

默認會對 secret-shaped URL query 參數、請求體和響應體中的 token 進行掩碼。如需捕獲未掩碼的 raw 流量,可設置:

redactCredentials: false

redaction 是 best-effort,不保證覆蓋所有情況。捕獲流量應視爲敏感內容,只在受信站點啓用捕獲。

注入頁面標註爲 untrusted data,intent-unlock gate 也會限制頁面內容觸發狀態變更操作,但這些仍屬於 approval-free 模式下的 best-effort 防護,不是絕對保證。

結尾

dsh-chrome 把 dsh web UI、當前頁面感知、HTTP 流量捕獲和基礎瀏覽器控制放到同一個 Chrome side panel 中,適合在受信本地環境中爲 dsh agent 增加瀏覽器上下文。

社區目錄頁:https://www.skillhub.cn/plugins/stuarthu/dsh-chrome
GitHub:https://github.com/stuarthu/dsh-chrome

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

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

小夜