我花了一个月,做了一个开源项目——PPT-Agent。说它"聊天式"不是噱头,是真的跟AI对话就能出PPT。
一、为什么又造一个PPT轮子?
说实话,市面上的AI PPT工具已经不少了。Gamma、Canva、各种国产的"一键生成PPT"产品,各有各的好。
但我始终觉得差点意思。
差在哪?
- 不能深度研究:大多数工具拿到主题就硬编内容,没有联网搜索,生成的PPT信息密度低
- 不支持自己的模型:商用产品绑定了模型,你想用DeepSeek、Qwen或者本地Ollama?没门
所以我决定自己做一个,顺便开源出来。
GitHub 地址:https://github.com/SuTn/PPT-Agent
二、PPT-Agent 能干什么?
一句话概括:你告诉它主题,它帮你完成研究、大纲、排版、生成、导出全流程。
举个例子,你输入:
"帮我做一份米哈游投资分析的PPT,16页左右"
它会:
- 自动联网搜索米哈游的最新数据(营收、产品线、市场分析等)
整个过程,你只需要在开始时确认一下需求,然后就等着看结果就行。
三、几个我觉得比较重要的设计
1. 双模式:快速 vs 标准
不是所有人都想要一样的体验。
- 快速模式:确认需求后,AI自动跑完全流程。适合信任AI判断、追求效率的场景
- 标准模式:每个步骤(研究、大纲)完成后暂停,等你确认或提修改意见再继续
说白了,快速模式是"我信任你,你全权处理",标准模式是"每一步我都要把关"。
2. 深度研究,不是瞎编
这是我觉得跟其他工具差异最大的地方。
PPT-Agent的研究阶段会对主题进行多维度分析,自动搜索最新网络信息。比如做"米哈游投资分析",它会从公司背景、产品矩阵、财务数据、竞争格局等维度分别搜索,然后综合成研究笔记。
这些研究笔记会作为大纲生成的素材输入,不是让模型凭空编内容。
💡 如果不联网也能用:搜索是可选的,不配置就纯靠模型自身知识生成。对于模型已经熟悉的主题,效果也不错。
3. 9套内置模板,不是白板
模板这件事,我觉得是开源项目容易忽视的。很多AI PPT项目生成的幻灯片就是白底黑字,丑得没法看。
PPT-Agent内置了9套精心设计的模板:
每套模板都定义了封面、目录、章节页、内容页、结尾页等不同版式,不是简单的颜色切换。
4. 逐页实时预览
幻灯片是并发生成的,每完成一页就实时推送到前端。你不用等全部生成完才能看到效果——第一页出来就能预览了。
如果某页不满意,可以单独用AI编辑修改,不用重新生成整个PPT。
5. 双格式导出
- 可编辑PPTX:文本、形状等元素可以在PowerPoint/WPS中直接编辑
- 图片PPTX:每页作为高清图片嵌入,排版还原度最高
两种格式各有适用场景。需要二次编辑选前者,需要确保展示效果选后者。
四、技术实现简述
给技术同学简单聊聊实现方案:
整体架构:
用户对话→LangGraphAgent→调度多个asynctool→HTML幻灯片→Playwright截图→PPTX导出
关键技术选型:
| |
|---|
| |
| LangChain (ChatOpenAI / ChatAnthropic) |
| |
| Vue 3 + TypeScript + Pinia |
| HTML/CSS → Playwright截图 → python-pptx |
| SQLite (对话历史) + JSON (会话状态) |
几个技术亮点:
- 骨架模板 + 内容分离:模板定义骨架(页码、标题栏、装饰),LLM只生成内容区域HTML。这样不同页面风格统一,不会因为LLM的随机性导致排版混乱
- SSE流式推送:使用
astream(mode="updates")实现实时事件流,工具进度、幻灯片生成都能实时推送到前端 - 会话隔离:每次PPT生成独立目录,用
contextvars传递会话上下文 - 安全设计:iframe沙箱 + CSP头,防止LLM生成的HTML执行脚本
五、快速上手
安装
gitclonehttps://github.com/SuTn/PPT-Agent.gitcdPPT-Agentuvsyncuvrunplaywrightinstallchromium
配置
编辑.env,配置你的大模型API Key。支持OpenAI兼容接口和Anthropic兼容接口:
#用DeepSeekPPT_AGENT_MODEL=openai:deepseek-chatPPT_AGENT_OPENAI_API_KEY=sk-xxxPPT_AGENT_OPENAI_BASE_URL=https://api.deepseek.com/v1
#或者用通义千问PPT_AGENT_MODEL=openai:qwen-plusPPT_AGENT_OPENAI_API_KEY=sk-xxxPPT_AGENT_OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
#或者本地OllamaPPT_AGENT_MODEL=openai:qwen2.5:14bPPT_AGENT_OPENAI_API_KEY=ollamaPPT_AGENT_OPENAI_BASE_URL=http://localhost:11434/v1
说白了,只要是OpenAI兼容的接口都能用。这意味着国内主流模型(DeepSeek、通义千问、Moonshot等)以及本地部署的Ollama,开箱即用。
启动
#后端uvrunppt-agent-api
#前端(新终端)cdweb&&npminstall&&npmrundev
打开 http://localhost:5173 就能用了。
六、展示几个效果
用sunset模板生成的一份16页米哈游投资分析PPT:
用education模板生成的一份15页勒布朗·詹姆斯传记PPT:
完整PPTX文件可以在项目的 examples/[https://github.com/SuTn/PPT-Agent/tree/main/examples] 目录下载。
七、接下来打算做什么?
PPT-Agent目前还是早期版本,有几个方向正在规划:
- 自定义模板:允许用户导入自己的PPT模板,生成时自动适配
- 图表生成:根据数据自动生成柱状图、饼图等可视化图表
如果你对这些方向感兴趣,或者有其他想法,欢迎提 Issue[https://github.com/SuTn/PPT-Agent/issues] 或 PR[https://github.com/SuTn/PPT-Agent/pulls]。
写在最后
做这个项目的初衷很简单:我想让做PPT这件事变得不那么痛苦。
每次做PPT,都不知道从哪开始,无论是内容组织——查资料、理逻辑、搭框架,还是排版,都耗时耗力。但这些恰恰是AI擅长的事。PPT-Agent想做的,就是先用AI帮你找方向,确定一个大纲,你只需要微调修改。
项目完全开源,MIT协议,随便用。
如果觉得有用,欢迎去 GitHub 给个 Star ⭐,这是对开源作者最好的鼓励。
GitHub:https://github.com/SuTn/PPT-Agent
你在做PPT时最头疼的是什么?
欢迎评论区聊聊 👇
标签:#开源项目#AI工具#PPT#效率工具#Python#Vue