dsh-browser
Shared real browser capability for DeepSeek Harness: a visible browser the human watches and can take over, driven by the agent over CDP (snapshot/execute/content/tab management); host-side seam, provider, and browser_* tools
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wqty123/dsh-browser说明文档
阅读完整 README ↗dsh-browser(DeepSeek Harness 共享真实浏览器插件)
English | 中文
面向 DeepSeek Harness 的共享真实浏览器能力插件:一个用户可见、可随时接管的浏览器,由 agent 通过 CDP 驱动。
本插件提供 host 侧能力(浏览器 seam、Electron CDP provider、browser_* 模型工具)。浏览器本身的原生视图由宿主(桌面外壳)通过 ctx.electronViewHost 提供;插件不包含浏览器界面 UI。
功能
- 真实视图,而非转播。 浏览器是原生视图(
WebContentsView),用户可直接看到并操作;agent 驱动的是同一个页面。视图由宿主外壳提供,插件负责驱动。 - DOM 引用,而非猜坐标。
browser_snapshot返回带编号的交互元素;browser_execute在页面里执行 JS(框架输入用原生 setter),在 React/Vue 页面上也能可靠交互。 - 多标签会话。 并行打开 URL、查看/切换/关闭/重置标签,状态保持。
- 多格式内容。 以 html / markdown / txt / json 抓取页面,支持 selector 限定、长度与超时上限。
环境要求
- DeepSeek Harness(dsh)且安装了
webprofile - 提供
ctx.electronViewHost的宿主(持有真实 ElectronWebContentsView的主机,如 dsh 的桌面外壳)。没有它时,插件只挂载 seam,provider 与工具保持禁用——纯dsh web不受影响。
安装
dsh plugin --profile web add dsh-browser # 发布到 npm 后
# 或从源码目录(独立仓库,一插件一仓库):
dsh plugin --profile web add
这会链接插件、把 dsh-browser 加入 profile 的 bundle 层,并挂载:
| 行 | 子路径 | 角色 |
|---|---|---|
browser | dsh-browser/browser | ctx.browser 能力 seam(始终挂载) |
browser-electron | dsh-browser/browser-electron | Electron CDP provider(需要 electronViewHost) |
tool-browser | dsh-browser/tool-browser | browser_* 模型侧工具 |
provider 与工具以 ctx.get('electronViewHost') 是否存在为门控,因此没有桌面外壳的组合只会保留 seam,其余不启用。
配置
插件通过 cordis.patch.yml 挂载,各行的配置:
| 行 | 配置项 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
browser-electron |