dsh-plugin-chrome

DSH PLUGIN视觉与多模态

仓库 jiaererw/dsh-plugin-chrome · npm dsh-plugin-chrome

视觉与多模态 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 浏览器可视化工具:为每个会话打开真实可见的 Chrome 窗口,提供 16 个 chrome_* 工具,并在 Web GUI 实时显示画面,支持随时手动接管。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 7 复刻 4 · 未关闭 issue 2
最近更新 2026-08-25 创建于 2026-08-20
README 8.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:jiaererw/dsh-plugin-chrome
兼容 DSH 版本0.2.0-rc.2 等 10 个版本版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.1、@deepseek-ai/dsh-attachment@^0.1.0-rc.7 等 4 个需要同时安装的同级依赖
npm 包名dsh-plugin-chrome可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-plugin-chrome:DeepSeek Harness 的浏览器可视化 DSH plugin,让智能体操作实时可见

  • 每会话独立可见窗口
  • 16 个 chrome_* 工具
  • Web GUI 实时画面
  • 可随时手动接管
  • 截图历史与元数据

适用场景

视觉识别联网搜索

上游标签

dsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方jiaererw仓库 dsh-plugin-chrome · 默认分支 master
分类视觉与多模态vision
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue7 / 4 / 2收录时的数值,非实时
创建 / 更新2026-08-20 · 2026-08-25最后推送 2026-08-25
本站收录2026-08-27首次进入本站目录的时间

README 全文

8.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-chrome

> DeepSeek Harness 浏览器可视化插件:为每个会话打开一个真实可见的 Chrome 窗口,Agent 通过 chrome_* 工具集操作浏览器,你在 Web GUI 的「Chrome」标签页里实时观看画面流,随时可以手动接管。


English

目录

特性

  • 独立可见窗口:每个 DSH 会话拥有一个独立 Chrome 窗口(真实窗口、非 headless),用户在旁边就能看到 Agent 的每一步操作;窗口使用隔离的 user-data-dir,与你的日常浏览器互不干扰。
  • 实时画面流:Web GUI「Chrome」标签页通过 Chrome screencast 实时显示页面画面(页面活跃时秒级流畅);页面静止时由心跳兜底强制截帧(约 2 秒一帧:3 秒无真实帧即触发),画面不会冻结。
  • 完整的 Agent 工具集(16 个工具):chrome_open / chrome_status / chrome_close / chrome_navigate / chrome_tabs / chrome_snapshot / chrome_screenshot / chrome_click / chrome_click_at / chrome_fill / chrome_type / chrome_press_key / chrome_hover / chrome_scroll / chrome_evaluate / chrome_wait。其中 chrome_tabs 支持 list / new / close / select;快照、截图与点击始终作用于「当前选中」的标签页。
  • 无障碍树快照:chrome_snapshot 输出紧凑的 a11y 树 + 稳定元素 uid,点击/填充直接按 uid 定位,比裸 DOM 省 token、抗脆弱选择器。
  • 截图双通道:chrome_screenshot 的图片既进模型上下文(图片块),也保存到会话截图目录并展示在面板里;历史记录带标题/URL/尺寸元数据,重启后仍在。(会话用纯文本模型?请看常见问题。)
  • 安全设计:CDP 不暴露固定端口;Web API 拒绝跨站请求(Sec-Fetch-Site)+ sessionId 白名单校验;浏览器数据按会话隔离。
  • 资源治理:空闲自动关闭(默认 10 分钟,可配置),chrome_close 显式关闭,插件卸载/宿主退出时全部收尾。

安装

> 前置:已安装 DeepSeek Harness(DSH),本机装有 Chrome 或 Edge。

# 方式一:从 GitHub 安装(推荐)
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jiaererw/dsh-plugin-chrome

# 方式二:本地路径(开发调试)
npx -p @deepseek-ai/dsh dsh plugin --profile web add D:/harness/dsh-plugin-chrome

安装后重启 DSH,Web GUI 的会话顶部会出现「Chrome」标签页。

> 若你的 profile 的 cordis.patch.yml 里还留着早期本地开发时手动挂载的 dsh-plugin-chrome 行,请先删掉再走 CLI 安装,避免双挂载(两个 host 半、两个 Chrome 管理器)。

使用

给 Agent 用(工具)

安装后 Agent 自动获得 chrome_* 工具集。直接对 Agent 说:

> 打开 Chrome,访问 https://example.com,截个图,然后点页面里的「登录」按钮并填写用户名。

Agent 会:chrome_open → chrome_navigate → chrome_screenshot(看图)→ chrome_snapshot(拿 uid)→ chrome_click / chrome_fill。

给你看(可视化)

  1. 打开会话顶部的「Chrome」标签页:
    - 实时画面:Live 视图持续显示 Chrome 窗口画面。页面有活动时走 Chrome 原生 screencast 帧流(秒级流畅);页面静止时由心跳兜底强制截帧(约 2 秒一帧),画面不会冻结。
    - 标签页管理:右侧列表新建/切换/关闭标签页,与窗口同步。
    - 手动接管:你随时可以在 Chrome 窗口里自己点几下——Agent 的下一次工具调用会看到你的改动。
  2. 截图历史:每次 chrome_screenshot 的产物都在「截图历史」里,点击缩略图放大。

窗口生命周期与容错

  • 惰性启动:首次调用任意 chrome_* 工具(或点击面板「打开窗口」)时才拉起 Chrome。
  • 接管遗留实例:若 DSH 进程异常退出留下了孤儿 Chrome(profile 被锁),插件下次启动会通过 DevToolsActivePort 自动连接并接管该窗口(借鉴 chrome-devtools-mcp 的 autoConnect 机制),而不是报错。
  • 空闲回收:窗口空闲超过 idleTimeoutMs(默认 10 分钟)自动关闭;有 Web UI 观看实时画面时不回收。
  • 无可用标签页时自动补页:所有操作都会先确保存在一个可用的普通标签页,避免「窗口开着但全是 chrome:// 内部页」时的死锁。

配置

在 profile 的 cordis.patch.yml 中覆盖插件行配置(整段 config 替换):

- id: dsh-plugin-chrome
config:
headless: false            # 保持 false:可见窗口是本插件的核心
executablePath: ''         # 留空自动探测 Chrome/Edge;也可指定绝对路径
idleTimeoutMs: 600000      # 空闲自动关闭(0=禁用)
windowWidth: 1280
windowHeight: 900
screencastFrameSkip: 4     # 实时画面抽帧(1=最流畅)
screencastQuality: 70      # JPEG 质量 1-100
maxSnapshotText: 60000     # 单次快照最大字符数
maxTabs: 16
extraArgs: ''              # 追加的 Chrome 启动参数

数据目录(浏览器配置与截图):~/.dsh/data/dsh-plugin-chrome/sessions//(可用 dataRoot 覆盖)。

常见问题

  • 点开 Chrome 标签页没画面:确认窗口已运行(面板顶部状态点);首次打开可能需数秒启动 Chrome。静止页面由心跳兜底刷新(约 2 秒一帧,3 秒无真实帧即触发),有内容变化时帧率自动提升。
  • Agent 报"未知元素 uid":页面已变化,让它重新 chrome_snapshot。
  • 窗口被我自己关了:面板状态会显示"窗口未打开",下次任意 chrome_* 工具调用或点击「打开窗口」即可重启。
  • 登录态问题:每个会话的浏览器是独立 profile,登录态不复用日常浏览器;这是隔离设计,如需登录某网站请让 Agent 完成一次登录(session 期间保持)。
  • 杀 DSH 后 Chrome 还开着:孤儿窗口会在下次会话调用时被自动接管,或手动关闭即可;正常关闭 DSH(插件卸载)会连带关闭窗口。
  • 截图后纯文本模型不再回复:chrome_screenshot 会把图片作为图片块写入会话历史。如果当前会话的模型不支持图片输入,之后每一轮请求都会以 UNSUPPORTED_CONTENT: does not accept image input 被整体拒绝,会话不再响应,重试无效。请给会截图的会话使用支持视觉的模型,或避免在其中调用 chrome_screenshot。
  • 安装被 pnpm strict-dep-builds 拦截:在 profile 的 pnpm-workspace.yaml 的 allowBuilds 中加入 dsh-plugin-chrome: true 后重试安装。

开发

npm install
npm run typecheck   # host + client 两个 program
npm test            # vitest 单测
npm run test:e2e    # 真实 Chrome 端到端冒烟(会弹出可见窗口)
npm run build       # lib/index.js + lib/index.d.ts(host)、lib/client.js + lib/client.d.ts(client bundle)
npm run watch       # 开发时持续构建;client 变更经 HMR 热更,host 变更需重启 DSH

架构:host 半(cordis 插件)用 puppeteer-core 驱动本机 Chrome,注册 chrome_* 工具与 /dsh-chrome/* HTTP/WS API;client 半(浏览器 bundle)注册 conversation.view 的「Chrome」标签页,消费 API 与帧流。画面流 = Chrome 原生 screencast(活动页)+ 截图心跳(静止页兜底)。控制层借鉴 chrome-devtools-mcp(CDP 控制、a11y 快照+uid 反查、等待机制、autoConnect 接管)与 mcp-chrome(截图压缩、CDP 坐标输入、会话引用计数)的成熟设计。

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-chrome 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:jiaererw/dsh-plugin-chrome` 即可。对应的 npm 包名是 `dsh-plugin-chrome`。

dsh-plugin-chrome 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-plugin-chrome 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-plugin-chrome 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1、0.1.2-rc.1。版本较多,只列出前 8 个。

dsh-plugin-chrome 需要什么运行环境?

Node.js >=20;需要同时安装 @deepseek-ai/cordis@^4.0.1、@deepseek-ai/dsh-attachment@^0.1.0-rc.7、@deepseek-ai/dsh-tools@^0.1.0-rc.7、react@^18.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-plugin-chrome 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-plugin-chrome 有哪些功能?

每会话独立可见窗口、16 个 chrome_* 工具、Web GUI 实时画面、可随时手动接管、截图历史与元数据。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

视觉与多模态
按星标排序,可作替代方案

open-design

open-design

L4 · 沙盒安装通过 10.0 万 星

awesome-gpt-image-2

awesome-gpt-image-2

GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+ 套工业级模板与可复用 Skills,新增 2.5 同提示词对比

L3 · 安装规范通过 3.4 万 星

PicGo

PicGo

L3 · 安装规范通过 2.7 万 星

iPolloWork

iPolloWork

L4 · 沙盒安装通过 6,775 星

modlens

modlens

ModLens 是 DeepSeek Harness 的视觉插件,为纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面

L5 · 运行验证通过 4,207 星

OpenBiliClaw

OpenBiliClaw

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微

L4 · 沙盒安装通过 3,398 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。