前言¶
在 DeepSeek Harness(DSH)里做网页相关任务时,常见做法是另开带调试端口的浏览器,或让 Playwright、Puppeteer 拉起一个「干净实例」。调试端口只能在浏览器启动时打开;已经开着的、带着登录态和 Cookie 的那一扇窗口,往往接不进去。结果是:要么重启浏览器丢状态,要么 AI 只能口头告诉你「应该点哪里」,却不能在你正在用的标签页上动手。
下面介绍社区插件 dsh-browser-bridge(维护者 xkzm123)。它走 Windows UI Automation、SendInput,以及可选的油猴(Tampermonkey)用户脚本桥,在不重启浏览器、不依赖 CDP 的前提下,让 DSH 会话直接操作本机已运行的 Edge/Chrome。插件归类为「客户端」,仅支持 Windows;许可证为 MIT。DSH 生态强调「一切皆插件」,目录页托管在 SkillHub 等社区站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
一句话:装好之后,你可以在 DSH 里说「帮我点那个按钮」,它去点屏幕上真的那个浏览器——不是另开空白实例,就是你正在用的窗口。
官方简介:Drive your already-running Edge/Chrome from a DeepSeek Harness session — no restart, no CDP. UIA + SendInput + userscript bridge.
- 目录页:https://www.skillhub.cn/plugins/xkzm123/dsh-browser-bridge
- 源码与文档:https://github.com/xkzm123/dsh-browser-bridge
核心功能¶
能做什么¶
| 你说的话(示例) | 插件侧行为 |
|---|---|
| 「看看我浏览器现在开着什么」 | 列出窗口与标签(如 browser_windows) |
| 「把这个页面的正文念给我听」 | 抽取可见文字 |
| 「把那个登录按钮点了」 | 按无障碍名称找到控件并真实点击 |
| 「搜索框里填上内容,回车」 | 聚焦输入框、输入(含中文)、按键 |
| 「把页面上所有链接收集起来」 | 返回链接地址 |
操作对象是你已登录的浏览器;需要登录或会员才能看到的内容,在本地窗口内可读,无需把账号交给第三方服务。
工具数量与油猴¶
- 只装 DSH 插件:14 个工具,覆盖读页、点按、输入、滚动、截图、切标签等日常操作。
- 再装油猴脚本(仓库内
bridge/bridge.user.js):共 22 个工具;多出的 6 个依赖页面内桥,包括browser_click_text、browser_page_query、browser_wait_for、browser_batch、browser_run_js、browser_bridge。
成本与性能设计¶
文档按「先用最便宜的手段,不够再升级」组织证据链:
- 纯文本:
browser_page_query/browser_get_text - 更大文本快照:
browser_snapshot(需要元素名与位置时) - 截图:
browser_screenshot(布局、canvas 或明确要求看图时)
browser_wait_for 在页面内轮询等待元素;browser_batch 可在同一 PowerShell 进程里连跑多条 bctl 命令;browser_click_text 点击后顺带回报元素状态,减少再查一轮的开销。
硬约束(不会做的事)¶
| 不做 | 原因(文档说明) |
|---|---|
| 默认不关闭浏览器或标签 | 关闭类快捷键需显式 allowClose;误关最后一窗可能导致「进程在、窗口无」的异常状态 |
| 不点浏览器 chrome 区按钮 | 点击范围限于网页内容(无障碍树 Document 子树) |
| 不启动浏览器 | 无窗口则报错,由用户自行打开 Edge/Chrome |
动作审计可查看用户目录下的 audit 日志;可用 bctl.ps1 audit tail 20 排查。
安装与启用¶
环境要求:Windows 10 / 11(package.json 中 os 为 win32)。无需为本插件单独安装 Python 或 Node 运行时来「驱动浏览器」;装完 DSH 插件后重启 DSH 即可加载。
第一步:安装插件¶
在 PowerShell 中执行(web 为你的 DSH profile 名,多数人可直接使用 web;不确定时可查看 C:\Users\你\.dsh\profiles\ 下文件夹名):
dsh plugin --profile web add github:xkzm123/dsh-browser-bridge
使用 DSH 桌面版时,也可在 设置 → 插件 中搜索 dsh-browser-bridge 安装,无需命令行。
安装成功时终端可能显示类似:
+ dsh-browser-bridge 1.3.0
Done in 5.1s
(具体版本号以安装输出为准;仓库 README 徽章与 package.json 中的版本字段可能不同步,以你本机安装结果为准。)
第二步:重启 DSH¶
插件在 DSH 启动时加载。dsh web 用户需结束当前进程后重新执行 dsh web;桌面版需退出再打开。浏览器无需重启,标签与登录状态保留。
第三步:验证¶
在对话中说:
看看我浏览器现在开着什么
若返回带 pid、浏览器类型与标题的窗口列表,且当前目标窗口前有 *,说明基本可用。
也可用配置 dump 确认插件已注册:
dsh --profile web --dump-config | Select-String -Context 0,3 browser-bridge
应能看到 - id: dsh-browser-bridge 等行。
可选:油猴脚本¶
不装脚本也能用 14 个工具;需要按文字点击、页面内批量、等待元素、执行任意 JS 或启动本地桥时,建议安装 Tampermonkey 并导入用户脚本。
安装脚本¶
方式 A(推荐):在浏览器地址栏打开:
https://raw.githubusercontent.com/xkzm123/dsh-browser-bridge/main/bridge/bridge.user.js
Tampermonkey 会识别 .user.js 并弹出安装页。确认脚本名、作者 xkzm123、源地址与「包含 URL」为 *://*/* 后安装。
方式 B:网络无法访问 raw 时,从仓库打开 bridge/bridge.user.js 的 Raw,复制全文到 Tampermonkey 新建脚本并保存。
方式 C:插件桥服务已运行时,可访问 http://127.0.0.1:8737/install.user.js(依赖本机服务与默认端口)。
若修改了插件配置中的 bridgePort(cordis.patch.yml),脚本内 const PORT = 8737; 需一致后重新安装。
启动桥并验证¶
C:\Users\你\.dsh\profiles\web\node_modules\dsh-browser-bridge\scripts\bctl.ps1 bridge start
看到 bridge running on port 8737 表示本地桥在 127.0.0.1 监听。也可在对话中说「启动浏览器桥」,由 browser_bridge 拉起。
任意网页打开后,可说「等页面的搜索框出现(最多 10 秒)」;若返回含 "found": true 的 JSON,说明插件与脚本通路正常。
Tampermonkey 扩展安装链接见仓库 README(Edge / Chrome 商店或 tampermonkey.net 手动安装 crx)。
典型用法¶
README 中给出的任务链示例(零截图路径):
1. browser_navigate 打开搜索页
2. browser_wait_for 等结果列表出现
3. browser_page_query 取标题+链接,按标题挑选
4. browser_batch 点进去 + 点赞 + 取色验证
5. 完成 状态从返回值可见
日常口语指令与上表「能做什么」一致;复杂站点可在装油猴后使用 browser_batch 的 steps 模式在页面内连做几步。
浏览器异常时,可运行 bctl.ps1 ensure 查看 absent / windowless / hidden / ok 等状态说明。
适用场景与注意¶
适合谁:在 Windows 上已用 DSH 做自动化或助手开发,希望 AI 直接操作当前 Edge/Chrome 窗口(含已登录会话),且不愿为 CDP 重启浏览器的开发者。
平台与依赖:仅 Windows;插件声明 Node >=20 为引擎要求(由 DSH 插件包管理,非让用户自装 Node 驱浏览器)。可选 Tampermonkey + 用户脚本扩展能力。
权限与安全:插件以当前 DSH 进程权限在本机操作窗口与输入设备;安装前应阅读源码与 MIT 许可证,确认可接受本地 UI 自动化与 SendInput 的行为范围。本地桥默认只监听 127.0.0.1;仍建议在可信环境使用,并知悉 audit 日志会记录操作步骤。
卸载:按 DSH 常规方式移除插件即可;油猴脚本在 Tampermonkey 管理面板中单独删除。详细步骤见仓库 README「卸载」一节。
结尾¶
dsh-browser-bridge 把「接不上已开浏览器」的 CDP 限制绕开,用 UIA + SendInput + 可选油猴桥,让 DSH 在 Windows 上驱动真实 Edge/Chrome 窗口。先装插件、重启 DSH、用一句话列出窗口验证;需要更快、更省的页面内能力时再装 Tampermonkey 脚本并启动本地桥。