dsh-browser-tools:通過 CDP 把運行中的 Chromium 接到 DSH 智能體

前言

DeepSeek Harness(DSH)上的智能體若要打開網頁、讀結構化的頁面信息、再點擊或輸入,常見做法是單獨寫爬蟲、Playwright 腳本,或在對話裏粘貼 HTML。這些路徑要麼和 Harness 的工具調用、審批流程脫節,要麼上下文裏塞滿噪聲。下面介紹社區插件 dsh-browser-tools:它不自帶瀏覽器安裝包,默認只連接本機已開啓遠程調試的 Chromium,通過 Chrome DevTools Protocol(CDP)向智能體暴露導航、可訪問性快照、點擊、輸入和截圖等工具,並與 DSH 原生的站點規則、敏感操作審批對齊。

這是什麼

dsh-browser-tools(GitHub:Kerberos255/dsh-browser-tools)由維護者 Kerberos255 發佈,在 DSH 插件目錄中歸類爲聯網工具。一句話定位:把正在運行的、兼容 Chromium 的瀏覽器接到 DSH Agent,用 CDP 完成網頁自動化,同時用會話級元素引用、本機迴環限制和快照脫敏等方式控制誤操作與泄露風險。

插件當前版本爲 0.2.0(見倉庫 package.json),採用 MIT 許可證。依賴 Node.js >= 24 與 DSH >= 0.2.0-rc.2;運行時還需已存在的 DSH 主機,以及帶本地 CDP 端點的瀏覽器實例。

核心功能

以下能力均來自倉庫 README 與 package.json 說明,安裝後向 Agent 暴露的原生工具包括:

  • browser_navigate:導航到指定 URL。
  • browser_snapshot:獲取可訪問性導向的結構化頁面快照(非整頁 HTML dump)。
  • browser_click / browser_type:在頁面上點擊、輸入;使用會話作用域內的元素引用,降低頁面已刷新仍點舊元素的風險;各標籤頁的會話相互隔離。
  • browser_screenshot:截取屏幕圖像。

策略與安全相關行爲:

  • 支持 read、interact、blocked 三類站點規則;導航與交互時會再次校驗。
  • 配置的敏感操作走 DSH 原生審批服務。
  • CDP 連接限制在 loopback;快照中對支持的密鑰字段做脫敏;審計類產物在本地有界保存。
  • 拒絕不支持的 URL scheme;瀏覽器內容視爲不可信輸入。

可選能力:按需啓動瀏覽器。若 CDP 端點不可達且開啓該選項,插件會用配置的可執行文件與用戶數據目錄啓動實例;已有監聽則複用,不會打斷你手動開的瀏覽器。空閒退出默認 30 分鐘(0 表示關閉該行爲);僅關閉由插件啓動的實例。因瀏覽器由 DSH 拉起,DSH 退出時該實例也會結束。

底層使用 playwright-core 1.63.0 與 CDP 通信;插件不會替你下載或安裝瀏覽器。

安裝與啓用

前提:已有 DeepSeek Harness 主機,以及滿足 package.json 中聲明的 Node 與 DSH peer 依賴。

通過 DSH 插件管理器安裝(將 desktop 換成你的 profile 名稱):

dsh plugin --profile desktop add github:Kerberos255/dsh-browser-tools

需要可復現部署時,可將 GitHub 源固定到具體 commit。首次安裝或更新代碼後重啓 DSH。

在客戶端:Settings → Plugins → Browser Tools,填寫 loopback 上的 CDP 地址,默認 http://127.0.0.1:18801。

典型用法

1. 啓動帶本地遠程調試的 Chromium

在插件配置的端口上開啓遠程調試(默認 18801)。建議使用獨立的瀏覽器用戶配置,避免與日常瀏覽混用。

示例啓動參數(將可執行文件路徑與 profile 目錄換成你的環境):

--remote-debugging-address=127.0.0.1 --remote-debugging-port=18801 --user-data-dir=<browser-profile>

2. 在 DSH 中連接並打開 Agent

完成上一節 CDP 地址配置後,打開啓用了 Browser Tools 的 DSH Agent。

3. 先快照、再交互

按 README 建議的流程:先 navigate 到目標頁,在點擊或輸入前請求 snapshot,再基於快照中的元素引用做 click / type;需要視覺確認時使用 screenshot。

若啓用「按需啓動瀏覽器」,首次工具調用連不上 CDP 時會按設置啓動可執行文件並等待就緒;需配置瀏覽器路徑、--user-data-dir 對應目錄,以及以 JSON 字符串數組形式提供的額外參數。

開發側可運行 npm test 做可移植的策略類測試;真實瀏覽器與 CDP 行爲仍需活躍 DSH 主機,CI alone 無法完全覆蓋。示例配置見倉庫 config.example.json。

適用場景與注意

適合誰:已在 DSH 上跑 Agent、希望用統一工具鏈做「打開鏈接 → 讀結構化頁面 → 有限交互 → 截圖留證」的開發者;不想在插件裏再裝一套 Chromium 分發包,而是複用本機已調試好的瀏覽器。

運行與信任邊界:插件以當前 DSH 進程權限運行;快照與截圖可能包含隱私信息,運行時產物落在 DSH 本地數據目錄。安裝前請自行查看源碼與 SECURITY.md、LICENSE。社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係。

可選地,插件可向 dsh-plugin-diagnostics 上報受限的操作與失敗元數據(事件類型、狀態、固定錯誤碼、耗時等,不含對話內容與憑據);該診斷插件爲可選,不改變主機側依賴。

同維護者相關插件:dsh-desktop-tools(Windows 原生應用)、dsh-web-search-router(搜索提供商路由),可按需組合,本文不展開。

結尾

dsh-browser-tools 把「已運行的 Chromium + CDP」接到 DSH:結構化快照與元素引用、站點規則與原生審批、本機迴環與脫敏,適合在 Harness 裏做受控的網頁導航與交互。安裝命令與配置以倉庫 README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/Kerberos255/dsh-browser-tools
  • GitHub:https://github.com/Kerberos255/dsh-browser-tools
羽毛球分组比赛记分
小程序二维码

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

小夜