SuperAPI AI 工具集

compare-screenshots

测试与质量

查看项目

更新于 10-15 21:36

技能介绍

用途:判断截图是否匹配预期设计。用户认可的参考图才是目标,历史基线只是早期尝试,可能本身就是错的;指标只用于定位差异,不能决定对错。

主要能力:先确立目标(依据用户认可的参考与设计需求,用一两句具体描述写下来);确认可比性(相同视口、DPR、路由、冻结时间、相机意图、UI 状态、数据与字体资源);生成并排图、关键区域裁剪、灰度图、绝对灰度热力图、pixelmatch 差异、Sobel 边缘图、边缘差异热力图与 JSON 指标;逐边界检查变化效果,记录“参考观察→候选观察→通过/修复/不确定”;对争议或高风险判断可让中立子代理仅凭两张图给出第二意见。

指标:mae、rmse、diffRatio16/32/64、pixelmatchRatio、edgeEnergyCurrent/Candidate、edgeEnergyRatio、edgeDiffRatio32、平均亮度及差值,以及黑/地形/水/队伍色/文字掩码等内容代理。单图指标包括 colorEntropyBits、dominantColorShare、edgeDensity、luminanceContrast、transparentShare,用于判断截图本身是否值得比较。默认距离公式:distance = 0.35diffRatio32 + 0.25pixelmatchRatio + 0.25edgeDiffRatio32 + 0.15min(1, abs(log2(edgeEnergyRatio)))。

使用方式:脚本放在技能或临时工作区,不放进产品代码。运行 scripts/visual-parity-diff.mjs,设置 REFERENCE_DIR、CANDIDATE_DIR,可选 OUT_DIR、REPORT_ORDER、CROPS_JSON;只给 REFERENCE_DIR 时输出 scene-metrics.json。修改脚本后用 scripts/visual-parity-diff.eval.mjs 自测。

限制:目标不明确时应停下询问用户,不得默认采用基线;不得靠隐藏内容、模糊细节、裁剪差异或降低截图真实性来改变分数;不能仅凭分数高低接受或拒绝;整体相似或第二意见不能抵消局部缺陷。