🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

CDP 浏览器控制 zaiwenJ/dsh-cdp-browser

DeepSeek Harness
zaiwenJ80 天前有提交已提供中文文档扫描:含敏感能力

零进程启动浏览器,截图并做像素级断言验证

27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zaiwenJ/dsh-cdp-browser
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · vision
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 写入本地文件
    dsh/index.js:222
    await mkdir(dirname(args.reportPath), { recursive: true })
  • 写入本地文件
    dsh/index.js:223
    await writeFile(args.reportPath, JSON.stringify(report, null, 2))
  • 发起网络请求
    dsh/cdp.js:25
    res = await fetch(url, { ...init, signal })
  • 写入本地文件
    dsh/cdp.js:422
    await mkdir(dirname(p), { recursive: true })
  • 写入本地文件
    dsh/cdp.js:423
    await writeFile(p, buf)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 零进程启动浏览器
  • 截图与像素级断言
  • 执行页面JS

零启动 CDP 浏览器控制插件,给 DeepSeek Harness 用:截图、像素断言、页面 JS——不用视觉模型,不用每次批准

README

由 DeepSeek 最新模型翻译生成
dsh-cdp-browser 零进程启动的浏览器自动化 + 像素级视觉验证,作为 DeepSeek Harness 插件。仅使用 Node 内置模块,通过 CDP 驱动已在运行的 Chrome/Edge:全局 fetch + 全局 WebSocket(Node ≥ 22)+ zlib PNG 解码。无需 child_process,无 npm 依赖,无需每次使用审批。 为什么零进程启动 那些启动引擎并通过管道传输其 stdio 的插件(例如 modlens)在每次调用时都会与 harness 沙箱的管道禁令(EPERM/EINVAL)冲突。连接到用户自己启动的浏览器是普通的网络 I/O —— 在受限模式下是允许的。唯一的手动步骤(启动浏览器)发生在 harness 之外,因此模型在进行视觉检查时再也不需要审批。 设置(一次性) 1. 安装到配置文件中(通过 dsh plugin --profile web add file: 完成)。 2. 使用 CDP 启动浏览器(提供的 edge-debug.cmd 可完成此操作): msedge.exe --remote-debugging-port=9222 --remote-allow-origins=* --user-data-dir= 3. 重启 Web GUI。cdp_* 工具会在下一个会话中出现。
展开完整文档(README 剩余 1 节)
dsh-cdp-browser

零进程启动的浏览器自动化 + 像素级视觉验证,作为 DeepSeek Harness 插件。仅使用 Node 内置模块,通过 CDP 驱动已在运行的 Chrome/Edge:全局 fetch + 全局 WebSocket(Node ≥ 22)+ zlib PNG 解码。无需 child_process,无 npm 依赖,无需每次使用审批。

为什么零进程启动

那些启动引擎并通过管道传输其 stdio 的插件(例如 modlens)在每次调用时都会与 harness 沙箱的管道禁令(EPERM/EINVAL)冲突。连接到用户自己启动的浏览器是普通的网络 I/O —— 在受限模式下是允许的。唯一的手动步骤(启动浏览器)发生在 harness 之外,因此模型在进行视觉检查时再也不需要审批。

设置(一次性)

1. 安装到配置文件中(通过 dsh plugin --profile web add file: 完成)。
2. 使用 CDP 启动浏览器(提供的 edge-debug.cmd 可完成此操作):

msedge.exe --remote-debugging-port=9222 --remote-allow-origins=* --user-data-dir=

3. 重启 Web GUI。cdp_* 工具会在下一个会话中出现。

工具

| 工具 | 功能 |
| cdp_status | 列出 CDP 浏览器的标签页/目标 + 浏览器版本 |
| cdp_open | 为某个 url 打开(或复用)一个标签页;返回目标 id |
| cdp_eval | 在页面中执行 JS(awaitPromise、returnByValue) |
| cdp_shot | 导航 + PNG 截图,保存到绝对路径 |
| cdp_assert | 脚本化交互 + 确定性检查(pixel / css / dom / js),并生成通过/失败报告 |

cdp_assert 检查形态

checks: [
{ type: 'pixel', x: 0.5, y: 0.96, color: '#245edb', tolerance: 16 }, // 相对坐标 0..1 或绝对像素 { type: 'css', selector: '#taskbar', property: 'background-color', equals: 'rgb(36, 94, 219)' }, { type: 'css', selector: '.xp-window', property: 'border-radius', matches: '^\\d+px' }, { type: 'dom', selector: '.xp-desk-icon', text: 'My Computer' }, { type: 'js', expression: 'window.__XP.selfTest()', equals: { ok: true } }, ] // 每个检查都接受 click: '#start-btn' | { selector } | { x, y } 和 waitMs

开发

node plugins/dsh-cdp-browser/test/e2e.mjs # 需要开发服务器 + CDP Edge,不启动任何东西

确定性注意事项(从 XP 应用的第一个插件 e2e 中学到):

- 每次测试运行都重新加载页面。 长期存在的标签页会在脚本化扫描(窗口、对话框、菜单)中累积状态,并可能卡住 openApp;每个测试套件使用全新的 navigate + skipBoot 是确定性的。当某个应用出现回归时,probe-apps.mjs 会逐个二分定位每个应用的挂起问题。
- 合成点击会切换状态。 el.click() 会运行真实的事件处理器 —— 点击一个切换开关两次会翻转两次。每个断言只点击一次。
- 渐变表面需要感知色标的采样。 在某个渐变色标占主导的位置(平坦区域或边缘)采样,而不是在渐变中间混合处采样,或者针对计算样式值使用感知容差的 nearColor。

该包暴露了 ./cdp(targets、openTarget、withPage、Cdp, decodePng、samplePixel、nearColor、runChecks、savePng)以便在测试框架之外复用
预览分享卡片长什么样 ↓zaiwenJ/dsh-cdp-browser
分享 · DeepSeek Harness Hub
zaiwenJ/dsh-cdp-browser

零进程启动浏览器,截图并做像素级断言验证

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部