Kair 开源
Regmark 方案00 总览
  1. 00总览
  2. 01定位与痛点
  3. 02受众与场景
  4. 03功能模块
  5. 04架构与选型
  6. 05首期路线图
  7. 06调研依据

项目

Regmark工作代号

让 AI 购物代理读到的商品事实,和结账时实际收的对得上。

这是什么

Regmark 是一个开源的命令行测试工具。一家店会从好几个出口向机器报价:商品页、结构化数据、商品 feed、代理协议端点。Regmark 把这些出口上的价格、库存、运费逐项拿去和结账实算的结果比对,对不上就报出来,并且可以让 CI 失败。

它要回答三个问题:

  1. 各处说的是不是同一个数? 这是套准,也是首期的重点。
  2. 照着读到的信息去买,买不买得成? 这是探店,让一个代理真的走一遍。
  3. 商品内容里有没有会带偏代理的东西? 这是内容卫生。

一个例子

下面是同一件 T 恤在四个出口上的样子。价格、库存、运费各有一处对不上,单看任何一个出口都发现不了。

没套准:四个出口报出的到手价叠印在一起,35.00、39.00、缺货、45.20,互相错位,认不出来 C 35.00 M 39.00 Y 缺货 K 45.20

没套准四个出口各说各的

套准后:四个出口报出同一个到手价 45.20,叠印成一个清楚的数字 C 45.20 M 45.20 Y 45.20 K 45.20

套准后都和结账一致

  • C商品页
  • M商品 feed
  • Y协议端点
  • K结账,基准
同一件商品的到手价,39.00 加运费 6.20。左边是四个出口现在各自的说法,右边是都向结账对齐之后。
版 出口 价格 库存 运费
C 商品页的 JSON-LD 35.00 有货 没提
M 商品 feed 39.00 有货 包邮
Y UCP 目录接口 39.00 缺货 没提
K 结账实算 39.00 可下单 6.20

Regmark 对这件商品会报三条:JSON-LD 的价格是促销结束后没改回来的旧值,UCP 的库存状态是错的,feed 里的「包邮」在结账时并不成立。每一条都带着两边的原始取值和出处。

$ npx regmark audit https://shop.example --datum checkout

  shop.example    48 variants    4 surfaces    2m 41s

  ✗ price.mismatch           1 variant
      TEE-BLU-M    jsonld 35.00 USD  ≠  checkout 39.00 USD
                   /p/tee-blue  →  offers[2].price
  ✗ availability.mismatch    1 variant
      TEE-BLU-M    ucp out_of_stock  ≠  checkout purchasable
  ✗ shipping.mismatch        1 variant
      TEE-BLU-M    feed "free"  ≠  checkout 6.20 USD  (ship to US 94103)
  ! shipping.undisclosed    31 variants
  ✓ 13 rules passed

  3 errors, 1 warning. Budget exceeded: price.mismatch 1 > 0
  exit 1

上面这段输出是设计稿。工具还没写出来,字段和措辞以后可能会变。

名字的来历

印刷时各色版要逐张对齐,纸边印的那个十字圆圈叫套准标,英文是 registration mark,行话叫 reg mark。黑版是其余色版对齐的基准,所以它的代号是 K,取自 key。

在这个项目里,结账就是那块黑版。商品页、feed、协议端点都得向它对齐,因为用户最后付的是结账算出来的那个数。

Regmark 目前是工作代号。npm 上这个包名还空着,GitHub 上的同名账号已经被人注册,正式定名之前还要查商标。

现在的状态

项 内容
阶段 方案起草,还没有代码
首期目标 从 2026 年 10 月 12 日起算,12 周内发布 v0.1
实现语言 TypeScript,要求 Node 22 及以上
许可证 代码 Apache-2.0,文档 CC BY 4.0
方案更新 2026 年 10 月 9 日