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)的等待。
羽毛球分组比赛记分
小程序二维码

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

小夜