presentation-ai
开源 AI PPT 生成器,用 LangChain Agent 实现 Gamma 级别的智能演示文稿创建体验
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI PPT 生成器,用 LangChain Agent 实现 Gamma 级别的智能演示文稿创建体验
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历——周五下午三点,老板突然说「明天的客户汇报 PPT 能不能再精致一点」?于是你打开 PowerPoint,面对一张空白幻灯片,开始从配色纠结到版式,从文字排版熬到深夜,最终交出的成果依然像个「套模板都套歪了」的半成品。
ALLWEONE® Presentation AI 就是来解决这个痛点的。这是一个完全开源的 AI 演示文稿生成器,定位是 Gamma.app 的开源替代方案——你给 AI 一段文字描述,它就能在几分钟内帮你生成一套完整的、视觉精美的专业级 PPT。不再需要手动排版,不再需要对着模板库大海捞针,AI 直接帮你搞定内容生成、主题选择、甚至图片素材。

图1:ALLWEONE Presentation AI 界面概览
这个项目由 ALLWEONE 团队开发维护,GitHub 已积累超过 2885 颗星,是当前开源 AI PPT 生成领域最活跃的项目之一。它不仅仅是一个「文字转幻灯片」的工具,而是一个完整的产品级解决方案,涵盖了从大纲规划、幻灯片生成、主题定制、实时编辑到最终 PPTX 导出的全链路。
场景一:市场部小王的时间解放。 以前做一份 20 页的产品介绍 PPT,从搜集资料到排版美化,至少要耗费一个工作日。现在他只需要输入「我们的产品 X 是一款面向中小企业的 SaaS CRM,主打智能线索分配和销售漏斗分析,目标用户是 25-40 岁的销售经理,风格偏科技感」——AI 就会自动生成完整大纲,确认后一键生成幻灯片,全程不到 10 分钟。
场景二:技术团队 Leader 张老师的分享利器。 他需要每月在部门内做一次技术分享,但总苦于「内容有,版式丑」。现在他可以直接从 AI 生成的技术架构图幻灯片入手,配合 Plate Editor 做精细化编辑,演讲前再导出 PPTX 带到会议室——整个过程行云流水。
场景三:创业团队 CEO 陈总的快速提案。 见投资人前的深夜,一份漂亮的 BP 演示文件就是制胜关键。Presentation AI 内置的 AI 图像生成功能,可以自动为每张幻灯片配上专业配图,让非设计师出身的创始人也能做出「看起来很贵」的演示材料。
这三个场景背后,反映的是 AI PPT 工具的真正价值:不是替代你的思考,而是替代你「把思考变成漂亮 PPT」那 70% 的重复劳动。
理解 Presentation AI 的技术内核,是理解它为什么比「套模板」强大得多的关键。
整个系统的核心是一个基于 LangChain Agent 的智能体架构。在 src/ai/agents/presentation/createAgent.ts 中,定义了 createPresentationGraph() 函数,构建了一个完整的 Agent 工作流:
// 核心 Agent 创建流程(简化)
const llm = modelPicker("gpt-4o-mini");
const agent = createAgent({
model: llm.withConfig({
parallel_tool_calls: false,
tool_choice: "required",
}),
tools: [...presentationTools],
name: "presentation_agent",
middleware: [pastedContentMiddleware, trimMessageHistory],
systemPrompt: "You are an expert presentation editing agent..."
});
系统默认使用 GPT-4o-mini 作为推理模型,但通过 modelPicker 支持灵活切换——可以接入 OpenAI、Together AI、Ollama 或 LM Studio,这意味着用户既可以使用云端 API,也可以完全在本地运行。
Agent 的工作依赖于一套精心设计的 工具系统(src/ai/tools/presentation/tools.ts),包含以下核心能力:
| 工具名称 | 功能描述 |
|---|---|
create_slide | 根据大纲生成新幻灯片 |
regenerate_slide | 重新生成指定幻灯片内容 |
edit_slide_properties | 修改幻灯片属性(背景色、布局、对齐等) |
replace_image | 替换幻灯片主图,支持 AI 生成或图库搜索 |
change_theme | 切换内置主题(38 种预设) |
create_custom_theme | 创建自定义主题(字体、配色、品牌样式) |
pptx_theme_extractor | 从现有 PPTX 文件导入主题灵感 |
export_pptx | 导出为标准 PPTX 文件 |
这套工具的巧妙之处在于:Agent 不是一次性生成整套 PPT,而是按需调用工具逐步构建——用户可以在生成过程中随时介入,修改大纲、调整风格、追加幻灯片,Agent 则负责理解意图并精准执行。
Presentation AI 没有使用 HTML 或 React 来渲染幻灯片,而是选择了一种更「结构化」的方案:自定义 XML DSL。
每张幻灯片都是一个 XML 片段,定义了布局组件、文本内容和图片引用:
<SECTION layout="vertical">
<TITLE>AI驱动的现代工作流</TITLE>
<CONTRIBUTOR />
<IMG prompt="modern office workspace collaboration" source="ai" />
<COLUMNS>
<DIV>
<H2>自动化</H2>
<P>减少重复性工作</P>
</DIV>
<DIV>
<H2>协作</H2>
<P>实时多人编辑</P>
</DIV>
</COLUMNS>
</SECTION>
支持的布局组件极其丰富,涵盖了日常演示中的几乎所有场景:标题页、图文混排、双栏对比、多栏布局、时间线、流程图(STEPS)、金字塔(PYRAMID)、循环图(CYCLE)、图表(INFOGRAPHIC)等。其中 <INFOGRAPHIC> 标签尤为强大——用户只需要描述想要的图表类型(流程图、矩阵、关系图等),AI 就能自动生成对应的可视化内容。
这种设计的优势在于:格式与渲染完全解耦。XML 定义结构,后端负责渲染成 React 组件或导出为 PPTX。同一个 XML 可以在 Web 编辑器中实时预览,也可以无损转换为 PowerPoint 文件。
Presentation AI 的前端是一个典型的 Next.js 全栈应用,同时承担着编辑器界面和后端 API 的双重职责。
编辑器核心:使用了 Plate Editor(一个基于 Slate.js 的富文本编辑器框架)作为幻灯片文本编辑的基础。Package.json 中可以看到,项目依赖了 @platejs/core 以及超过 30 个 Plate 插件(@platejs/markdown、@platejs/code-block、@platejs/excalidraw 等),覆盖了从 Markdown 解析、代码高亮到 Excalidraw 手绘图的各类编辑场景。
AI 交互层:位于 src/components/ai/generative-ui/ 和 src/components/presentation/agent/ 目录下,实现了 Agent 对话面板、AI 消息渲染、工具调用展示等交互逻辑。用户可以在侧边栏与 AI Agent 对话,用自然语言指挥 PPT 的修改。
主题系统:完整的可扩展主题体系在 src/lib/presentation/ 下管理:
themes.ts:38 种内置主题(颜色、字体、背景的组合配置)theme-schema.ts:主题属性 Schema(presentationAiThemePropertiesSchema)pptx-theme-extractor.ts:PPTX 主题导入器,可从现有 PPT 文件提取设计风格generated-theme.ts:AI 生成主题的逻辑数据库层:使用 Prisma ORM 连接 PostgreSQL,支持会话持久化(@langchain/langgraph-checkpoint-postgres)和 NextAuth.js 认证。.env.example 显示需要配置 Google OAuth 登录。
图片服务:集成了多个图片来源——OpenAI/DALL-E、Together AI、Fal AI 用于 AI 图片生成;Unsplash 用于图库搜索;UploadThing 用于文件上传。
作为一款面向开发者的开源工具,Presentation AI 目前不提供 Docker 支持,也不包含 docker-compose.yml——这是它最明显的部署门槛,也是它「代码质量高但上手门槛不低」的真实写照。
部署需要满足以下前提条件:
README 中提供了清晰的安装步骤,但整体配置项较多,新手第一次部署可能需要 30 分钟到 1 小时。值得称道的是,项目提供了完整的本地模型指南(Local Models Guide),用户可以通过 Ollama 或 LM Studio 接入本地 LLM,实现零 API 成本运行——这对隐私敏感的场景非常有吸引力。
部署难度评估为中等(3/5),主要门槛在于数据库搭建和 API Key 配置,而非代码本身。
没有任何工具是完美的,Presentation AI 也不例外。
第一个问题是图片素材的版权风险。虽然内置了 Unsplash 图库搜索,但 AI 生成图片的能力(依赖 DALL-E/Together AI)需要付费 API Key,且生成内容的版权归属在商业演示场景下存在模糊地带,企业用户需要自行评估合规风险。
第二个问题是复杂布局的局限性。尽管 XML DSL 覆盖了常用布局,但面对极度定制化的演示设计(如精确到像素的品牌指南配合),当前的工具链可能仍需要较多的手动调整。Plate Editor 虽然强大,但在大批量幻灯片编辑场景下的性能表现还有待验证。
第三个问题是国际化中文支持。项目 README 有多语言版本,但考虑到 AI Agent 的 System Prompt 默认为英文,在纯中文 PPT 生成场景下,生成质量可能受到英文思维模式的影响。
第四个问题是维护活跃度。作为一个快速迭代的项目,LangChain 版本更新可能带来兼容性问题,需要关注依赖版本锁定策略。
不过,对于一个仅有 2885 星的早期开源项目来说,Presentation AI 的完成度已经相当惊人。它的出现证明了:AI PPT 工具不需要是闭源的 SaaS,开源社区同样可以做出产品级的解决方案。
Presentation AI 背后反映的,是演示文稿制作领域正在发生的一场静默革命。
传统 PPT 制作的核心矛盾是**「设计能力」与「内容创作」的不对称**——大多数人擅长创作内容,但不擅长设计。Gamma.app 在 2023 年的爆火,正是精准戳中了这个痛点。而 Presentation AI 的价值在于:它把这种能力从商业 SaaS 的付费墙后面解放出来,让任何人都可以自由使用、修改、甚至自建部署。
从更宏观的视角看,这个项目代表了一个趋势:AI Agent 正在从问答助手进化为真正的「执行者」。在 createAgent.ts 的 System Prompt 中,有一条关键规则——「当用户要求创建、编辑、翻译、重写、删除幻灯片内容时,必须调用相应的 presentation 工具,而不是用文字回复替代」。这条规则确保了 Agent 的行为边界:它不是给你建议,而是直接帮你做事。
随着 LangChain Agent 生态的成熟,类似 Presentation AI 的工具会越来越多——不只是 PPT,还有视频脚本、数据报表、网页原型……「说一句话,AI 帮你搞定」的愿景,正在通过一个个具体项目逐渐照进现实。
总结:ALLWEONE® Presentation AI 是一款架构成熟、功能完整、社区活跃的开源 AI PPT 生成工具。它以 LangChain Agent 为核心,通过自定义 XML DSL 定义幻灯片结构,集成了从大纲生成到图片素材的完整 AI 工作流。适合有技术背景的团队或个人,用于快速制作专业演示文稿、构建企业内部 PPT 生成工具,或作为 AI Agent 应用开发的学习样本。