dsh-agent-browser:DSH 模型驅動瀏覽器控制插件

前言

DeepSeek Harness (DSH) 採用插件化架構,允許通過擴展功能增強能力。dsh-agent-browser 是一個插件,旨在讓模型通過工具調用直接控制 DSH 右側邊欄瀏覽器。它提供了讀取頁面內容、操作元素、導航、切換視口大小以及截取視口截圖的能力,使模型能夠像人類一樣與網頁交互。

核心功能

該插件提供以下工具,用於瀏覽器控制:

  • browser_tabs:列出當前會話的瀏覽器標籤頁。信息包含 id、title、url、加載狀態、失敗狀態、驗證狀態、掛載狀態以及載體信息(carrier)。
  • browser_read:讀取標籤頁內容。支持 mode: 'text'(默認,讀取可見文本)、mode: 'elements'(讀取可交互元素)、mode: 'html'(讀取頁面 HTML)。讀取前應檢查 failed 狀態,失敗頁面讀取結果爲空。
  • browser_act:執行頁面操作。支持 click、type、press、scroll、select、reload、wait。操作目標可通過 ref(來自 elements 模式)或 CSS 選擇器指定。wait 支持固定延遲或選擇器狀態等待(visible、attached、hidden)。
  • browser_screenshot:截取當前視口。支持預設 phone、tablet、desktop 以及 custom 尺寸。
  • browser_navigate:打開新標籤頁或導航到指定 URL。
  • browser_viewport:切換標籤頁的視口大小。預設包括 auto、phone (390×844)、tablet (834×1112)、desktop (1280×800) 以及 custom。
  • browser_close:關閉指定的標籤頁。
  • browser_eval:在頁面中運行 JavaScript。該功能默認禁用,需配置 enableEval: true 才能使用。

安裝方式

該插件可通過以下方式獲取:
- 技能庫目錄:https://www.skillhub.cn/plugins/guanhaisen/dsh-agent-browser
- GitHub 倉庫:https://github.com/guanhaisen/dsh-agent-browser

典型用法

以下爲模型進行自動化瀏覽的典型工具調用流程:

browser_navigate { url: "https://example.com" }
browser_read { mode: "elements" }  // 獲取可交互元素的引用
browser_act { action: "type", ref: "e1", text: "hello" }
browser_act { action: "click", ref: "e2" }
browser_read { mode: "text" }      // 確認變更
browser_screenshot { preset: "desktop" }
browser_viewport { preset: "phone" }
browser_close { tabId: "tab4" }

注意事項

  • 平臺限制:僅支持桌面端(使用 Electron <webview>)。在 Web 配置文件中,側邊欄瀏覽器使用 <iframe>,無法讀取 DOM,相關操作會返回明確原因。
  • 配置要求:browser_eval 功能默認禁用,需在配置中開啓 enableEval: true 才能使用。
  • 狀態字段:標籤頁有四個關鍵狀態字段。mounted 表示 DOM 已掛載且可驅動;loading 表示導航正在進行;failed 表示加載失敗(顯示錯誤頁);unverified 表示渲染器無響應或文檔不可達。
  • 截圖限制:當頁面處於 failed 或 unverified 狀態時,截圖操作會被拒絕。
  • Wait 行爲:wait 支持固定延遲或基於選擇器狀態(visible/attached/hidden)的等待。
羽毛球分组比赛记分
小程序二维码

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

小夜