mcpField
R
replica-diff

replica-diff

github.com/jakeschincariol测试与质量6.3k717 次安装4 周前更新
代码仓库

关于 replica-diff

replica-diff 是一组仅使用 Python 标准库的工具,用于评估应用克隆在功能、布局和行为上的一致性。它汇总差距以帮助团队确定后续开发内容,并不以和原应用逐像素相同为目标。

主要功能

  1. 01加权功能一致性评分
  2. 02缺失功能开发清单
  3. 03截图布局比较
  4. 04像素模式回归比较
  5. 05行为差异报告
  6. 06生成一致性报告

适用场景

  1. 01发布前找出尚未完成的功能
  2. 02比较相同页面的克隆布局
  3. 03跟踪克隆版本间的视觉回归

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jakeschincariol/replica-skill --skill replica-diff

安装后在 Claude Code 中输入/replica-diff确认已加载。

附带文件imgdiff.pyparity.py

详细介绍

replica-diff

此文件夹中有两个工具,均使用 Python 标准库,无需安装:

python3 parity.py replica/features.csv                         # feature parity + missing list
python3 imgdiff.py replica/screens/S07.png replica/clone-screens/S07.png --out diff-S07.png
python3 imgdiff.py a.png b.png --json > replica/diffs/S07.json # for parity.py --visual
python3 parity.py replica/features.csv --visual replica/diffs/*.json --markdown > replica/parity.md

此处的平价意味着什么

平价意味着完成相同的工作,而不是看起来一样。 真正重要的是功能评分:用户能否完成在原产品中能做的一切。布局评分检查结构(信息是否处于相同位置、层级是否相同),因为这决定了用户切换后能否感到熟悉。评分会刻意忽略颜色,因为 replica-brand 会有意更改所有颜色。不要追求与原产品的像素级平价。原产品的具体外观属于其商业外观,并且会在发布前改变。

步骤 1:功能平价

确保 replica/features.csv 是最新的:每行的 clone 列必须为 yes、partial(附注释)、no 或 skip(附原因)。然后:

python3 parity.py replica/features.csv

此工具按 must 权重 3、should 权重 2、could 权重 1 计算,将 partial 计为一半,排除 skip 行和你添加但原产品不具备的行,并输出:评分、已完成的 must-have 数量及总数、按薄弱程度从高到低排列的各区域,以及按构建顺序排列的缺失项列表。未完成的 must-have 意味着尚不可发布,工具会明确指出这一点。

步骤 2:布局差异

对于每个关键屏幕,在相同视口(桌面端 1440x900、移动端 390x844)和相同状态(数据结构相同、打开相同标签页、以相同方式登录)下截取两张屏幕截图。原产品的截图来自公开页面或用户自己的账号,保存在 replica/screens/ 中。克隆版的截图保存在 replica/clone-screens/ 中。

python3 imgdiff.py replica/screens/S07.png replica/clone-screens/S07.png --out replica/diffs/S07.png

布局模式(默认)会将两张图转换为边缘图,切分成网格,并比较元素的位置;评分只计算包含内容的网格单元。报告会给出评分(匹配 90+、接近 75+、部分匹配 50+、不同)、存在差异的区域(按原图像素坐标标示,按面积从大到小排列),以及克隆版页面明显更长或更短时的高度差异。视网膜和非视网膜屏幕截图可以正常比较:两者都会缩放到相同宽度。

--mode pixel 会进行精确比较。将它用于检查你自己的回归(今天的克隆版与上周的克隆版),不要用于与原产品比较。

步骤 3:行为差异

在两款应用中逐步走完每个流程,并比较评分无法体现的内容:完成核心流程所需的点击次数、出错时会发生什么、访问之间会记住哪些内容、会收到哪些电子邮件。点击次数比原产品少就是优势。按以下格式记录每项差异:流程、原产品的行为、克隆版的行为、修复或保留。

步骤 4:报告

replica/parity.md:总体评分、功能评分、各屏幕的布局评分、按构建顺序排列的缺失功能、行为差异,以及结论:

  • 尚不可发布:任何 must-have 缺失,或存在未解决的 S1 Bug
  • 可发布:所有 must-have 均已完成,功能评分达到 80+,且没有未解决的 S1 或 S2 Bug
  • 优于原产品:达到可发布标准,并且包含 replica-entrepreneur 提出的改进。这才是目标。照搬没有存在的理由。

如实给出数字。克隆版得分为 62%,就是 62%。

输出

replica/parity.md、差异图像,以及接下来要构建的五项优先内容。 然后运行 /replica-build 填补差距,或者在平价达标后运行 /replica-entrepreneur。

评论

支持 Markdown