前言¶
智能体开发中,要操作用户真实 Chrome 实例,通常需要额外编写后台服务或使用第三方方案,流程复杂且安全边界难以把控。DSH 的理念是「一切皆插件」,插件通过扩展能力来补齐能力缺口。下面介绍一个能直接控制用户真实 Chrome 的 DSH 插件:dsh-chrome-bridge。
插件定位¶
这是 DeepSeek Harness 的一个客户端插件,由维护者 Dax233 提供。它以 MV3 扩展形式存在,通过 Chrome 的 chrome.debugger API 与 Host 侧的 chrome 工具配合,实现对用户真实 Chrome 的控制。插件支持后台标签、DSH Agent 标签组、UIA 引用、动作回执、console/network 日志、iframe 观测与 frame 内点击等能力。
核心能力¶
Host 侧工具与 WebSocket 服务¶
插件在 Host 侧注册了一个 chrome 工具,并启动一个回环 WebSocket 服务(默认监听 127.0.0.1:47835)。该服务负责与扩展通信,提供鉴权(hello 帧鉴权、Host/Origin 校验)与安全边界。Host 工具提供一系列方法来驱动 Chrome:
status:获取状态tabs:获取/管理标签newTab:新建标签,自动加入 DSH Agent 标签组closeTab:关闭标签attach:附加到指定标签(显式 opt-in,用户拖出标签组即撤销)detach:从调试会话中分离标签navigate:导航到指定 URLsnapshot:获取页面快照,使用 Host 侧n<backendNodeId>引用click、type、key:对页面元素进行点击、输入和按键操作scroll:滚动页面screenshot:截图logs:获取 console/network 日志,支持 filter / clearupload:通过DOM.setFileInputFiles实现文件上传evaluate:在页面上下文中执行 JavaScriptwait:等待页面元素或条件满足(支持 selector / text / ms)
扩展侧实现¶
扩展侧使用 MV3 架构,通过 chrome.debugger 与 Host 通信,实现标签组控制、日志收集与 iframe 观测。iframe 内容会被标记为 (iframe),点击操作在 frame 隔离世界中按可访问名执行 .click()。
安全与权限¶
- 只有 DSH Agent 标签组内的 tab 会被驱动;拖出标签组即撤销控制权。
- WebSocket 服务仅监听
127.0.0.1,避免跨机暴露。 - hello 帧携带 token 鉴权,Host/Origin 校验。
- 默认 token 仅用于本机配对,可在扩展选项或环境变量中覆盖。
安装与启用¶
在 Host 侧执行以下命令添加插件:
dsh plugin --profile desktop add github:Dax233/dsh-chrome-bridge
然后在 Chrome 中:
- 打开
chrome://extensions - 开启「开发者模式」
- 选择「加载已解压的扩展程序」
- 指向本仓库的
extensions/chrome-extension目录 - 打开扩展选项页,确认端口与 token(默认端口
47835,默认 tokendsh-chrome-bridge-local)
Release / 下载安装¶
GitHub Releases(由 .github/workflows/release.yml 在推送 v* tag 或手动 dispatch 时生成)提供两种安装方式:
dsh-chrome-bridge-v<version>.zip:解压后按上述步骤加载已解压扩展程序。dsh-chrome-bridge-v<version>.crx:自签名包,适用于企业策略或 Chromium 开发版;Chrome 稳定版通常会拒绝拖入安装。
扩展 ID 默认随构建签名 key 变化。若需要稳定 ID(例如企业策略分发),可在仓库 Secrets 中设置 CRX_PRIVATE_KEY 为签名私钥 PEM,workflow 会优先使用。私钥不要提交到仓库。
开发¶
本地测试:
npm test
适用场景与注意¶
适合需要直接控制用户真实 Chrome 实例的开发者与智能体系统。插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。建议仅在受控环境或明确授权的场景中使用。
小结¶
dsh-chrome-bridge 将 Chrome 浏览器控制能力以插件形式集成到 DSH 中,提供了从标签管理、页面操作到日志观测的一整套能力。如果你需要在智能体或自动化流程中直接操作真实 Chrome,这个插件可以作为一条可行的路径。
- 插件目录页:https://www.skillhub.cn/plugins/Dax233/dsh-chrome-bridge
- GitHub 仓库:https://github.com/Dax233/dsh-chrome-bridge