guizang-ppt-skill:让 AI Agent 直接产出单文件 HTML 演讲文稿
AI 代理 用于生成精美 HTML 幻灯片的技能:社论杂志和瑞士布局、图像提示、社交封面和 WebGL/低功耗演示运行时。
秒懂
- 它是什么?
- guizang-ppt-skill 是一套面向 Claude Code、Codex 等 Agent 的 Skill,把杂志与瑞士风格排版、配图提示词、演讲者模式和现场工具打包成可复用的工作流。它输出单文件 HTML,无需构建,但它的适用边界和校验成本需要先看清楚。
- 适合谁用?
- 适合线下分享、产品发布、demo day 这类演讲场景的人,尤其是已经用 Claude Code 或 Codex 工作、愿意把排版交给模板和脚本约束的 Agent 用户。不适合需要大段表格、高信息密度培训课件,或者多人协作编辑同一份 PPT 的团队,因为单文件 HTML 无法支持实时协同。
- 能商用吗?
- 可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
- 还在维护吗?
- 在维护。仓库最近一次提交在 40 天前。
- 用什么语言写的?
- 主要是 HTML(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
Agent 时代的 PPT 生成,卡在文件格式上
传统 PPT 是二进制或 XML 压缩包,AI Agent 改起来很别扭。Markdown 虽然 Agent 能读,但表现力不够,做不了精细排版。guizang-ppt-skill 选择的是单文件 HTML,理由是 HTML 和 CSS 是纯文本,Agent 可以直接读、改、验证,不需要解析二进制格式。这个选择让整个工作流变成文本处理,而不是文件格式转换。项目面向的是用 Claude Code、Codex 这类有 shell 权限的 Agent 用户,目标是生成演讲用的横向翻页 PPT、配图和多平台封面。它不适合没有文件系统和浏览器预览的普通 Chatbot,这一点 README 里写得很直白。
两套视觉系统,不是换肤是约束
Style A 叫电子杂志 × 电子墨水,定位是叙事、观点、个人风格,像 Monocle 贴上了代码。Style A 提供 10 种布局,包括封面、章节、数据大字报、图文、图片网格、Pipeline、对比。Style B 叫瑞士国际主义,定位是事实、产品、分析、方法论,用 16 列 grid、直角色块、1px 发丝线,无阴影、无渐变、无圆角,锚点色只有克莱因蓝、柠檬黄、柠檬绿、安全橙四种。Style B 有 22 个具名版式,从 S01 到 S22,正文页只能从这些版式里选,不能临时发明页面结构。这不是一套 CSS 换肤,而是把版式选择从 Agent 的自由发挥变成枚举列表,用脚本拦住居中标题、实验版式、SVG 内写字、图片脱离槽位这些问题。
工作流是七问清单加校验器
Skill 本身是结构化工作流。Agent 先问七个问题:风格、受众、时长、素材、图片需求、主题色、硬约束。然后拷贝模板,Style A 用 assets/template.html,Style B 用 assets/template-swiss.html。接着做主题节奏表,从 layout 骨架里挑、粘、改文案。配图是可选的,在 Codex 里可以用 GPT-Image 2.0 或 GPT-M 2.0 生成纪实照片、信息图、流程图、系统关系图、UI 情景图,按模板比例插入。最后要对照 references/checklist.md 自检,P0 级问题必须全过。瑞士风和演讲模式各有独立校验器,瑞士风校验命令是 node scripts/validate-swis(README 截断,完整命令可能带后缀),演讲模式校验是 node scripts/validate-presenter-mode.mjs path/to/index.html,还可以加 --target-minutes 30 指定目标时长。
演讲者模式把现场工具也塞进 HTML
两套模板都内置同一个演讲者运行时。打开 deck 后按右下角 P 进入演讲者视图,浏览器会同时打开一个干净的观众屏。所有能力都在本地 HTML 和浏览器里完成,不依赖云端中继、实时字幕、手机遥控或 AI 教练服务。演讲者能看到当前页和下一页,始终保持 16:9,小屏时整页等比缩放。有宫格选页、结构化备注、进度状态。底栏显示已进行、本页和剩余或超时时间,排练模式记录每页实际时长,数据保存在本地浏览器,不做 AI 评分。自动翻页默认关闭,只有大纲明确给出页面停留秒数或用户在设置中开启全局间隔时才启用。现场工具有激光笔、圈选、一键黑屏白屏、冻结观众屏,恢复后自动追平当前页。快捷键包括 ← / → 翻页,G 宫格,L 激光笔,C 圈选,B / W 黑屏或白屏,F 冻结。
安装与触发,命令很直接
安装方式有三种。推荐用 npx skills add https://github.com/op7418/guizang-ppt-skill --skill guizang-ppt-skill。也可以直接把一段话发给有 shell 权限的 Agent,让它把仓库克隆到 ~/.claude/skills/guizang-ppt-skill,然后检查 SKILL.md、assets/、references/ 是否存在。手动方式是 git clone https://github.com/op7418/guizang-ppt-skill.git ~/.claude/skills/guizang-ppt-skill。更新用 git pull。触发靠自然语言,比如“帮我做一份杂志风 PPT”“帮我做一份瑞士风 PPT”“基于这份 PPT 生成一张 1:1 分享卡”。安装后 Agent 会在对话里自动发现并调用这个 skill。平台支持上,Claude Code 和 Codex 是原生支持,Cursor 和其他本地 Agent 可用,WorkBuddy 还在适配中,普通 Chatbot 不推荐。
低性能静态模式与浏览器预览
有一个值得注意的降级机制:按 B 键可以关闭 WebGL 和 canvas 动画,让动态内容退回静态背景。这个功能叫低性能静态模式,适合在投影仪性能差或者网络不稳定的场合应急。README 强调所有功能都在本地 HTML 和浏览器里完成,不需要服务器。这也意味着预览就是浏览器直接打开文件,不需要构建步骤。但反过来,如果 Agent 环境没有浏览器,就无法做视觉检查,瑞士风的 Playwright 后验测量也跑不了。README 里提到在可用时用 Playwright 测量溢出、底部空白、nav 安全线和标题间距,这说明视觉质量保障依赖浏览器环境,不是纯静态检查能覆盖的。
局限:表格、培训课件和多人协作都不合适
README 明确写了不合适的场景:大段表格数据、培训课件(信息密度不够)、需要多人协作编辑。单文件 HTML 是交付物,也是协作的障碍,多人同时改一个 HTML 文件没有版本管理会很痛苦。另外,演讲备注契约里有一条硬规则:用户没提供的信息不猜测。这意味着如果大纲里没有互动、语气、翻页时机这些信息,演讲者模式里对应区域就不显示。这是刻意的克制,但也是局限,Agent 不会主动补全现场经验。还有一点,中文大标题在 Style B 里需要降一档字号,否则会占掉正文和图片空间,这是中文字体渲染的硬约束,不是可选项。
替代方案:从 Markdown 到 HTML 的两种路线
一个现实的替代方案是直接用 reveal.js 或 Slidev 这类框架,把 Markdown 或 HTML 内容变成幻灯片。区别在于,reveal.js 是通用框架,提供翻页、主题、插件,但版式系统和校验脚本要自己搭;guizang-ppt-skill 把版式、校验、演讲者工具打包成 Agent 可调用的 Skill,省去从零组装的时间,但也锁定了两套视觉风格。如果你需要完全自定义的版式,或者想用自己团队的组件库,通用框架更灵活。另一个替代是让 Agent 直接生成 PowerPoint 文件,用 python-pptx 之类的库,但那是二进制格式,Agent 修改和校验的成本更高,而且没有内置演讲者模式。guizang-ppt-skill 的取舍是:用版式约束换取生成质量,用单文件 HTML 换取交付轻量。
编辑结论
适合线下分享、产品发布、demo day 这类演讲场景的人,尤其是已经用 Claude Code 或 Codex 工作、愿意把排版交给模板和脚本约束的 Agent 用户。不适合需要大段表格、高信息密度培训课件,或者多人协作编辑同一份 PPT 的团队,因为单文件 HTML 无法支持实时协同。采用前先确认三件事:你的 Agent 环境能执行 shell 命令并读写本地文件;你接受 AGPL-3.0 对分发场景的约束;你愿意跑一遍 `node scripts/validate-presenter-mode.mjs` 和瑞士风校验器,否则版式问题只能在浏览器里人工发现。这个项目的核心承诺是“Agent 能直接读、改、验证 HTML”,它的价值建立在文本化工作流之上,离开这个前提,它只是一堆模板。
社区笔记