程序员终于开始给 PPT 写“单测”了:这个开源项目,把审美玄学做成了工程系统
副标题:不是再做一个“输入主题,生成 20 页模板 PPT”的工具,而是试图把设计风格、版式规则和交付质量,全部变成可复用、可配置、可校验的代码资产。
源代码:
https://github.com/dakjdakd/PPT-Design-

“程序员做 PPT,为什么总像在提交一个没有跑测试的 PR?”
这句话,估计很多人都笑不出来。
你明明用了最好的 AI PPT 工具,写了最完整的 Prompt,甚至还让模型“高级一点、科技一点、苹果一点、极简一点”。
结果出来一看:
第一页像苹果发布会。第二页像企业培训模板。第三页突然开始赛博渐变。第四页卡片挤成一团。最后一页标题自动换行,把“的”单独留在第二行。
你以为是模型不够聪明。
但真正的问题是:大多数 AI PPT 工具,本质上还停留在“逐页生成”阶段,而不是“设计系统生成”阶段。
最近看到一个开源项目:PPT-Design-DNA。
它最有意思的地方,不是“帮你生成 PPT”。
而是它试图回答一个程序员会非常感兴趣的问题:
能不能像管理代码一样,管理一套 PPT 的视觉风格?能不能像写配置一样,定义“高级感”?能不能像跑 CI 一样,在交付前检查标题有没有压住正文、卡片有没有顶到底部、中文有没有孤字换行?
答案是:可以,而且这个项目已经开始这么干了。

一、AI PPT 最难的,不是生成一页,而是让 20 页像同一个设计师做的先说结论。
绝大多数 AI PPT 的问题,不是不会排版,而是没有“视觉状态管理”。
它们通常的工作方式是:
主题→ Prompt→ 生成第一页→ 生成第二页→ 生成第三页→ 每一页自由发挥
这套流程的问题,和让 AI 直接连写 50 个页面前端差不多。
单看每一页,可能都还行。
放在一起,就开始人格分裂。
因为它没有一个持续生效的“设计约束层”。
PPT-Design-DNA 的思路不一样。
它不是一上来就问你:
“主题是什么?”“做几页?”“给谁看?”
它先问的是:
这套 PPT,应该长成什么样?
项目把一张参考图、一组 UI 截图、一张海报、一本杂志页面,甚至一张游戏截图,先拆成一套叫 Design DNA 的设计基因。
它不只提取颜色和字体,还会从五个层面描述一套视觉风格:
换句话说,它不是在生成“某一页 PPT”。
它是在生成一套:
设计规则 + 视觉 Token + 内容容量 + 版式约束 + 演示策略
这才是程序员真正熟悉的东西。
不是模板。
是系统。

二、它做的不是“抄参考图”,而是把参考图编译成设计配置很多人一听“参考图做 PPT”,第一反应是:
“那不就是把海报、网页截图复制进幻灯片吗?”
不是。
这个项目专门把“参考图”和“内容图”分开了。
参考图只负责告诉系统:
这套设计的色彩关系是什么;
视觉张力来自哪里;
留白是大还是小;
标题是粗暴直接还是克制文艺;
页面是高密度还是低密度;
该用颗粒感、描边、网格还是大面积纯色。
但参考图里的人物、产品、角色、建筑、吉祥物,默认不能被重新画进 PPT。
也就是说:
你可以借鉴一张猫咪插画的色彩、线条、构图节奏。
但不能顺手再生成一只“很像那张图里的猫”。
这件事看似只是设计规范,实际上很像程序员熟悉的概念:
Interface 可以复用Implementation 不应该直接复制
它提取的是视觉接口,不是原图实现。
项目甚至把这件事写成了明确的“参考主体防火墙”:允许继承色彩、纹理、排版节奏和字体气质,但禁止把参考图中的可识别主体变成 CSS、SVG、HTML 或 AI 生成装饰。
这一步很关键。
因为很多所谓“风格迁移”,本质只是把参考图里的元素换个位置贴进去。
而真正难的是:
保留“为什么它好看”,但不复制“它具体画了什么”。
三、真正让程序员兴奋的,是它把“审美”做成了可版本化资产如果你是开发者,看到这里应该已经有感觉了。
PPT-Design-DNA 最像代码仓库的地方,不是它用了 HTML。
而是它把“风格”变成了一个可以长期维护的资产。
比如,一套风格不是一句 Prompt:
帮我做一套苹果风 PPT
而是一个可以保存的 Design Profile。
里面会记录:
profile.jsonversions/v001.jsonversions/v002.jsondiffs/v001-to-v002.jsonadapters/academic/adapters/consulting/
你可以把它理解成:
Design System as Code
第一次,你从一组参考图里抽出一套“科技极简风”。
第二次,你觉得太空、太冷、文字不够好读。
于是改参数:
留白:80 → 60信息密度:30 → 55图表权重:35 → 75动效强度:50 → 15
然后生成一个新版本。
更重要的是,它不只记录“参数变了”。
还要求记录视觉后果。
比如:
这不就是设计领域的 Git Diff 吗?
不是简单告诉你:
cyber: 80 → 30
而是告诉你:
霓虹感下降;阅读压力变小;更适合内部战略汇报;不再适合高能量发布会。
项目明确要求版本不可覆盖,调整风格要生成新的快照和 Design Diff;它还把“风格适配不同场景”做成了 Adapter,而不是直接把原风格硬套到所有 PPT 上。
这意味着,未来团队可能真的会拥有这样的资产库:
品牌发布会风格 v3内部经营汇报风格 v7技术架构评审风格 v4融资路演风格 v2客户方案汇报风格 v5
而不是每次做 PPT,都从“找一张好看的参考图”开始。
四、最反直觉的一点:好看的风格,不一定适合你的业务汇报这是很多设计师知道、很多 AI 工具却没解决的问题。
你喜欢 Apple 风。
很好。
但你要做的是一份 50 页的财务分析报告。
怎么办?
如果还坚持:
“大留白、超大标题、少量文字、强视觉冲击。”
那最后一定会出现一个灾难:
数据塞不下去,图表缩成邮票,公式看不清,领导看完不知道重点。
PPT-Design-DNA 给出的方案很像工程里的环境适配。
同一套基础风格,可以通过 Design Adapter 生成不同版本:
Apple Minimal├── Apple Academic├── Apple Consulting├── Apple Startup Pitch└── Apple Product Launch
它还给出了三种处理逻辑:
第一种:Visual First。优先保留视觉冲击力,压缩内容。适合发布会、路演开场、产品宣讲。
第二种:Dynamic Downgrade。允许页面没那么“惊艳”,换取更高的信息密度、图表空间和可读性。适合经营汇报、答辩、复盘。
第三种:Cell Division。不牺牲美感,也不压缩内容,而是把复杂信息拆成更多页。适合既要高级感,又要把内容讲完整的场景。
这一点特别像软件工程里的取舍:
性能、成本、复杂度,不能全都要。
PPT 也一样。
视觉冲击、信息密度、可读性、页数、演讲节奏,本来就是互相制约的。
真正专业的系统,不是假装没有冲突。
而是把冲突暴露出来,让你选择。
五、最炸裂的功能来了:它居然给 PPT 写了静态检查器前面那些还只是“设计系统”。
真正让我觉得这个项目有意思的,是它自带了一个 Node 脚本:
node scripts/ppt-layout-guard.js deck.html --report layout-guard-report.json
它的作用,不是检查 PPT 有没有生成成功。
而是检查:
这套 HTML PPT 有没有明显的版式翻车风险。
比如:
标题会不会压住正文;
卡片会不会顶到导航区;
大标题换行后,最后是不是只剩一个“的”;
中文标题行高是不是过低;
文字容器是不是偷偷用了 overflow: hidden 来掩盖内容溢出;
页面里的标题区、正文区、卡片区、视觉区有没有空间冲突;
每个大模块有没有声明自己的 data-zone;
多元素页面有没有写 layout_box_budget。
这已经不是“AI 帮我美化 PPT”了。
这是:
PPT Lint +
Layout Static Analysis +
Design Contract Validation
项目的检查器会从 HTML 和 CSS 源码里读取区域定义,估算标题所需高度、识别中英文混排孤行、检查标题与正文的安全间距,并把严重问题标成 P0。只要 P0 没解决,就不应该交付。
想象一下。
以后你提交一套 PPT,不再只是:
final_v7_最终版_真的最终版.pptx
而是:
deck.html
deck-manifest.json
layout-guard-report.json
然后系统告诉你:
FAILSlide 03:标题和卡片重叠风险Slide 06:中文标题最后一行只剩 1 个字Slide 08:正文进入导航安全区域Slide 10:内容容器使用 overflow:hidden,疑似掩盖排版问题
这对于程序员来说,实在太熟悉了。
你不需要相信“感觉没问题”。
你可以先让它跑一遍。
六、为什么它选择 HTML,而不是直接生成 PPTX?这也是一个很现实的问题。
很多人会说:
“我最后还是要 PPTX 啊,HTML 有什么用?”
答案是:
HTML 更适合作为视觉生成过程中的“源代码”。
因为 HTML 可以:
精确控制动画;
用 CSS 管理设计 Token;
用固定画布控制 16:9 布局;
方便读取和检查元素区域;
方便做静态分析;
方便做浏览器演示;
最后再导出成 PDF 或 PPTX。
PPT-Design-DNA 的主输出不是 PPTX,而是固定 1920×1080 画布的 HTML Deck。
这非常像前端项目的思路:
HTML / CSS 是源代码PDF / PPTX 是构建产物
项目要求所有页面在固定 16:9 Stage 中渲染,并把 HTML 作为视觉保真、动效、检查和导出的主要载体。
这条路线未必适合所有人。
但对于“要做高质量演示稿”的团队来说,它比直接在 PPTX 里和各种排版偏差搏斗,要工程化得多。
七、它真正想解决的,不是“PPT 难看”,而是“设计无法复用”今天大多数团队做 PPT 的状态是:
领导说:这版不错,以后都照这个做。
然后三个月后,没人知道:
当初字号是多少;
卡片圆角是多少;
页面留白是多少;
哪种图表适合这个风格;
颜色为什么这样配;
什么场景不适合这套设计;
那张参考图到底在哪里;
为什么这次做出来完全不像上次。
于是,“一套好看的 PPT”,最终变成了一次性事故现场。
PPT-Design-DNA 想把它变成:
一次好看的结果→ 一套 Design DNA→ 一个可复用 Profile→ 多个场景 Adapter→ 可验证的交付规范
这才是它真正有价值的地方。
它把设计从“灵感驱动”,推进到“资产驱动”。
把 PPT 从“手艺活”,推进到“可维护系统”。
说完优点,也要说清楚它的边界。
第一,它不是一个点一下就产出完美 PPT 的 SaaS。
它更像一套给 AI Agent、Codex、Claude Code 等工具使用的工作流规范和 Skill。
第二,它的 Layout Guard 是源码级静态检查,不是“看一眼截图就知道美不美”的视觉审美裁判。
它能发现很多机械问题,但不能保证每一页都高级,也不能保证你的商业叙事一定成立。
第三,最终效果依然依赖三个东西:
内容是否清楚设计来源是否靠谱上层 AI 是否真的按规则执行
它解决的是“把设计过程工程化”。
不是绕过内容能力,也不是绕过审美判断。
但这已经非常重要了。
因为过去我们连“为什么这一页翻车”都说不清。
现在至少可以开始把问题拆出来:
是内容过多?是设计风格不适配?是标题容量超了?是卡片区域冲突?是信息密度和视觉目标矛盾?
一旦问题可以描述,就可以被优化。
最后:PPT 的下一个形态,可能不是模板,而是“可运行的设计系统”过去,PPT 是 Office 文件。
后来,PPT 是模板市场。
再后来,PPT 是 AI 一句话生成。
而这个项目给出的方向是:
PPT 也可以像软件一样,有设计 Token、有版本记录、有适配层、有交付约束、有静态检查。
未来真正拉开差距的,可能不是谁会写一句:
“帮我生成一个高级感 PPT。”
而是谁已经沉淀了自己的:
Design DNADesign ProfileScenario AdapterLayout Guard
程序员最喜欢的,从来不是“玄学变厉害”。
而是:
原本靠感觉的东西,终于开始可以复现、可以迭代、可以验证了。
PPT-Design-DNA 做的,正是这件事。
它不是在帮你做一套 PPT。
它是在尝试给“好看的 PPT”,建立一套工程学。
https://github.com/dakjdakd/PPT-Design-DNA如果你也厌倦了每次做PPT都从找模板开始,不妨关注这个方向:让设计成为可复用、可迭代、可验证的系统能力。