SuperAPI AI 工具集

token-map

设计与创作

查看项目

更新于 10-16 06:51

技能介绍

用途:在 figma-migration 或 code-migration 流程中,源文件有自己的令牌,目标使用当前 OD 设计系统,token-map 负责产出两者之间的确定性映射。

输入:来自 figma-extract 的 figma/tokens.json,或来自 design-extract 的 code/tokens.json;以及已注入提示的当前设计系统 DESIGN.md(从暂存的设计系统上下文读取)。

输出:写入 project-cwd/token-map/ 目录,包含 colors.json(源到目标令牌的映射数组)、typography.json(字体、字号、字重配对)、spacing.json(间距刻度对照)、unmatched.json(无法匹配项及原因)和 meta.json(sourceKind、generatedAt、atomDigest)。unmatched.json 是供人工审查的审计清单,代理不得静默发明目标令牌。

语义令牌推断:Figma 常导出 color-3、paint/17 或原始 #5B8DEF 等匿名名称,无需用户先重命名。技能会从使用证据推断语义角色,包括节点路径、组件名、实例覆盖、变体/状态标签、图层名及 Primary、Selected、Link、Error、Focus、Nav、Button、CTA 等邻近文本;渲染树中的类 CSS 位置(背景填充、前景文字/图标、边框、分隔线、遮罩、阴影色调、焦点环、状态徽章、图表系列、品牌/强调处理);对比关系;以及复用拓扑。仅当证据基于角色而非仅基于取值时才映射到现有设计系统令牌;若候选过于接近或证据指向冲突角色,则保留为 unmatched 并附上竞争候选提示。

收敛条件:每个输入令牌要么被映射,要么在 unmatched.json 中带非空原因记录。until 评估器在严格模式下读取 tokens.unmatched.length === 0;默认是软收敛(允许 unmatched.json 有内容并继续)。

禁止事项:未经用户明确批准不得向 DESIGN.md 注入新令牌;不得仅凭视觉接近度映射十六进制颜色(感知 ΔE 阈值属于视觉差异评估器);不得静默把不同源令牌折叠到同一目标令牌,冲突需以 target-collision 原因记录在 unmatched.json。

状态:由 apps/daemon/src/plugins/atoms/token-map.ts 中的守护进程运行器实现,解析设计系统令牌、执行确定性映射并写出映射与未匹配输出。该 v1 原子本身不声称有可测量的准确率提升,真实准确率需要带已知源令牌与预期语义角色的夹具套件及前后对比运行。