前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的理念,Agent 在没有真实浏览器环境时,往往只能通过文本模拟或片段式调用,难以在页面内连续交互。dsh-sidebar-browser-control 给模型一个真实的 <webview>,并支持快照、点击、输入、滚动与截图,页面内虚拟光标不会移动用户的真实鼠标。
是什么¶
这是一个 DSH 侧边栏 Agent 浏览器插件,由维护者 Dax233 提供。它将一个 Electron <webview> 作为 Agent 的浏览器,通过 Host/Client 双半插件架构,将操作(快照/点击/输入/滚动/截图)封装为 browser(action) 工具。Host 负责 browser 工具注册与本地回环桥接(bridge.js),Client 负责侧边栏 Tab 注册与 webview 操作,并注入页面内虚拟光标供用户观察而不干扰真实指针。
核心能力¶
插件提供 browser(action) 工具,支持以下动作:
| action | arguments | 说明 |
|---|---|---|
open |
url |
打开侧边栏面板并导航到指定 URL |
navigate |
url |
在已打开面板中导航 |
snapshot |
– | 获取页面标题/URL/视口 + 可交互元素及引用(refs) |
click |
ref 或 x,y |
移动虚拟光标、命中测试、派发真实鼠标输入 |
type |
text(可选 ref) |
聚焦指定元素(可选)并输入文本 |
key |
key |
输入 Enter/Tab/Escape/Arrow* |
scroll |
deltaY(可选 ref) |
滚轮输入 |
wait |
ms 或 selector |
等待指定时间或元素 |
status |
– | 返回桥接与客户端状态 |
仅允许 http: / https: 导航。插件不触碰系统指针。
安装与启用¶
从 GitHub 安装:
dsh plugin --profile desktop add github:Dax233/dsh-sidebar-browser-control
安装后重启 DSH Desktop;调用 browser open 会自动打开 Agent Browser 面板。
典型用法¶
在 DSH 脚本中调用 browser 工具:
// 打开页面并获取快照
await browser.open({ url: "https://example.com" });
const snapshot = await browser.snapshot();
// 在页面中点击元素(通过 ref)
await browser.click({ ref: snapshot.elements[0].ref });
// 输入文本到聚焦元素
await browser.type({ text: "Hello", ref: snapshot.elements[1].ref });
// 滚动页面
await browser.scroll({ deltaY: 100 });
// 等待元素出现
await browser.wait({ selector: ".result" });
适用场景与注意¶
适合需要真实浏览器交互能力的 Agent 场景:网页表单填写、自动化测试、页面状态检查等。
注意:插件以当前 DSH 进程权限运行;使用前应检查源码与许可证。
短结尾¶
该插件将真实 <webview> 带入 DSH 侧边栏,为 Agent 提供可观察、可操作的页面环境。更多细节与源码见:
- 技能库目录页:https://www.skillhub.cn/plugins/Dax233/dsh-sidebar-browser-control
- GitHub:https://github.com/Dax233/dsh-sidebar-browser-control