Repository navigation
Releases
v1.0.1 — fix: CDP 路径静默失败
修了什么
currentCdpTarget / cdpClick / cdpType 是模块级函数,而 bridge 实例在 apply() 里用 const 声明 —— 它们够不着。
于是 CDP 路径每次都抛 ReferenceError: bridge is not defined,被 catch 吞掉后静默回退到渲染层路径。表现是「能点,但不是真实 CDP 事件」,返回值里只留一个 cdpError: "bridge is not defined"。
修法:把 bridge 提为模块级 let,在 apply() 里赋值。
怎么发现的:在内置浏览器里按 ref 点击时,读返回值看到 cdpError 字段 —— 不是靠猜,是靠工具自己报出来。
影响
| 之前 | 现在 |
|---|---|
| 点击/输入走合成事件 | CDP 真实事件(isTrusted: true) |
| hover 类菜单不可靠 | 可靠 |
engine 显示 renderer-dom |
cdp-input |
升级
github:hermes-ai-2026/dsh-browser-agent#v1.0.1
装完重启 DSH(宿主半不热重载)。
测试:verify-e2e 53 项 + verify-guard 7 项,全绿。
v1.0.0 — 19 browser_* tools for DSH's built-in browser
dsh-browser-agent v1.0.0
给 DeepSeek Harness 的 agent 一个真正能用的浏览器 —— 就用 DSH 右侧侧边栏那个。
DSH 自带那个浏览器只给人用:官方 bundle 只注册了一个 UI 页签,宿主半是一行空 apply() {}。
本插件以非侵入式加装的方式补上 agent 动作面 —— 不改 app.asar、不动应用签名、无额外安装步骤。
安装
github:hermes-ai-2026/dsh-browser-agent#v1.0.0
DSH → 插件 → 添加插件 → 填上面这行 → 安装 → 立即启用 → 重启 DSH。
19 个工具
| 能力 | 工具 |
|---|---|
| 读取 | browser_read(ax 语义树带稳定 ref / text / html / links / dom) |
| 操作 | browser_click browser_type browser_scroll browser_press |
| 证据 | browser_screenshot(full 整页 / clip 区域) browser_assets |
| 导航 | browser_open browser_history browser_tabs |
| 网络 | browser_network browser_policy(mock / redirect / block / header 拦截改写) |
| 会话 | browser_cookies(含 httpOnly,登录跨重启保留) |
| 高级 | browser_inject(document-start 注入) browser_viewport(8 种设备预设) browser_instance(多开) browser_cdp(任意 CDP) |
| 兜底 | browser_eval browser_status(含能力矩阵) |
设计要点
- 零运行时依赖 —— 只用 Node 内置模块 + 自带的一个 CDP 客户端
- 常驻系统提示段 —— 写进系统提示词,新会话不会忘记调用
- 虚拟鼠标 —— 操作时页面里出现指针 + 蓝色光环,用户看得见 agent 在点哪里
- 独立 CLI —— 零依赖,17 个子命令,每个动作后自动回报页面状态
- 能力矩阵 ——
browser_status逐项报告每类能力走哪条路径,不让你猜
已验证的边界(不假装能做到)
| 边界 | 原因 |
|---|---|
| 真正的代理服务器 | CDP 无此域 |
| 权限授予 | webview 在 partition 的独立 BrowserContext,CDP 看不到 |
browser_press 窗口失焦时 |
无 OS 级键盘焦点时 CDP 键盘事件被丢弃 |
测试
verify-e2e 53 项 + verify-guard 7 项 + verify-prompt,全绿。
可选:CDP 调试端口
核心能力不需要任何启动参数。以下能力需要 --remote-debugging-port=9222:
browser_cdp · browser_press · 原生截图 · browser_policy · browser_cookies · browser_inject · 设备预设。
没开也能用,browser_status 会告诉你哪些走了降级路径。
安全提醒:调试端口一开,本机任何进程都能完全控制 DSH。只在需要时开。
MIT License