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

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

小夜