@dsh-external/dsh-browser-use:DeepSeek Harness 的本機瀏覽器控制能力

DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。當智能體需要操作真實網頁,而不僅僅是讀取文本時,現有方案往往難以兼顧操作深度與可視化。下面介紹 @dsh-external/dsh-browser-use,它移植自 ZCode 的 browser-use-plugin / control-browser 技能,將「ARIA 快照優先」的操作範式落地到 DSH 的工具、提示段與 UI 上。

核心功能

本插件提供一組工具與面板,用於驅動本機 Chromium 進行網頁操作。

  1. 瀏覽器控制:browser_open(打開 URL)、browser_navigate(導航)、browser_tabs(多標籤管理)、browser_wait(等待)。
  2. 交互操作:browser_click(點擊)、browser_type(輸入文本)、browser_press(發送按鍵)。
  3. 讀取與求值:browser_snapshot(讀取 ARIA 快照,用於定位)、browser_eval(JS 求值)、browser_screenshot(截圖)。
  4. 可視化面板:提供一個右側欄面板,可實時觀看瀏覽器畫面(需要部署掛載 attachment 服務)。

安裝與啓用

使用 DSH 內置插件管理器進行安裝。

# 使用命令行
dsh plugin --profile <profile> add github:hu568/dsh-plugin-browser-use

# 或使用插件管理器
plugin_manager action=install_bundle target="github:hu568/dsh-plugin-browser-use"

安裝後,插件被追加進 profile 的 dsh.profile.bundles,其 cordis.patch.yml 會將 dsh-browser-use 注入宿主組合。通常在運行中即時生效,否則重啓 DSH 即可。

典型用法

安裝完成後,Agent 可以通過調用工具來控制瀏覽器。

  1. 打開網頁並獲取初始快照:
    browser_open
  1. 讀取頁面結構(ARIA 快照):
    browser_snapshot
  1. 根據 ref 定位並點擊元素:
    browser_click
  1. 在輸入框中填入文本:
    browser_type

已知限制與注意事項

  1. 頁面刷新:Client 半邊在頁面刷新後生效。若頁面早於注入加載,client 模塊不會被 import。
  2. 截圖:browser_screenshot 需要部署掛載 attachment 服務。
  3. 導航協議:goto 工具只接受 http: / https: / about:blank。
  4. 鑑權:面板路由沒有獨立鑑權,同源的其他進程也能調用 /input 接口。
  5. Cookie 機制:會話 cookie(無 Expires/Max-Age)不保留,只有持久化 cookie 能跨進程保留。
  6. 進程佔用:同一 profile 不能同時被兩個進程佔用。
  7. 系統調用:不要使用 explorer.exe 開啓 URL,應走 ShellExecute 語義(Windows 上用 PowerShell 或 cmd)。

技術實現

  • 依賴:運行依賴 playwright-core ^1.56.1,使用本機已緩存的 Chrome for Testing。
  • 啓動方式:瀏覽器採用懶啓動,第一次調用 browser_open 時才拉起,插件卸載/熱重載時釋放。
  • 持久化:默認使用持久化 profile(<DSH_HOME>/browser-use/profile)來保存登錄態。
  • 源碼:以 lib/ 爲唯一源碼,純 JavaScript (ESM),不需要構建鏈。

通過這套機制,DSH 的 Agent 不再侷限於對話,而是能夠接管瀏覽器,完成從導航、操作到驗證的完整鏈路。對於需要處理登錄、驗證碼或複雜表單的自動化任務,這是一個實用的工具集。

源碼與目錄頁:GitHub

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

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

小夜