插件目录 / Developer / dsh-browser-plus
dsh-browser-plus
已验证 · 实测可装 ParticleLight
功能简介
Enhanced shared browser for DeepSeek Harness: visible + AI-driven WebContentsView, ego-style page chrome, operation trail, JS dialog auto-accept, per-task windows & spaces, Electron 42.x pinned
可用 — 实测通过,早期项目
Enhanced shared browser for DeepSeek Harness: visible + AI-driven WebContentsView, ego-style page chrome, operation trail, JS dialog auto-accept, per-task windows & spaces, Electron 42.x pinned 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-browser-plus
专为 DeepSeek Harness(DSH)打造的 EGO 风格可视化 Agent 浏览器。基于 dsh-browser 构建,支持人机协同操作:用户可以在真实页面中操作,Agent 也能同步执行、接管和恢复任务。浏览器支持多任务流并行管理与切换,并完整记录 Agent 的操作轨迹;任务流和操作轨迹均配备独立的可视化菜单面板,让任务状态、页面缩略图与操作过程一目了然。
基于 MIT 许可的 dsh-browser 代码基础持续开发,并由 ParticleLight 独立维护。
为何使用它
浏览器自动化不应躲在用户看不见的进程里。dsh-browser-plus 把浏览器窗口留在用户眼前,同时让 agent 获得可靠的 CDP 操作能力。
- 真实可见:Electron
WebContentsView,不是 headless relay。 - 任务隔离:所有 DSH session 共享一个可见窗口,但各自保留隔离的任务视图、标签与历史;页面任务管理器切换可见视图,
browser_space命名浏览器任务。 - 人机协作:工具栏默认隐入页面上方,顶部中间悬停后可展开;书签、任务工作区与操作轨迹都在真实页面上运行,用户可在工具栏最右侧接管或显式交还给 Agent。
- 玻璃工作区:任务与操作轨迹是彼此独立的半透明玻璃面板,可同时打开;每项任务显示执行中、等待用户、用户接管、失败或空闲状态。缩略图仅在任务面板打开时为当前可见任务按需刷新,后台任务保留最后图像。

- 真实输入:键盘、鼠标、hover、双击和文件选择都走 CDP,而不是
element.click()伪事件。 - 恢复能力:child 回收后会重新物化相同会话的视图;恢复后的首张截图等待 compositor 稳定。
- 稳定基线:固定 Electron 42.9.3;43.4.1 的 compositor 故障会被 resolver 拒绝。
安装
dsh plugin --profile web add github:ParticleLight/dsh-browser-plus
已有浏览器 bundle 时,先阅读迁移指南,然后重启 DSH Web。
主要能力
| 场景 | 工具 |
|---|---|
| 打开与读取 | browser_open、browser_snapshot、browser_content、browser_screenshot |
| 语义导航 | browser_back、browser_forward、browser_reload、browser_stop、browser_scroll |
| 快照引用 | browser_click_ref、browser_scroll_into_view |
| 页面交互 | browser_click、browser_press_key、browser_double_click、browser_hover、browser_type |
| 表单与文件 | browser_fill、browser_upload_file、browser_wait_for |
| 任务与交接 | browser_tasks、browser_handoff、browser_list_tabs、browser_switch_tab、browser_close_tab、browser_space |
| 登录与恢复 | browser_auth、browser_reset_session、browser_history |
快照返回短生命周期的 snapshotId 与元素引用;优先用 browser_click_ref 或 browser_scroll_into_view 操作,页面变化后重新快照。页面级脚本会自动过滤浏览器自身 chrome。
工作方式
browser_* tools
-> BrowserRuntime (ctx.browser seam)
-> ElectronBrowserProvider (CDP)
-> RemoteElectronViewHost (loopback JSON-RPC)
-> host-main.js (BrowserWindow + WebContentsView)
页面 chrome 和任务管理器通过 closed Shadow DOM 注入,而不是第二个 Electron view;任务状态与轨迹以版本化增量消息同步,后台任务更新自己的隔离视图,不会抢走用户当前可见页面。
alert、confirm、prompt 会自动接受,避免页面卡死;下一次页面操作会把详情记到 browser_history 的 dialog 条目。
可靠性规则
- 不 reparent 可见
WebContentsView。 - CDP capture 回退只临时处理同一窗口的 sibling,并保证恢复。
- child 恢复后,native 和 full-page capture 都只等待一次 compositor settle。
- 对话框、截图、动态等待和 child recovery 均有回归测试与真实 SOAK 覆盖。
完整运行时检查见 SOAK-CHECKLIST。
开发
npm install
npm run build
npm test
npm run smoke:electron-host # 需要本地 DSH Web 已启动;验证真实 Electron Host 导航与页面交接
贡献方式见 CONTRIBUTING.md。更完整的使用说明在 docs。
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-browser-plus」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:ParticleLight/dsh-browser-plus Headless(CLI)profile:
dsh plugin --profile headless add github:ParticleLight/dsh-browser-plus 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。