dsh-screenshot-diff

by pangyiming

1 视觉与多模态github收录于 08-23

DSH plugin: pixel-diff two screenshots into diff.png + triptych (pixelmatch) — 像

安装

dsh plugin --profile web add github:pangyiming/dsh-screenshot-diff

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DeepSeek Harness 插件 · 像素对比 / DSH plugin for pixel-diffing screenshots

对两张已截图做像素 diff,输出 diff.png(差异标红)和 compare-triple.png(左 A / 中 B / 右 diff 三联图,各自左上角带标签)。不做截图采集——输入是你已有的两张图。

Pixel-diff two existing screenshots into diff.png (differences in red) plus a labeled triptych compare-triple.png (A | B | diff). It does not capture screenshots — you supply the two images.

使用 Usage

bash scripts/diff.sh /abs/path/imgA.png /abs/path/imgB.png \
  --label-a before \
  --label-b after \
  --sensitivity high \
  --out /tmp/diff-out
参数 说明
--out DIR 输出目录,默认第一张图所在目录
--label-a/--label-b TEXT 左右图标签,默认 a / b
--sensitivity LEVEL normal(灰度+阈值0.1+忽略抗锯齿,稳)/ high(彩色+阈值0.02+计入抗锯齿)/ ultra(阈值0.01,最灵敏、噪点多)
--threshold N pixelmatch 阈值,显式传入覆盖灵敏度预设
--crop-top PX 两图同时裁掉顶部物理像素
--compare-tool DIR sharp/pngjs/pixelmatch 依赖目录,或设 COMPARE_TOOL_ENV

依赖自动发现:--compare-tool > COMPARE_TOOL_ENV > 仓库内 scripts/compare-tool。依赖为 sharp / pngjs / pixelmatch。

输出 Output

<out>/diff.png            差异标红([255,0,0])
<out>/compare-triple.png  三联图:左 A | 中 B | 右 diff <相似度>

stdout 输出 JSON:similarity、numDiffPixels、total、sensitivity、threshold。

判读 Judgment

  • 相似度 ≠ 结论:90% 以上的"大体一致"也要人工看 diff 区是否集中在应改位置。
  • 先用 normal 跑一版;要抓淡灰/白渐变这类低对比差异再升 high;ultra 噪点最多,慎用。
  • 尺寸不一致直接失败,不会被拉伸掩盖布局问题——这是刻意设计。
  • 两张图必须同一视口/分辨率、同一页面状态(滚动位置、弹窗、加载态),否则 diff 无意义。

安装 Install

# 发布到 npm 后
dsh plugin --profile demo add dsh-screenshot-diff

# 或从 GitHub 安装
dsh plugin --profile demo add github:PangYiMing/dsh-screenshot-diff

许可证 License

MIT

原始 README: https://github.com/PangYiMing/dsh-screenshot-diff/blob/main/README.md ↗