当大多数 AI PPT 工具还在纠结"能不能生成"的时候,这个技能已经在思考"如何让生成的东西经得起审美的审视"。


一、被一个 HTML 文件震撼到的那个晚上

做了 20 年技术,说实话,很难被什么东西震撼到了。

从 DOS 时代的 WPS,到 Windows 下的 PowerPoint 97,再到后来的 Keynote、Prezi、Slidev、Reveal.js,我见过无数的演示文稿工具。每一代技术出来的时候,都会说"重新定义 PPT",但说实话,大多数都只是换了个壳子。

直到上周,我用 guizang-ppt-skill 生成了一份 12 页的 HTML 演示文稿。

双击打开的那一刻,我愣住了。

这不是一份 PPT。这是一本会翻页的电子杂志。

衬线字体的大标题,像《Monocle》杂志那样优雅;非衬线的正文,清晰易读;等宽字体的数据标注,像代码一样精准。背景不是死板的纯色,而是如水墨在宣纸上晕开的 WebGL 流体效果——不是花哨的那种,是刚刚好、恰到好处的那种。

键盘左右键翻页,底部有圆点导航,按 ESC 还能呼出索引。每一页的入场都有动效,不是花哨的飞入飞出,而是基于内容逻辑的、有节奏感的过渡。

我盯着屏幕看了好几分钟。

然后我打开浏览器开发者工具,开始研究这个东西到底是怎么实现的。

这一研究,让我对"AI 辅助设计"这件事,有了全新的理解。


二、大多数 AI PPT 工具的问题:生成的东西"没文化"

在讲 guizang-ppt-skill 之前,我得先说说市面上大多数 AI PPT 工具的通病。

做了 20 年技术,我见过太多"功能很强但审美很差"的产品。AI PPT 工具大多也是这个路数——技术参数拉满,但出来的东西就是"没文化"。

具体来说,有三个层面的问题:

第一层问题:只看"生成",不看"设计"

大多数 AI PPT 工具的工作流是这样的:

  1. 你给一段文字
  2. AI 帮你分成几页
  3. 每页选一个模板
  4. 把文字填进去

问题在哪里?问题在于"模板"这个概念本身就是有缺陷的。

模板的本质是"预定义的布局"——但一个好的演示文稿,每页的布局应该由内容来决定,而不是反过来。

比如,你有一组硬数据要展示,用"数据大字报"的布局才对;你讲一个故事,用"左文右图"的叙事布局才对;你做流程说明,用"流水线"的布局才对。

大多数工具不做这个区分。反正选个模板,把文字塞进去完事。

第二层问题:没有统一的设计语言

好的设计不是"每页都好看",而是"整体有气质"。

你去看 Apple 的发布会 PPT,每页都不一样,但你一眼就能认出"这是 Apple 的风格"。为什么?因为它有统一的设计语言:

  • 字号的层级是固定的
  • 字体的分工是固定的(标题用什么,正文用什么,数据用什么)
  • 配色方案是固定的
  • 间距和留白是固定的

大多数 AI PPT 工具没有这个概念。AI 可能给你选了一个很漂亮的单页模板,但和上一页的风格完全不搭。整篇翻下来,感觉像在看一个拼贴画。

第三层问题:技术是手段,但不是目的

最让我哭笑不得的是,很多 AI PPT 工具把"酷炫特效"当成了卖点。

3D 旋转、爆炸动画、粒子效果、眼花缭乱的过渡——说实话,这些东西在 2005 年的 Flash 时代就已经玩腻了。

真正好的演示,动效是服务于内容的,而不是反过来。

比如你讲一个时间线,动效应该帮助观众理解"时间的流逝";你讲一个对比,动效应该帮助观众理解"前后的差异";你讲一个转折,动效应该帮助观众理解"变化的发生"。

但大多数工具不管这些。反正给你一堆动效,让你自己选。

下面用一张图直观对比一下"大多数 AI PPT 工具"和"guizang-ppt-skill"的区别:
在这里插入图片描述

三、guizang-ppt-skill 的核心理念:“设计系统"而非"模板”

好,现在说回 guizang-ppt-skill。

这个技能最打动我的地方,不是它能生成什么,而是它不能生成什么。

让我解释一下。

3.1 五套主题,不接受自定义颜色

打开 guizang-ppt-skill 的文档,第一条规则是:

只允许从 5 套精心调配的预设里选一套,不接受用户自定义 hex 值——颜色搭配错了画面瞬间变丑,保护美学比给自由更重要。

五套主题分别是:

  • 🖋 墨水经典:通用 / 商业发布
  • 🌊 靛蓝瓷:科技 / 研究 / 数据
  • 🌿 森林墨:自然 / 可持续 / 文化
  • 🍂 牛皮纸:怀旧 / 人文 / 文学
  • 🌙 沙丘:艺术 / 设计 / 创意

下图是其中四套主题的实际效果展示:
在这里插入图片描述

我第一次看到这条规则的时候,心里的反应是:“怎么这么霸道?”

但仔细一想,这才是真正懂设计的做法。

配色是一门学问。不是随便选两个好看的颜色拼在一起就行。要考虑对比度、可读性、情绪传达、视觉层级。大多数人(包括很多做了多年 UI 的设计师)都选不好颜色。

guizang-ppt-skill 替你做了这个决定。你只能从五套里选。这看起来是限制,实际上是保护。

我试了这五套主题,每一套的配色都经得起推敲。墨水经典的黑白灰,靛蓝瓷的冷色调,牛皮纸的复古暖色调——每一套都有完整的情绪基调。

深入研究:以"墨水经典"为例,看看代码里是怎么实现的

作为一个20年技术老兵,我喜欢"扒代码"。让我带你看看 guizang-ppt-skill 是怎么把"设计系统"写进代码里的。

我们以最常用的 🖋 墨水经典 主题为例,看看它的三个核心维度在代码里是怎么定义的。

1. 颜色怎么定义?

assets/template.html 的第 12-21 行,你会看到这样的代码:

:root{
  /* ============ 主题色(默认:🖋 墨水经典) ============ */
  --ink:#0a0a0b;        /* 纯墨黑 - 文字和深色背景 */
  --ink-rgb:10,10,11;    /* 墨黑的 RGB 形式 - 用于透明度 */
  --paper:#f1efea;      /* 暖米白 - 浅色背景 */
  --paper-rgb:241,239,234; /* 米白的 RGB 形式 */
  --paper-tint:#e8e5de; /* 米白的深色变体 */
  --ink-tint:#18181a;   /* 墨黑的浅色变体 */
}

关键设计思想:所有颜色都通过 CSS 变量定义,所有其他地方都用 var(--ink-rgb)var(--paper-rgb) 来引用。切换主题只需要替换这 6 行代码,其他地方不用动。

2. 字体怎么定义?

在第 23-28 行,字体策略被明确地定义了:

:root{
  /* ============ 字体(跨主题固定) ============ */
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --serif-en:"Playfair Display","Source Serif 4",Georgia,serif;
  --serif-zh:"Noto Serif SC",source-han-serif-sc,serif;
  --sans-zh:"Noto Sans SC",source-han-sans-sc,sans-serif;
}

关键设计思想

  • 衬线字体(Playfair、Noto Serif SC)给标题和数字——杂志感、出版物感
  • 非衬线字体(Noto Sans SC)给正文——清晰、现代、易读
  • 等宽字体(IBM Plex Mono)给代码和元数据——技术感、精确感
3. 布局怎么定义?

在第 91-104 行,布局工具类被系统地定义了:

.grid-6{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4vw 6vw}  /* 3x2 网格 */
.grid-9{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3vh 4vw}  /* 3x3 网格 */
.grid-4{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:4vh 6vw}  /* 2x2 网格 */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4vw}  /* 左右等分 */
.split-55{display:grid;grid-template-columns:55fr 45fr;gap:5vw}  /* 55:45 分栏 */

关键设计思想

  • 每种布局类对应一种叙事场景
  • 用 CSS Grid 实现灵活的响应式布局
  • 所有间距用 vw 单位,保持在不同屏幕上的比例一致

下面是这些代码在 template.html 中的实际样子(小白也能看懂的版本):
在这里插入图片描述

总结一下:guizang-ppt-skill 的核心不是"让 AI 生成漂亮的页面",而是"把一套经过反复打磨的设计系统用代码固化下来,让 AI 严格按照这套系统去生成"。

这就是为什么它比大多数 AI 工具"好看"——不是 AI 更会设计,而是这套设计系统本身就经过了专业设计师的反复打磨。

3.2 三种字体,分工明确

guizang-ppt-skill 的字体策略非常清晰:

衬线标题:Noto Serif SC + Playfair Display
非衬线正文:Noto Sans SC + Inter
等宽元数据:IBM Plex Mono

这不是随便选的。

衬线字体(Noto Serif SC、Playfair Display)用在标题上,给人一种"杂志感"、“出版物感”——这是它区别于其他工具的核心气质。

非衬线字体(Noto Sans SC、Inter)用在正文,清晰、现代、易读。

等宽字体(IBM Plex Mono)用在数据标注、代码、元数据上,给人一种"精确感"、“技术感”。

大多数 AI PPT 工具不做这个区分。标题和正文用同一种字体,或者随便换几种好看但不搭配的字体。结果就是整篇没有层级感。

guizang-ppt-skill 的字体分工,让你一眼就能看出"这个是标题,这个是正文,这个是数据"。

3.3 十种布局,对应十种叙事场景

这是我觉得最聪明的设计。

guizang-ppt-skill 不是提供"100个模板让你选",而是提供"10种布局对应10种叙事场景":

Layout 用途 对应叙事阶段
1. 开场封面 第1页 钩子(Hook)
2. 章节幕封 每幕开场 定调(Context)
3. 数据大字报 抛硬数据 主体(Core)
4. 左文右图 身份反差 / 故事 主体(Core)
5. 图片网格 多图对比 / 截图实证 主体(Core)
6. 两列流水线 工作流程 主体(Core)
7. 悬念收束 / 问题页 幕末 / 收尾 转折(Shift)
8. 大引用页 衬线金句 收束(Takeaway)
9. 并列对比 旧模式 vs 新模式 转折(Shift)
10. 图文混排 信息密集的图文页 主体(Core)

这背后的理念是:演示文稿是一种叙事,而不是信息的罗列

一个好的演示应该有叙事弧(Narrative Arc):

钩子(Hook)→ 定调(Context)→ 主体(Core)→ 转折(Shift)→ 收束(Takeaway)

每一种布局都对应叙事弧上的一个节点。比如"数据大字报"适合在主体部分抛出硬数据,"大引用页"适合在收束部分留下金句,"章节幕封"适合在每幕开场做节奏转换。

这不是模板,这是叙事设计系统

核心洞察:这十种布局不是"让你随便选",而是"根据你现在想表达的叙事目的,选最合适的布局"。

比如:

  • 你想开场抓人?用 Layout 1(开场封面)
  • 你想抛出硬数据?用 Layout 3(数据大字报)
  • 你想展示流程?用 Layout 6(两列流水线)
  • 你想收束留悬念?用 Layout 7(悬念收束)

这就是"叙事设计系统"的魅力——每一个选择都有明确的目的。


四、技术实现深度拆解:一个 HTML 文件里藏了多少巧思?

好了,理念讲完了,现在来聊聊技术实现。

我把 guizang-ppt-skill 生成的 HTML 文件从头到尾读了一遍,说实话,每看一行都有新发现。

4.1 单文件 HTML 的哲学

guizang-ppt-skill 生成的是单文件 HTML

这是什么意思?意思是 CSS、JavaScript、WebGL Shader、字体/图标 CDN 引用——全在这一个文件里。

你不需要任何构建工具,不需要 npm install,不需要本地服务器。双击就能打开,拷到 U 盘里插到投影仪上就能演示,断网也能用。

这在现代前端开发里简直是"复古"——但对于"演示文稿"这个场景来说,这才是正确的选择。

你有没有过这种经历:花了好几个小时做了一个基于 Web 的演示,结果到了现场,要么网络不好,要么环境不支持,要么构建出来的东西在某个浏览器里出问题?

单文件 HTML 解决了所有这些问题。

4.2 WebGL 流体背景:克制优于炫技

最让我惊艳的是它的 WebGL 背景。

但你知道吗?这个 WebGL 背景只在 hero 页(封面、章节幕封)可见,普通正文页几乎看不见。

文档里写得很清楚:

克制优于炫技 — WebGL 背景只在 hero 页透出,普通页几乎看不见。

这让我想起了乔布斯发布会的 PPT——他从不搞花里胡哨的东西,但关键节点的视觉冲击是精准的。

guizang-ppt-skill 的 WebGL 实现有几个细节值得一提:

细节一:主题平滑插值

当你翻到 hero 页的时候,颜色和 shader 会柔顺过渡,而不是突然切换。

这需要在 JavaScript 里监听翻页事件,然后对 WebGL 的 uniform 变量做插值动画。这不是什么难技术,但大多数工具根本不会想到要做。

细节二:离线可用

WebGL shader 是直接内嵌在 HTML 里的,不依赖外部加载。

而且它还做了降级处理——如果浏览器不支持 WebGL,或者 JavaScript 被禁用,页面依然能正常显示,只是没有流体效果而已。

这叫做"优雅降级"——很多现代前端框架早就忘了这个原则。

细节三:性能优先

WebGL 流体效果虽然看起来复杂,但实际性能开销很低。因为它只在 hero 页激活,而且 shader 的算法做了优化。

我用 Chrome DevTools 测了一下,60fps 稳稳的,风扇都不转。

4.3 翻页动效系统:Motion One + 5 种 Recipe

guizang-ppt-skill 的动效系统用的是 Motion One,一个非常轻量的 JavaScript 动画库(压缩后只有 64KB)。

但有意思的不是用了什么库,而是它的动效设计哲学。

文档里写着:

5 种 recipe 自动匹配布局,本地 + CDN 双保险,离线可用。

Recipe 这个词用得很好。它不是给你 100 种动效让你自己选,而是给你 5 种"配方",每种配方对应一种布局类型。

比如:

  • 数据大字报用什么入场动效?
  • 左文右图用什么入场动效?
  • 流水线用什么入场动效?

这些都已经替你决定好了。

这背后的理念是:动效应该服务于内容,而不是装饰内容

一个"数据大字报"的动效,应该突出"数字的冲击力";一个"流水线"的动效,应该帮助理解"步骤的顺序";一个"大引用页"的动效,应该突出"句子的分量"。

大多数工具不懂这个。反正给你一堆飞入飞出的动画,让你自己选。

4.4 CSS Grid 系统:结构优于装饰

guizang-ppt-skill 的布局系统是基于 CSS Grid 实现的。

但不是那种"随便写几个 grid-template-columns"的做法,而是一套完整的网格系统

比如:

  • grid-2-7-5:14 列网格,2-7-5 分栏
  • grid-2-6-6:14 列网格,2-6-6 分栏
  • grid-2-8-4:14 列网格,2-8-4 分栏
  • grid-3-3:6 列网格,两等分
  • grid-6:6 列网格
  • grid-4:4 列网格

为什么是 14 列?因为 14 可以分成很多种组合(1-6-7、2-5-7、3-4-7 等等),灵活性很高。

而且这套网格系统有一个很重要的原则:

结构优于装饰 — 不用阴影、不用浮动卡片、不用 padding box,一切信息靠大字号 + 字体对比 + 网格留白。

这是非常克制的设计哲学。大多数工具的做法是"加阴影、加边框、加圆角、加渐变"——靠装饰来掩盖内容本身的平庸。

guizang-ppt-skill 反其道而行之。它把装饰拿掉,逼你把内容层级做清晰。

4.5 图片处理策略:图片是第一公民

文档里有一句话我特别认同:

图片是第一公民 — 图片只裁底部,保证顶部和左右完整;网格用 height:Nvh 固定,不要用 aspect-ratio 撑。

大多数 AI PPT 工具把图片当"二等公民"——随便丢进去,随便拉伸一下,或者用 aspect-ratio 强行裁剪。

guizang-ppt-skill 的图片处理策略非常细致:

场景 推荐比例 特殊处理
左文右图主图 16:10 或 4:3 max-height:56vh
图片网格 固定 height:26vh 不用 aspect-ratio(会撑破)
左小图 + 右文字 1:1 或 3:2 用 grid + align-items:start
全屏主视觉 16:9 max-height:64vh
图文混排小插图 3:2 或 3:4 灵活处理

这里有一个很有意思的细节:图片绝不使用 align-self:end——因为会滑到 cell 底被浏览器工具栏遮挡。

这是踩过多少坑才总结出来的经验?大多数工具根本不会考虑这种边缘情况。

4.6 主题节奏规划:视觉呼吸感

这是一个非常高级的设计理念,大多数 AI PPT 工具甚至都没有这个概念。

guizang-ppt-skill 有严格的"主题节奏"规则:

- 每页 section 必须带 light / dark / hero light / hero dark 之一
- 连续 3 页以上同主题 = 视觉疲劳,不允许
- 8 页以上必须有 ≥1 个 hero dark + ≥1 个 hero light
- 整个 deck 不能只有 light 正文页,必须有 dark 正文页制造呼吸
- 每 3-4 页插入 1 个 hero 页(封面/幕封/问题/大引用)

这是什么意思?意思是你的演示应该有视觉节奏

想象一下,如果一整篇演示都是白底黑字,观众会视觉疲劳。但如果你穿插一些深色页面、一些 hero 页面,观众的眼睛就会有"呼吸感"。

这就像音乐——不能一直是高潮,要有起承转合。

下面用一张图直观展示"好的节奏"和"坏的节奏"的区别:
在这里插入图片描述

大多数 AI PPT 工具没有这个概念。每页都独立设计,根本不考虑整体的视觉节奏。


五、为什么我说这个技能代表了"AI 辅助设计"的正确方向?

研究完 guizang-ppt-skill 的实现,我最大的感受是:

它不是让 AI 替你做设计,而是让 AI 帮你执行一个已经高度优化的设计系统。

这是本质的区别。

下面用一张图直观展示"设计系统"和"模板"的本质区别:
在这里插入图片描述

5.1 AI 的角色:执行者,而非决策者

大多数 AI PPT 工具的逻辑是:

你给我内容,我帮你"设计"。

但问题在于,AI 真的懂设计吗?它能理解"叙事弧"吗?它能理解"视觉节奏"吗?它能理解"情绪传达"吗?

目前来看,还不能。

guizang-ppt-skill 的逻辑是反过来的:

我先把"设计系统"做出来(五套主题、三种字体分工、十种布局、主题节奏规则、动效 recipe),然后让 AI 帮你执行这个系统。

AI 不做设计决策——设计决策已经由人类设计师做好了。AI 做的是:

  • 根据你的内容判断"这一页应该用什么布局"
  • 根据你的主题选择"应该用什么颜色"
  • 根据叙事弧规划"整体的视觉节奏"

这才是 AI 辅助设计的正确打开方式。

5.2 设计系统的价值:可复用、可学习、可迭代

guizang-ppt-skill 本质上是一个可执行的设计系统

什么是设计系统?设计系统不是一套 Sketch 文件,不是一个 UI 组件库。设计系统是一套规则——关于字体、颜色、布局、动效、节奏的规则。

而 guizang-ppt-skill 把这套规则写进了代码里

这意味着:

  1. 可复用:每次生成的东西都遵循同一套设计语言
  2. 可学习:你可以通过研究这个系统,学习什么是好的演示设计
  3. 可迭代:系统本身可以不断优化,而不是从零开始

大多数 AI 工具的问题是,它们没有设计系统。每次生成都是独立的,没有积累,没有学习。

5.3 克制的力量:限制带来的自由

guizang-ppt-skill 给我最大的启发是:限制有时候是一种解放。

  • 只能选五套主题?没关系,这五套已经够用了,而且保证不会出错
  • 字体分工是固定的?没关系,这样你不用去纠结"标题用什么字体"
  • 布局只有十种?没关系,这十种覆盖了绝大多数演示场景
  • 动效不能自己选?没关系,系统替你选的肯定比你乱选的好

这些限制看起来是束缚,实际上是解放

它们把你从"选什么模板"、“选什么颜色”、"选什么字体"这些琐碎的决策中解放出来,让你专注于真正重要的事情:内容本身

这才是工具的价值——不是给你更多选择,而是帮你减少选择。


六、写在最后

研究完 guizang-ppt-skill,我最大的感受是:

大多数 AI 工具还停留在"让机器替人做"的阶段,但这个技能已经在思考"人和机器应该如何协作"。

它没有试图让 AI 成为一个"设计师"——它知道 AI 还做不到。

它做的是:

  • 人类设计师创造一套高质量的设计系统
  • AI 帮助人类执行这个系统
  • 人类专注于内容和叙事本身

这才是 AI 时代工具设计的正确方向。

不是"机器取代人",而是"机器放大人"。

20 年技术生涯,我见过太多工具来来去去。大多数工具追求的是"功能最多"、“效果最炫”、“速度最快”。

但真正伟大的工具,追求的是"最懂用户"、“最解放创造力”、“最尊重设计规律”。

从这个角度来说,guizang-ppt-skill 是我近年来见过的最有想法的演示工具之一。

它不是在做"又一个 AI PPT 工具"。

它是在重新思考:在 AI 时代,演示文稿应该是什么样子?

这个问题,值得我们每个人思考。


七、互动时间1

你用过 guizang-ppt-skill 吗?或者有没有其他让你眼前一亮的 AI 工具?

欢迎在评论区分享你的发现。

福利时间:关注我的公众号,回复【guizang】即可获取:

  1. guizang-ppt-skill 的完整安装教程
  2. 五种主题色的详细色值表
  3. 十一种布局的使用场景指南
  4. 主题节奏规划的实际案例

真正的进步,不是用机器取代人,而是让机器把人从琐碎中解放出来,去做那些只有人才能做的事。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐