← 返回信息流
GitHub 热榜GitHub Trending · 周·7 天前

Presenton:开源AI演示文稿生成器及API

原标题:presenton/presenton
TypeScript7,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 密钥,无需依赖第三方订阅服务,从而确保数据隐私并降低长期成本。

解决的问题

  1. SaaS 锁定与数据隐私风险:传统 AI PPT 工具(如 Gamma、Beautiful.ai 等)通常将数据存储在云端,存在隐私泄露风险,且用户被绑定在特定平台的订阅体系中。Presenton 通过本地部署和 BYOK 模式,让用户完全掌控数据流向和模型选择。
  2. 模板僵化与设计成本高:手动制作 PPT 耗时耗力,而许多自动化工具生成的模板风格单一,难以满足企业级定制化需求。Presenton 允许使用 HTML 和 Tailwind CSS 创建无限自定义模板,并支持从现有 PPT 文档生成新模板。
  3. 模型选择受限:多数竞品仅支持单一或少数几个 API 提供商。Presenton 支持混合使用文本生成(如 OpenAI, Anthropic, Ollama)和图像生成(如 DALL-E 3, Gemini, Pexels)的不同提供商,用户可根据成本、性能或合规要求灵活配置。
  4. 导出格式不可编辑:许多 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 设计风格,而非使用默认模板的专业人士。

上手指南:

  1. 快速体验(无需安装)

    • 访问 Presenton 在线演示版(如有)或通过 ChatGPT 账号登录直接开始使用。
  2. 本地部署(推荐开发者)

    • 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:latest
      
      启动后访问 http://localhost:5000
    • Electron 桌面应用
      • 安装 Node.js (LTS), npm, Python 3.11 和 uv
      • 克隆仓库并进入 electron 目录。
      • 运行 npm run setup:env 初始化环境。
      • 运行 npm run dev 启动开发模式,或 npm run build:all 构建安装包。
  3. 配置模型

    • 通过环境变量(.env 文件)配置 API 密钥和模型选择。例如:
      • LLM=openai 并设置 OPENAI_API_KEY
      • LLM=ollama 并设置 LMSTUDIO_BASE_URL 或 Ollama 地址。
      • 支持 Vertex AI, Azure, Bedrock 等云服务的详细配置参数。
  4. 自定义模板

    • 使用 HTML 和 Tailwind CSS 设计幻灯片布局,上传至系统即可应用。
查看原文 →github.com