跳到主要内容
文心 · 万形

给 agent 用

agent 接入一套设计系统只需要两样东西:规则,和验证自己有没有做到的手段。给它三千行双语散文不是接入,是把工作转嫁回去。

先读这一个文件

完成本地安装后,在消费者项目根目录运行:

npm exec --no -- wenxin contracts --all      # 或直接读 kit/wenxin.json

约 29KB,含不变之魂、三层仲裁规则、两种排除、禁令(可检查的与需判断的)、 全部 token、71 条组件契约、已记录的判定索引、以及如何验证。

它完全由来源派生,没有一行是手写的——所以它不可能和来源不一致, npm run check:contracts 重建后逐字节比对,不一致即失败。

四个入口,按预算选

文件规模回答什么
kit/wenxin.json29KB规则与契约的全部结构化数据
site/llms.txt~100 行索引:有哪些页,每页回答什么问题
site/llms-full.txt~2800 行全部规范正文,预算充足时通读
.claude/skills/wenxin-design/130 行可直接安装的技能包:判断规则 + 交付前自查

还有一个 AGENTS.md,但那是给在这个仓库里干活的 agent 的, 不是给使用者的。两类读者需要的东西不一样,所以分开放。

不要声称合规,跑一遍

npm exec --no -- wenxin audit dist/<slug>/index.html

它要求有效的 render contract 和约定的输出路径,吐出 JSON;hardGates 数组非空即该可执行子集不合规,退出码 1。 它不读取外链 CSS,也不替代浏览器、辅助技术或不可机械化规则的人工判断——一个 agent 说"我遵循了设计系统"同样没有信息量。

审计器自己也被验证

npm run check:render-audit 用一份合规夹具,以及故意缺 <main>、非法轨道和错误阅读轨 CTA 的夹具跑它。 这验证审计器会抓这些缺陷,不等于它已经验证了你的页面。没有反向控制的审计器不是证据。

5 条没有检查在守的规则

这是 agent 最容易出错的地方:"检查全绿"不等于"每条规则都被执行了"。 kit/contracts/forbidden.json 的 judgement 数组列出 5 条不可机械检查的规则, 每条写明为什么不可检查:

规则为什么机器判不了
卡片几何静态 CSS 分不出内容容器与控件。按钮、标签、输入框、以及 D-21 许可的浮层都合法地同时具备边框与圆角——naive 规则在本仓库命中 60 次,几乎全是误报。
色块背景分区background 的合法用途太多;是否构成"分区"取决于轨道与意图。
强调色预算需按渲染后的页面计数并区分装饰与状态色。单页范围内 audit 能执行,全仓库静态扫描不行。
填充主动作语义静态 HTML 分不出导航、反馈后的安全出口和应用轨任务推进;全页数主按钮会误杀合法动作。
装饰插画机器分不出装饰图与信息图。

一条没被标出来的不可执行规则,会被误以为有人在守。把它们显式列出来, 就是为了让 agent 知道这 5 条要靠自己判断——见 D-22。

绝对不要单方面改的

A9 克制之美    B9 温暖极简    D9 暖土调

改动这三条,产物就不再属于这套语言。如果判断必须改, 写进 spec/DECISIONS.md 作为待议项,不要直接改。

命令行速查

npm exec --no -- wenxin audit dist/<slug>/index.html
                                    # 审计合同 / DOM / 内联样式;hardGates 非空即失败
npm exec --no -- wenxin contracts [query]
                                    # 查契约,按名称或 class 过滤
npm exec --no -- wenxin contracts --all
                                    # 输出完整契约包
npm exec --no -- wenxin tokens --format dtcg
                                    # json | dtcg | css | scss | ts
npm exec --no -- wenxin skeleton [a-e]
                                    # 输出页面原型骨架