Slaide 工具将演示文稿存储为 Markdown + YAML 纯文本,支持 git diff、代码审查、自动生成,解决二进制文件的版本管理和协作问题。

如果你曾经尝试对一份幻灯片进行 code review,那么你已经知道本文要解决的问题是什么了。下面是我们的替代方案,以及为此付出的代价。
Slaide 将整套幻灯片保存在一个纯文本文件中,因此可以在 git 中查看 diff,像审查代码一样进行 review,Agent 也能在不操作 GUI 的情况下编写它。
我做过很多套幻灯片。它们无一例外,最终都变成了共享硬盘里的二进制文件,也无一例外地存在同样三个问题:无法查看 diff、无法 review,也无法自动化。最后的解决办法出奇地朴素:把幻灯片做成文本文件。
.slaide 文件是什么?它用 Markdown 保存文字,再用一小段 YAML 配置主题。这就是整个格式。
theme:
palette: ink
font: IBM Plex Sans
# The problem
Decks are binaries.
- You cannot diff them
- You cannot review them
- You cannot generate them without a GUI
# The fix
Make the deck a text file.
这个文件可以渲染成网页版幻灯片、PDF,以及能在 PowerPoint 中正常打开和编辑的 .pptx 文件。同一份源文件,生成三种输出,中间不需要反复折腾导出流程。
因为你之后想对幻灯片做的所有事情,都取决于它。
二进制幻灯片无法进入 code review 流程。你可以把它附在 pull request 里,但没有人能看出第四版和第五版之间究竟改了什么,因此也就没人能真正做好 review。而文本格式的幻灯片会直接显示为 diff:定价页改了三行,审查者只需要读这三行。
二进制幻灯片同样无法由 Agent 编写。这一点最终促使我下定决心。你没法把一个 .pptx 文件交给模型,然后说:“第 12 页废话太多,把它改好。”模型要么得操作 GUI,要么得重写 OOXML,而这两件事都不适合在无人监管的情况下进行。把文本文件交给它,这项工作就变成了普通的文本编辑,而这正是模型擅长的事情。
Slaide 为此提供了 MCP server 和 Agent Skill。Agent 读取文件、编辑文件,剩下的全部交给渲染器完成。
这是我最先听到的质疑,而且非常合理。公司里没人靠 Markdown 办公。“把幻灯片发给我”,意思是“发一个我能打开、能修改的文件给我”。
所以,.pptx 导出并不是把截图堆进文件里。导出的文件包含真正的文本框、真正的形状和真正可编辑的内容。即使一个人从未听说过 Slaide,也可以打开文件,把某个文本框拖到别的位置。导入同样支持反向操作:把已有的 .pptx 交给 Slaide,就能还原出文本形式。
双向转换是整个项目中最困难的部分,远超其他工作。OOXML 并不是一种适合手写的格式。要让幻灯片导出到 PowerPoint,再重新导入后仍然保持原样、不发生偏移,花费的时间远比开发渲染器多。
这里也坦诚说一下它的局限:设计非常复杂的幻灯片无法完美完成双向转换。如果你的幻灯片充斥着手工摆放的装饰元素和定制动画,那么导入时,其中一些内容会被扁平化。Slaide 最适合以内容为主的幻灯片。实际工作中,大多数日常幻灯片都属于这一类,但大多数大会主题演讲的幻灯片并不是。
在这个问题上,说清楚具体情况比表现得慷慨更重要。
核心部分采用 Apache-2.0 许可证,代码位于 github.com/aivorynet/slaide。其中包括渲染器、CLI、.pptx 导入与导出、MCP server 和 Agent Skill。如果你想在 CI 中渲染幻灯片、通过脚本生成幻灯片,或者基于这种格式构建其他东西,使用的就是这份许可证,而且不存在供应商锁定:文件是纯文本,导出工具也是开源的。
WYSIWYG 编辑器是闭源的。登录后即可免费使用——这项调整发生在 2026 年 7 月 28 日。之所以改变,是因为向编辑器收费,只会让我在仪表盘上多得到一个数字,而不是让用户真正开始用它制作幻灯片。
桌面查看器使用 Rust 和 WebView 构建,并将渲染器作为独立的二进制程序启动。
主要有三类人,以下按他们出现的先后顺序排列:
第一类是开发者。他们已经把其他所有东西都放进 git,因此会觉得唯独幻灯片这一项产物无法 review,是件很奇怪的事。第二类是以编程方式生成幻灯片的团队——比如每周指标、客户报告,以及任何让人手工拼装幻灯片纯属浪费人力的场景。第三类是使用 Agent 构建产品的人,他们希望把幻灯片作为一种模型真正能够生成的输出格式。
如果你靠设计精美且高度定制的演示文稿谋生,那么这款工具并不是为你准备的,我也不会试图说服你使用它。
安装核心工具,编写文件,然后渲染。
npm install -g slaide
slaide render deck.slaide --out deck.pptx
这就是完整的工作流程。只需在同一条命令中更换 --out,就能生成网页版幻灯片和 PDF。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。