caob23/dsh-browser-control ↗★ 27
@caob23/dsh-browser-control
Local WebSocket bridge between dsh and the DSH Browser Control browser extension, with model-facing browser_* tools and a Settings-managed on/off switch 适合需要让DSH Agent执行自动化网页浏览和标签页控制任务的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:caob23/dsh-browser-controlREADME
Read the full README ↗使用
- 装好即默认开启(v1.0.6+),不需要手动启用
- Chrome 扩展自动连接(端口 9777,Token 默认 dsh-local)
- 对话说自然语言,Agent 自动操控浏览器
「设置 → 插件」里有没有这张卡片,取决于宿主版本(issue #5)
npm 发布的 bundle 只含宿主侧 lib/index.js,没有浏览器端模块,所以卡片不是插件自己画的:
| 宿主 | 设置页 | 改配置的办法 |
|---|---|---|
| dsh 0.1.7+ / 0.2.x(dsh-settings 0.1.7-rc.2 起) | 有——宿主按插件自身 Config schema 自动投影出这一节 | 设置页,或 profile 覆盖层 |
| dsh 0.1.2 及更早 | 没有条目(没有客户端半区认领命名空间,宿主就不渲染) | 只能改 profile 覆盖层 $DSH_HOME/profiles//cordis.patch.yml |
两边都能改的就是配置文件,写法见 dsh-config/README.md。
访问 http://127.0.0.1:9777/ 查看连接状态。
agent 开的标签长什么样(自动归进 DSH 分组)
Agent 新建的标签页会自动收进当前窗口的一个 DSH 蓝色标签分组里(每个窗口一组),所以你扫一眼就知道哪些页面是机器开的、哪些是自己开的,事后也能一把清掉:
browser_tabsaction: "ungroup"拆掉本窗口的组(带windowId只拆那一个窗口,不带则所有窗口)——只拆标签归属,不关标签。browser_tabsaction: "open"加group: false可以显式让新标签留在组外;action: "group"能把早就存在的散标签拉进来。- 归组是锦上添花:Chrome 版本太旧、权限没给、或刚建标签就被用户拖动导致失败时,开标签本身照常成功,结果里带
grouped: false和原因。分组动作不改页面内容,重试安全。
用脚本直连 HTTP(curl 等)
/api/command 与 /api/cleanup 现在要求 Token,用的就是扩展连 WS 时那个值:
curl -X POST http://127.0.0.1:9777/api/command \
-H 'Authorization: Bearer ' \
-H 'Content-Type: application/json' \
-d '{"command":"nav","params":{"url":"https://example.com"}}'
也可以写 ?token= 或 X-Token: 。不带、或带错,一律 401;/ 与 /api/status 仍是免鉴权的只读信息。之前「不带 Token 也能调通命令面」的行为已经失效(issue #3 / #6)。状态页上的清理按钮会要求你把 Token 输一次,只记在浏览器会话里。