Presenton:开源AI演示文稿生成器及API
原标题:presenton/presenton
TypeScript★ 7,246 stars+2,142 本周
速览
Presenton是一个基于TypeScript构建的开源项目,旨在解决传统PPT制作耗时费力的问题。它集成了AI生成引擎与API接口,支持用户快速创建高质量幻灯片,适用于需要高效演示内容生成的个人开发者及企业团队。
AI 深度解读
这是什么
Presenton 是一个基于 TypeScript 构建的开源 AI 演示文稿生成工具,旨在提供完全可控、无 SaaS 锁定且支持本地部署的 PPT 制作体验。它允许用户通过自然语言提示或上传文档,利用多种大语言模型(LLM)和图像生成模型,自动生成结构完整、设计专业的演示文稿,并支持导出为可编辑的 PowerPoint (PPTX) 或 PDF 格式。
该项目采用 Apache 2.0 开源协议,核心架构由 Next.js(前端)和 FastAPI(后端)组成,支持通过 Docker 容器化部署或作为 Electron 桌面应用运行。其最大特点是“Bring Your Own Key”(BYOK)模式,用户只需提供自己的 API 密钥,无需依赖第三方订阅服务,从而确保数据隐私并降低长期成本。
解决的问题
- SaaS 锁定与数据隐私风险:传统 AI PPT 工具(如 Gamma、Beautiful.ai 等)通常将数据存储在云端,存在隐私泄露风险,且用户被绑定在特定平台的订阅体系中。Presenton 通过本地部署和 BYOK 模式,让用户完全掌控数据流向和模型选择。
- 模板僵化与设计成本高:手动制作 PPT 耗时耗力,而许多自动化工具生成的模板风格单一,难以满足企业级定制化需求。Presenton 允许使用 HTML 和 Tailwind CSS 创建无限自定义模板,并支持从现有 PPT 文档生成新模板。
- 模型选择受限:多数竞品仅支持单一或少数几个 API 提供商。Presenton 支持混合使用文本生成(如 OpenAI, Anthropic, Ollama)和图像生成(如 DALL-E 3, Gemini, Pexels)的不同提供商,用户可根据成本、性能或合规要求灵活配置。
- 导出格式不可编辑:许多 AI 生成的演示文稿导出为图片或 PDF,无法进一步编辑。Presenton 原生支持生成标准的 PPTX 文件,保留文本、图片和版式的可编辑性。
核心功能
- 多模态 AI 生成:
- 文本生成:支持 OpenAI (GPT-4.1 等)、Google Gemini (2.0-flash, 2.5-flash)、Anthropic Claude、Azure OpenAI、Amazon Bedrock、Fireworks、Together AI、LM Studio、Ollama 以及任何 OpenAI 兼容接口。
- 图像生成:集成 DALL-E 3、Gemini Flash、Pexels 和 Pixabay,为幻灯片提供丰富的视觉素材。
- 灵活的输入方式:
- 支持从自然语言提示(Prompt)直接生成演示文稿。
- 支持上传现有文档(如 Word、PDF)作为内容基础。
- 支持从现有 PowerPoint 文档提取风格生成新模板。
- 高度可定制的模板系统:
- 用户可使用 HTML 和 Tailwind CSS 编写自定义主题和布局,实现像素级的设计控制。
- 内置 MCP (Model Context Protocol) Server,支持通过协议生成演示文稿。
- 多格式导出:
- 导出为标准的
.pptx文件,兼容 Microsoft PowerPoint 和 Google Slides,保留可编辑性。 - 支持导出为
.pdf格式用于分享。
- 导出为标准的
- 本地化与隐私保护:
- 支持通过 Ollama 或 LM Studio 运行本地开源模型,实现完全离线的演示文稿生成。
- 所有处理可在本地设备完成,无云端依赖。
亮点 / 与同类相比
- 真正的开源与无锁定:与 Gamma、Tome 等闭源 SaaS 产品不同,Presenton 是 Apache 2.0 开源项目。用户可自行审计代码、修改功能,并拥有数据的绝对所有权,不存在强制订阅或数据被用于模型训练的风险。
- 极致的模型灵活性:
- 混合提供商支持:允许用户将文本模型(如本地运行的 Llama 3)与图像模型(如云端 DALL-E 3)组合使用,平衡成本与效果。
- 本地优先:通过 Docker 和 GPU 支持,轻松部署本地 LLM,适合对数据敏感性极高的企业或开发者。
- 技术栈现代化与扩展性:
- 基于 Next.js 和 FastAPI,提供现代化的 Web 体验和高效的 API 后端。
- 提供 API 部署选项,团队可将 Presenton 作为内部服务集成到工作流中。
- 支持 Electron 打包,提供原生桌面体验,适合离线开发和使用。
- 开箱即用的部署方案:
- 提供一键 Docker 部署命令,支持 Linux/macOS/Windows。
- 提供 Electron 桌面应用,降低非技术用户的上手门槛。
- 支持通过 ChatGPT 账号直接登录(利用其 OAuth 流程),简化初始配置。
适合谁用 / 上手
适合人群:
- 注重数据隐私的企业/团队:需要内部演示文稿生成工具,且不能接受数据外泄的公司。
- 开发者与技术团队:希望集成 AI 能力到内部工作流,或需要自定义模板和逻辑的开发者。
- 预算敏感型用户:希望避免 SaaS 订阅费,仅按 API 用量付费或完全使用本地开源模型的用户。
- 设计师与创意工作者:需要高度自定义 PPT 设计风格,而非使用默认模板的专业人士。
上手指南:
-
快速体验(无需安装):
- 访问 Presenton 在线演示版(如有)或通过 ChatGPT 账号登录直接开始使用。
-
本地部署(推荐开发者):
- Docker 方式:
启动后访问# Linux/MacOS docker run -it --name presenton -p 5000:80 -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest # Windows PowerShell docker run -it --name presenton -p 5000:80 -v "${PWD}\app_data:/app_data" ghcr.io/presenton/presenton:latesthttp://localhost:5000。 - Electron 桌面应用:
- 安装 Node.js (LTS), npm, Python 3.11 和
uv。 - 克隆仓库并进入
electron目录。 - 运行
npm run setup:env初始化环境。 - 运行
npm run dev启动开发模式,或npm run build:all构建安装包。
- 安装 Node.js (LTS), npm, Python 3.11 和
- Docker 方式:
-
配置模型:
- 通过环境变量(
.env文件)配置 API 密钥和模型选择。例如:LLM=openai并设置OPENAI_API_KEY。LLM=ollama并设置LMSTUDIO_BASE_URL或 Ollama 地址。- 支持 Vertex AI, Azure, Bedrock 等云服务的详细配置参数。
- 通过环境变量(
-
自定义模板:
- 使用 HTML 和 Tailwind CSS 设计幻灯片布局,上传至系统即可应用。
查看原文 →github.com
