用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/leizongmin/ZeroWeb --skill zeroweb-browser-chrome-parity命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | zeroweb-browser-chrome-parity |
| description | 对比 ZeroWeb 与 Chrome 的真实点击、页面状态、事件、几何和生产 GPU 帧。用户要求 Chrome 一致性或交互渲染验收时使用。 |
本 Skill 用于为页面或交互场景生成可审计的 Chrome-vs-ZeroWeb 证据。视觉一致性和行为一致性是两个独立门禁;只有两者都经过规定的生产路径,才能报告“完整一致”。
element.click() 充当点击证据。Chrome 必须执行 mouse.move、mouse.down、mouse.up;ZeroWeb 必须走浏览器输入链路或 WebDriver 自动化链路。3% 表示结果必须 <3%。glyphMaskInsetPx,但全图仍须未遮罩比较,报告也必须保留区域的 unmasked 原始结果。checkbox、radio 等非字形控件不得使用该遮罩。创建场景、实现 ZeroWeb 证据生产器或解释报告前,完整阅读 references/evidence-contract.md。
核心脚本使用 Node.js ESM,不依赖 Bash、GNU timeout 或 realpath,支持:
跨平台不等于无环境要求。完整生产验收仍要求:
test-guard;RUSTY_V8_ARCHIVE;make setup-rusty-v8。浏览器自动探测顺序见 capture-chrome.mjs。各平台均按 Chrome、Chromium、Edge 的顺序探测;也可显式设置 PUPPETEER_EXECUTABLE_PATH。Edge 后备不会放宽场景的 chromeVersionPattern,需要由场景明确接受对应的 Edg/... 版本。
选择证据目录。默认使用仓库内已被 .gitignore 忽略的 .acceptance/chrome-parity/<scenario-name>-<timestamp>/,一次性或 CI 诊断也可使用系统临时目录。不得把截图写入受版本控制的源码或文档目录。
准备仓库依赖:
cd tests/wpt-runner/scripts
npm ci
构建命令须通过仓库 test-guard 包裹。Linux/macOS 示例:
./target/test-guard --time-limit 900 -- cargo build --release \
-p zero-wpt-runner -p zero-browser -p zero-renderer \
-p zero-compositor -p zero-webdriver
Windows 使用仓库在该平台提供的等价 test-guard 入口,不得裸跑长时间构建。
通用页面从 templates/generic-page.scenario.json 开始;表单专项验收可使用 templates/form-interaction.scenario.json。修改页面 URL、stateExpression、观察 selector 和动作。页面无需提供 #test-state、特殊 title 或其他验收专用标记;ZeroWeb 会在 live renderer 的真实页面上下文执行观察表达式。observe.selectors 接受任意受页面 querySelector 支持的 CSS selector。点击 selector 无需同时列入观察列表。当前生产采集环境必须使用 locale: "en-US"、reducedMotion: "no-preference",颜色主题可选 light 或 dark;不支持的值由 validator 明确拒绝。
校验场景:
node .agents/skills/zeroweb-browser-chrome-parity/scripts/validate-scenario.mjs <scenario.json>
采集 Chrome 证据。完整生产验收先在当前进程环境设置 PARITY_ORACLE_MODE=gui,让脚本跨平台启动独立的 GUI Chrome:
node .agents/skills/zeroweb-browser-chrome-parity/scripts/capture-chrome.mjs \
--scenario <scenario.json> \
--out <evidence-dir>/chrome
已有带远程调试的 GUI Chrome 时,设置 ORACLE_CDP_URL=http://127.0.0.1:9222 可复用该实例;它的优先级高于 PARITY_ORACLE_MODE。两者均未设置时脚本启动 headless Chrome,仅用于行为诊断,不满足生产视觉门禁。
用仓库命令生成 ZeroWeb 证据。命令会收到:
PARITY_SCENARIO
PARITY_OUTPUT_DIR
PARITY_REPO_ROOT
命令必须写出 <evidence-dir>/zeroweb/manifest.json。完整验收的 manifest 必须声明:
{
"engine":
zero-webdriver 仅用于行为诊断。它持有 live renderer,但不是最终浏览器窗口 compositor 路径。HtmlScenario 测试仅用于快速回归定位。如果第 1 条无法逐步输出证据,必须报告缺少产品自动化能力并停止完整验收。不得把第 2 条的行为证据与第 1 条无关的初始截图拼接成“端到端通过”。
每个动作后等待所有适用条件:
使用有上限的轮询并保留诊断信息。不得只依赖固定 sleep。
capturePath 为 chrome-cdp-gui;capturePath 为 production-window-gpu;inputPath 为 browser-pointer;maxDiffPercent;maxRegionDiffPercent;评测样例见 evals/evals.json。
本仓内置生产器:
ZEROWEB_EVIDENCE_COMMAND=["target/release/zero-browser","--renderer=gpu","--scale=1","--parity-scenario","${PARITY_SCENARIO}","--parity-output-dir","${PARITY_OUTPUT_DIR}"]
比较证据:
node .agents/skills/zeroweb-browser-chrome-parity/scripts/compare-evidence.mjs \
--scenario <scenario.json> \
--chrome <evidence-dir>/chrome \
--zeroweb <evidence-dir>/zeroweb \
--out <evidence-dir>/report.json \
--require-production
一键编排使用跨平台 Node 入口。将 ZeroWeb 生产器命令写成 JSON 字符串数组,避免 shell quoting 的平台差异:
ZEROWEB_EVIDENCE_COMMAND=["cargo","run","--release","--bin","zero-parity-producer"]
完整生产验收同时设置 PARITY_ORACLE_MODE=gui,然后执行:
node .agents/skills/zeroweb-browser-chrome-parity/scripts/run-parity.mjs \
<scenario.json> <evidence-dir>
展示验收截图。优先选择最终检查点;若验收提前失败,选择最后一个两端均有截图的检查点。使用 view_image 分别展示 <evidence-dir>/chrome/<step-id>.png 和 <evidence-dir>/zeroweb/<step-id>.png,并在最终回复中以内联图片并排或相邻呈现,清楚标注 Chrome 与 ZeroWeb。同时给出两张图片及 report.json 的绝对路径,便于用户打开原图核对。
两张图必须来自同一场景、同一检查点、同一 viewport 和 DPR。不得用 diff 图、控件裁剪图或其他检查点截图代替任一全帧截图。