dsh-browser-kit
DSH(DeepSeek Harness)内置浏览器增强插件:元素批注 · 截图回传 · Agent 浏览器自动化 · 自持浏览器窗口 · WebHID 直连桥
让 DSH 桌面端的内置浏览器从"能看网页"变成能与 Agent 协作的工作台:你在页面上点选元素留意见, Agent 收到成对的「意见 → 元素」并能直接读页面、点按钮、填表单、截图、等状态;Agent 还能开自己的 浏览器窗口干活,不占你的会话、不碰你的窗口。
- 状态:可用(
dsh-browser-kit@0.2.0,适配 DSH0.2.1-rc.2,含 0.2.2 右键菜单/设置页接入) - 依赖:仅
node-hid(HID 桥按需加载,未安装不影响其它能力)· Node ≥ 22 · DSH ≥0.2.0-rc.2<0.3.0-0 - 许可:Apache-2.0(移植来源见 NOTICE.md)
能力
| 能力 | 一句话 |
|---|---|
| 元素批注(核心差异点) | 批注态连续点选元素、就地钉编号填意见;提交后每条都是「意见 → 元素信息」的明确配对,随消息进入 Agent 上下文 |
| 右键菜单入口(0.2.2) | 助手消息里的链接 / 图片右键即可「在自持浏览器打开」「批注这条」 |
| 截图回传 | 一键截图落盘 + 工具卡内联出图,可写剪贴板 / 插输入框 |
| Agent 浏览器自动化 | 28 个 browser_* 工具:读结构、点/输/按/滚、等条件、读状态、改存储、传文件、页内求值 |
| 可信输入 | 走 Chromium 级真事件(isTrusted === true),React 受控组件与反自动化检测都认 |
| 自持浏览器窗口 | 独立窗口:登录态复用、分辨率预设、25%–500% 缩放、默认小窗静默、空闲自动让给你 |
| 会话隔离 / 共享登录态 | 自动化只作用于本会话;同登录态多窗口协作,批注编号可跨窗口延续 |
| WebHID 直连桥 | 补 DSH 缺失的 select-hid-device,页面零修改拿到 navigator.hid |
| 设备观测 / 控制台 | 抓 HID/Serial/USB 收发;页内观察器补 DevTools console/网络流 |
| 账号管理 / 插件管理卡 | 「钥匙」面板数据只存本机、不进 Agent 上下文;插件列表显示批注/截图占用 |
完整功能清单、27 个工具分组、Agent 自动注入的那句话、设计约束见 docs/overview.md。
安装
# 推荐:从公开仓库安装(web 换成你的 profile 名)
dsh plugin --profile web add github:Shuffle-1992/dsh-browser-kit
# 源码在本机时(开发用)
dsh plugin --profile web add "F:\My Code\dsh-browser-kit"
插件是 Cordis bundle(package.json 声明 dsh.bundle.patch = plugin/cordis.patch.yml)。
安装后自检:① 浏览器面板工具栏出现 尺寸/截图/批注/钥匙/自持 五个图标;② 点「批注」可在页面上点选元素留意见;
③ 点「钥匙」看到账号面板;④ 让 Agent 跑一次 browser_snapshot 能返回元素清单。
文档
| 你想了解 | 文档 |
|---|---|
| 功能总览、工具分组、自检、设计约束 | docs/overview.md |
| 每项能力的设计动机与边界 | docs/feature-reference.md |
| 工具调用硬性规范(Agent 必读) | docs/tool-usage-rules.md |
| 开发开工指引 / 目录结构与分层 | docs/dev-onboarding.md、docs/repo-structure.md |
| 真机踩坑记录 P1–P116(最值钱的一份) | pitfalls.md |
| 0.2.2 右键菜单与设置页接入 | docs/compat-0.2.2-context-menu.md |
| DSH 扩展点契约实测 / 版本增量 | docs/api-scout.md、docs/ver-delta-0.2.1-rc.2.md |
| 安全审查与修复台账 | docs/项目全面审查报告-2026-10-27.md、docs/审查修复记录-2026-10-27.md |
许可
Apache-2.0,见 LICENSE。元素批注协议与批注器移植自 ZCode(Copyright 2026 Z.AI Co., Ltd,同 Apache-2.0),归属见 NOTICE.md。
No comments yet. Be the first to write one.