@decocms/parity

中文文档
0.35.18发布于 2026/11/06MITES Module近 30 天下载 4926

E2E对站点迁移的等同验证器. 将prod vs cand 比较并报告 UI,功能,SEO,视觉,以及Web Vitals deltas 与排名为HTML的报告.

中文使用文档
文档目录11 节
  1. 为何存在对等性
  2. 快速启动
  3. 代理合同
  4. LLM 提供者
  5. 产出
  6. 预设
  7. 关于Web 生命号的说明
  8. CI 使用( GitHub 动作)
  9. 配置( 可选)
  10. 发展
  11. 许可证

@ decocms/ 均等

连接到关闭迁移、公关和没有关键路径的事故的代理基础设施.

parity 是一个在两个URL之间进行深度比较测试的CLI—— prod (真相来源)和 cand (缩放版本、PR预览或中放)——并制作:

  • 一个独立的 HTML 报告 供人类在30秒内扫描
  • 一个正常化 JSON投影 (单位:千美元)parity report --section <name> --json代理可以消费而不解析 HTML
  • A 类 JSONL 流线 (单位:千美元)--json)每个检查结果在完成后流出
  • A 类 公关评论 (单位:千美元)parity pr --prod ... --preview ...准备投入CI/CD管道

它检查UI,功能,SIO,性能,控制台,网络,以及缓存回归. 最初是为Fresh → TanStack Start 迁移德克商店前行而建造的,但支票是通用的,足以用于任何并肩迁移.

状态 : 阿尔法。 API和报告布局仍然可能改变.

为何存在对等性

迁移,公关审查,事件分解都共享相同的工作流程:取出两个版本的网站,找到不同之处,加以修复. 手动操作很慢而且容易出错;旋转一个LLM代理来完成它需要一个代理可以驱动的工具. parity 是那个工具.

三个使用案例驱动设计:

  1. 协助移徙 (Fresh → TanStack, Shopify → Hydrogen等)——一种物剂运行 parity run 在迁移的分支 每一个承诺, 选择顶级问题, 修正它,运行再次。 HTML报告+可视-diff快取被设计成可粘贴到克洛德/ChatGPT.
  2. CI/CD PR审查 —— 说 parity pr --prod ... --preview ... a Markdown 注释,附有判决、最高问题和与报告全文的链接。 丢入工作流程中 gh pr comment -F 或者说 actions/github-script。 。 。 .
  3. 连续烟雾 —— 说 parity run --preset smoke 完成于~30s,运行无 LLM. 每次部署后,都够便宜了.

快速启动

# Install — auto-installs Playwright Chromium on postinstall (~140 MB, one-time)
npm install -g @decocms/parity
# or run without install
npx @decocms/parity run --prod ... --cand ...

# In CI / behind a corp proxy? Skip the auto-install and do it later:
# PARITY_SKIP_PLAYWRIGHT_INSTALL=1 npm install -g @decocms/parity
# npx playwright install chromium

# First-time smoke run (~30s, no LLM needed)
parity run --prod https://oldsite.com --cand https://newsite.example.dev --preset smoke --open

# Full audit with visual diff
ANTHROPIC_API_KEY=sk-... parity run \
  --prod https://oldsite.com \
  --cand https://newsite.example.dev \
  --preset full --open

# CI/CD PR comment
parity pr --prod https://oldsite.com --preview https://pr-123-preview.example.dev --github

代理合同

代理驾驶员 parity 在循环中,稳定的表面是:

需求命令产出
进行完整的比较parity run --prod X --cand Y --json runs.jsonlJSON-Lines,每检查一行
从保存的运行中提取一个标签parity report <runId> --section <name>HTML 切片
提取一个标签为结构化的 JSONparity report <runId> --section <name> --jsonJSON投影
驱动CI/CD管道parity pr --prod X --preview Y --github标记下注释 + $GITHUB_STEP_SUMMARY
钻入一个问题parity explain <runId> <issueId>LLM 深潜 (需要密钥)
构建一个可粘贴的提示parity prompt <runId>为克洛德/查特GPT准备了Markdown
生成可视化补丁捆绑parity section --all --prod X --cand Y --selector S标记下 + 截图 + 计算式 diff

见 docs/cli.md 每个命令, docs/checks.md 每张支票. 见 docs/reports.md 用于 HTML 输出和两个报告模板包.

LLM 提供者

三家供应商,按此顺序自动检测—— 无需 如果你拥有 claude 在本地登录的CLI :

  1. ANTHROPIC_API_KEY ——直接Anthropic API(快速,开入您的API账户)
  2. OPENROUTER_API_KEY ——开放路透社
  3. 当地 claude 国 际 - 用途 @anthropic-ai/claude-agent-sdk检查一下你的克劳德计划 不需要护卫

强制使用 --llm <anthropic|openrouter|claude-code|none|auto>覆盖每个地貌 --llm-model visual-diff=claude-opus-5,explain=claude-opus-5,或者将每层都平整到一层 --llm-tier-default <haiku|sonnet|opus>。默认分级: 声纳 用于选择发现/恢复/匹配/视觉(结构-理性呼叫), 海库 简短的复制清单分类(search-terms, (中文(简体) ), 奥普斯 Opus 页:1 explain成本意识? 尝试 --llm-tier-default haiku 并有选择地将特性重回Sonnet, 如果你击中选择器错过.

没有任何提供者,CLI仍然运行并输出原始检查结果.

产出

./parity-output/runs/<runId>/
├── report.json       # structured output for agents / CI / tooling
├── report.html       # only with --html/--open, or rendered later by `parity report <runId>`;
│                     # links to screenshots/ by relative path — keep the two together
├── screenshots/      # per-page, per-viewport, per-side; includes pixelmatch heatmaps
├── har/              # Playwright HARs, one per viewport/side — only with PARITY_HAR=1
└── traces/           # Playwright traces (drag into trace.playwright.dev) — only with PARITY_TRACE=1

预设

  • --preset smoke ——只有主页,只有移动,没有LLM,没有额外的爬行. ~30岁. 用"管子开通了吗?".
  • --preset full ——购买行程,移动+桌面,5个可视diff页面,10个要害页面. 用于放行.
  • --preset ci ——以移动,更小的爬行方式购买行程(3个视觉+5个生命体. 训练CI运行时间.

单个旗帜总是覆盖预设. 见 parity run --help 完全默认行为崩溃.

关于Web 生命号的说明

以默认的等同措施TTFB/FCP/LCP与浏览器的HTTP缓存启用,在温暖的连接上——一种"重复访问"的情景. 相形之下,灯塔和CrUX的现场数据模拟/测量了第一次的寒冷访问(cache已禁用). 也不是错的,但他们回答了不同的问题,所以不要将等值的默认活性指数1:1比作"灯塔"或"CRUX". 过 --bypass-cache 以近似于冷访问测量(除了绕过 CDN/ edge 缓存之外,还使浏览器通过 CDP 缓存失效) .

CI 使用( GitHub 动作)

- name: Parity check
  env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
  run: |
    npx @decocms/parity pr \
      --prod ${{ vars.PROD_URL }} \
      --preview ${{ env.PR_PREVIEW_URL }} \
      --github

这个 --github 旗子将马克下写到 $GITHUB_STEP_SUMMARY 所以它出现在工作流程摘要之下。 并发表公关评论:

    npx @decocms/parity pr ... --out parity-comment.md
- uses: actions/github-script@v7
  with:
    script: |
      const fs = require('fs');
      const body = fs.readFileSync('parity-comment.md', 'utf8');
      github.rest.issues.createComment({
        ...context.repo,
        issue_number: context.issue.number,
        body,
      });

配置( 可选)

.parityrc.json 在工程根上——选择器覆盖并运行默认值。 见 docs/config.md 整个计划.

{
  "cep": "01310-100",
  "selectors": {
    "categoryLink": "header a[href*='/c/']",
    "productCard": "[data-product-card] a",
    "buyButton": "button:has-text('Comprar')"
  },
  "search": { "terms": ["camisa", "promocao"] }
}

.parityignore ——噪声抑制. 见 docs/config.md。 。 。 .

全权证书从未从 .parityrc.json。 。 。 . 设定 PARITY_LOGIN_EMAIL 财务报告和审定财务报表 PARITY_LOGIN_PASSWORD 作为环境变量.

发展

git clone [email protected]:decocms/parity.git
cd parity
bun install
bunx playwright install chromium
bun run dev run --prod ... --cand ...

测试 : bun run test (vitest) (英语). 类型检查 : bun run check。构建: bun run build。 。 。 .

许可证

麻省理工学院

版本与发布记录

@decocms/parity 共发布 186 个版本,首次发布于 2026/05/15;过去 12 个月发布了 186 个版本。

版本发布日期距今
0.35.18latest2026/11/065 天前
0.35.172026/11/065 天前
0.35.162026/11/065 天前
0.35.152026/10/2419 天前
0.35.142026/10/2419 天前
0.35.132026/10/2419 天前

关于 @decocms/parity 的常见问题

@decocms/parity 是什么?

E2E对站点迁移的等同验证器. 将prod vs cand 比较并报告 UI,功能,SEO,视觉,以及Web Vitals deltas 与排名为HTML的报告.

如何安装 @decocms/parity?

在项目目录运行 npm install @decocms/parity,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 parity,可以用 npx parity 直接运行。

@decocms/parity 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/decocms__parity 是否存在。

@decocms/parity 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@decocms/parity 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@decocms/parity 可以商用吗?

@decocms/parity 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@decocms/parity 的下载量有多少?

根据 npm 官方下载统计,@decocms/parity 在 2026/10/12 – 2026/11/10 这 30 天内被下载 4,926 次,日均约 164 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@decocms/parity 还在维护吗?

最新版本 0.35.18 发布于 2026/11/06(5 天前);至今共发布 186 个版本,其中过去 12 个月发布了 186 个;首次发布于 2026/05/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。