前言¶
在 DeepSeek Harness(DSH)里做需要「看网页」的任务时,常见做法是另开浏览器、复制链接,或让智能体通过通用联网工具拉取页面。那些方式往往拿不到你已在侧边栏登录后的画面,也无法像真人一样点选、输入。dsh-browser-bridge 把 Harness 右侧 Sidebar Browser 里当前打开的标签页接进智能体工具链:在你自己的会话里读正文、执行脚本、点击与滚动,桌面版还可截图。
下面按定位、能力、原理、安装与注意点说明该插件;安装命令与工具名均来自项目 README 与 package.json。
这是什么¶
- 名称:
@alvinlui-hk/dsh-browser-bridge(GitHub:alvinlui-hk/dsh-browser-bridge) - 维护者:alvinlui-hk
- 分类:联网工具(社区目录 SkillHub 插件页 中的归类)
- 许可证:MIT(见 npm 包元数据)
- DSH 要求:
engines.dsh为>=0.2.2-rc.1
启用后,智能体会多出一组 browser_* 工具,操作对象是你聊天窗口旁边 Sidebar 里正在浏览的标签页——使用你的 cookie、登录态和当前可见内容,而不是隔离的无会话抓取。
核心功能:browser_* 工具¶
README 中列出的工具如下,一步对应一种操作:
| 工具 | 作用 |
|---|---|
browser_status |
列出 Sidebar 中已打开的标签(frame id、URL、标题、是否可读) |
browser_open |
在 Sidebar 新开一个 URL |
browser_read |
读取页面可见文本(含已登录视图) |
browser_evaluate |
在页面内执行 JS 表达式,返回 JSON 结果 |
browser_click |
按 CSS 选择器或可见文本点击(HTML、SVG) |
browser_type |
向输入框输入并触发原生 input/change,可选回车 |
browser_press |
向焦点元素发送按键(Enter、Escape、方向键等) |
browser_scroll |
上下滚动或跳到页顶/页底 |
browser_screenshot |
保存页面 PNG(桌面版),再配合读图工具查看 |
每次调用仍受 DSH 常规模型工具审批规则约束;browser_evaluate 会在你打开的页面里执行任意 JavaScript,需把返回内容当数据处理。
工作原理与运行环境差异¶
插件拆成两半协作:
- Host(
index.js):在 Harness Web 服务上注册browser_*工具,并提供同源路由/browser-bridge/*。 - Client(
client.js):运行在 GUI 页面,查找 Sidebar 浏览器 frame([data-sidebar-browser-frame]),轮询命令、在 frame 上执行并回传结果。
桌面版(Electron):Sidebar 为 <webview>,可 executeJavaScript、读 URL/标题、截图;跨域页面也可读写与脚本化。若数值回传通道异常,client 会通过页面 <title> 通道自动中继结果。
Web 版(普通浏览器打开 GUI):Sidebar 为沙箱 <iframe>。跨源页面无法读取或脚本化,这是浏览器安全边界,插件无法绕过。同源页面(例如挂在 GUI 主机后的本地 dev server)可完整使用;打开 URL 与导航在两种环境下均可用。
中文 README 还提到 v2.1.0 起桥接路由置于 DSH connection 防护栏之后(Host 绑定 loopback、Origin 检查、浏览器登录 cookie),命令 ID 使用随机 token,title 通道带 per-command nonce,以降低 DNS rebinding、跨站调用与伪造页面的风险。
安装与启用¶
推荐从 npm 安装,无需 git:
plugin_manager install_bundle @alvinlui-hk/dsh-browser-bridge
已安装 git 时也可从仓库安装:
plugin_manager install_bundle https://github.com/alvinlui-hk/dsh-browser-bridge.git
既无 git 也无 npm 时,可下载 GitHub Release 附带的 .tgz,再执行:
plugin_manager install_bundle <release 中 .tgz 资源的 URL>
或下载源码 ZIP,解压后用解压目录的绝对路径执行 plugin_manager install_bundle。
经插件市场索引(实验性 Discover):先在 Settings → Plugins 启用官方可选包「Plugin Market / 插件市場」,再添加索引 URL:
https://raw.githubusercontent.com/alvinlui-hk/dsh-plugin-index/main/index.json
索引会安装 npm 包 @alvinlui-hk/dsh-browser-bridge,更新时可能显示 update-available。
安装或更新后若桥接未连上,可将插件条目先关再开(set_plugin include:browser-bridge false → true),仍无效则刷新 GUI(F5)。若出现 ERR_PNPM_EPERM ... rename ...dsh-browser-bridge,README 建议先 remove_bundle,再删除 profile 下残留的 node_modules\@alvinlui-hk\dsh-browser-bridge 目录或 junction 后重装。
典型用法(可复现流程)¶
文档未给出固定「一键脚本」,但可按工具能力自行编排。常见顺序如下:
- 用
browser_status确认 Sidebar 里有哪些标签、哪一页readable。 - 需要新页时用
browser_open打开 URL。 - 读内容用
browser_read;要从 DOM 取结构化数据时用browser_evaluate。 - 表单或按钮操作用
browser_click、browser_type、browser_press、browser_scroll组合。 - 桌面版需要视觉确认时,先
browser_screenshot,再用 Harness 读图能力查看 PNG。
在 Web + 跨域站点 场景下,第 3、4 步对目标站可能失败,应改用桌面版,或只操作与 GUI 同源的页面。
适用场景与注意¶
适合:需要在 DSH 对话旁同步浏览、并让智能体基于「你正在看的页面」做提取、轻量自动化或验收(内网控制台、已登录 SaaS、本地文档站点等)。桌面版适合跨域读写与截图;Web 版适合同源 dev 页面或仅需导航打开链接。
安全与权限:桥接仅接受 GUI 页面发起的同源请求,POST 须为 application/json。插件以当前 DSH 进程与 GUI 用户环境运行;安装前应查看 GitHub 仓库 源码与 MIT 许可。不要把未经验证的工具输出直接当作可执行指令。
社区目录站点与 DeepSeek / 幻方无官方从属关系,插件归属维护者仓库与 npm 包,不是「官方应用商店」内置能力。
结尾¶
dsh-browser-bridge 把右侧 Sidebar 浏览器变成智能体可编排的「现场网页」:一组 browser_* 覆盖列表、打开、阅读、脚本、交互与(桌面版)截图。选型时先分清 Desktop 与 Web 下跨域限制,再按 README 安装并处理桥接连接问题即可。
- 目录页:https://www.skillhub.cn/plugins/alvinlui-hk/dsh-browser-bridge
- GitHub:https://github.com/alvinlui-hk/dsh-browser-bridge