dsh-browser-bridge:在 DSH 里驱动已打开的 Edge/Chrome

前言

在 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.

核心功能

能做什么

你说的话(示例) 插件侧行为
「看看我浏览器现在开着什么」 列出窗口与标签(如 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。

成本与性能设计

文档按「先用最便宜的手段,不够再升级」组织证据链:

  1. 纯文本:browser_page_query / browser_get_text
  2. 更大文本快照:browser_snapshot(需要元素名与位置时)
  3. 截图: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 脚本并启动本地桥。

羽毛球分组比赛记分
小程序二维码

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

小夜