技术知识库 · 工具评测 · · 国科智飞 Gavin
Kami:让 AI 生成印刷级文档的设计系统
tw93 开源的约束设计系统:10 条不变规则、8 类文档模板、中日英多语言排版,让 AI 输出的文档不再是默认灰色样式。
让 AI 写一份报告容易,让它排版得能直接发给客户很难。模型生成的内容不差,但样式时常是「灰色默认款」:标题层级混乱、行距忽大忽小、中文标点和西文挤在一起。tw93/Kami 要做的事,就是给 AI 的文档输出套上一层约束设计系统。项目名取自日语「紙」,MIT 协议,收录时约 4,742 star、240 fork,是非常新的项目。
它是什么
Kami 不是排版软件,而是一套给 Agent 用的文档生成技能:用一套约束语言加 8 类模板,规定色彩、字体、行高、字距和阴影的用法,让 AI 产出的文档有统一视觉语言。它支持一页纸、长文档、正式信件、作品集、简历、幻灯片、投资报告和更新日志八种类型;渲染走 WeasyPrint(HTML → PDF),当用户明确要可编辑 PPTX 时,另有 slides.py 负责生成。集成方式是一条 skills 安装命令,Claude Code、Codex、OpenCode 等读取 ~/.agents/ 的工具都能装,自然语言触发,不需要记斜杠命令。
能力与亮点
十条规定把审美变成了可执行的约束。 页面背景固定 #f5f4ed 暖羊皮纸色、禁止纯白;唯一强调色是 #1B365D 墨水蓝,覆盖面积不超过 5%;所有灰度必须暖调,禁止冷灰;衬线字体承载层级,无衬线只用于 UI 元素;衬线字重锁定 400/500,禁止合成加粗;标题行高 1.1–1.3,正文 1.4–1.55;中文正文字距 0.3pt;标签背景必须用纯 hex 色值(绕开 WeasyPrint 的双矩形 bug);深度靠 ring shadow 一类的手法而不是硬投影;全项目禁用斜体。这些规则单看朴素,合起来就构成一道质量下限——AI 不需要「理解美」,只要不越界。
多语言排版是真做了功课的。 英文用 Charter,中文用仓耳今楷 02(TsangerJinKai02),日文用 YuMincho,都走衬线路线。选 WeasyPrint 而不是别的转换链路,官方理由是 LibreOffice 转换会丢 CJK 字重、字距和字形,WeasyPrint 能精确嵌入字体。中日文排版向来是 AI 文档输出的重灾区,专门处理这点比堆模板数量更有价值。
模板覆盖了大多数「正式交付」场合。 一页纸、长报告、信件、简历、作品集、幻灯片、投资报告、更新日志八类,基本覆盖咨询、求职、汇报和对外交付。另有 14 种内联 SVG 图表类型,报告里插图表不用再外链图片。
品牌配置解决「每次都要交代一遍」的问题。 建一个 ~/.config/kami/brand.md,用 YAML frontmatter 写名字、职位、邮箱、网站、品牌色、语言、纸张大小、币种和语气,之后请求模糊时自动套用,具体需求仍可覆盖。对经常生成简历、报价或署名文档的人来说,省下的是重复交代成本。
工程取舍很清楚。 用约束语言而不是自由 CSS,保证 AI 可预测执行;PDF 走 HTML 渲染,字体嵌入可控;真要可编辑 PPTX 时退回 python-pptx 路线。它没有试图做全能排版器,而是把「AI 生成的文档不能丑」这一件事做到可靠。
约束比模板更关键。 大多数排版模板解决的是「一次性填空」,Kami 解决的是「任意内容都不越界」。规则不多,但每条都能被检查:颜色必须是十六进制、字重只有两个值、行高落在区间内、斜体全局禁用。AI 生成时没有自由发挥的空间,结果就稳定。这个思路可以迁移到任何「AI 输出要符合规范」的场景——把审美判断固化成机器可验证的硬约束,比写一段「请排版美观」的提示词可靠得多。
安装路径覆盖了主流 Agent 环境。 Claude Code 用一条 npx skills 命令;Codex、OpenCode 等读取 ~/.agents/ 的工具用通配参数安装;Claude Desktop 走上传 ZIP 包的方式。三条路径指向同一套技能文件,后续升级只需更新一次,维护成本低。
局限与坑
项目极新。 收录时创建只有两周多,4.7k star 的增长说明需求真实,但长期维护和接口稳定性都还不好判断,重要文档流程要有备选方案。
只覆盖输出端。 它管的是「内容怎么长成文档」,不管内容对不对、结构合不合理。把 Kami 装上去,写错的数字依然是写错的数字。
WeasyPrint 链路有边界。 HTML → PDF 擅长印刷级静态文档,但需要后续在 Word 里继续编辑的场合不适用;可编辑场景要用另一个脚本生成 PPTX,能力面和 PDF 路线不是一回事。WeasyPrint 对 HTML/CSS 的支持与浏览器渲染存在差异,复杂布局仍可能踩坑,那条「标签背景禁止 rgba」的规定就是为了绕 bug。
字体与平台依赖要自己确认。 中文排版依赖仓耳今楷等字体,商用与再分发时字体授权需要单独核实;PDF 里嵌了商业字体的子集也可能带来授权问题。这一点官方文档不会替你把关。
适用场景
- 经常用 AI 生成简历、一页纸、报告、信件并直接对外交付的个人;
- 咨询、投资、法务等对文档观感有要求的专业服务团队;
- 需要统一品牌视觉的内容团队,希望所有 AI 产出自动带上品牌配置;
- 已在用 Claude Code / Codex / OpenCode,想把「文档交付」做成一条 Agent 流程的开发者。
选型建议
如果你的痛点是「AI 写的内容每次样式都不一样」,Kami 是目前少见的对症方案,装一个技能就能试,成本很低。判断是否长期采用,看三点:一是你的文档类型是否落在那 8 类里,超出模板范围的复杂版式未必比手工排更省事;二是你是否需要可编辑的源文件,Word/PPTX 重度流程只能部分覆盖;三是字体授权能否接受。建议先用它跑一份真实文档——比如简历或项目一页纸——看输出能不能直接发出去,再决定要不要固化进工作流。项目 MIT 协议,二次开发和商用都宽松。