presenton / presenton

Presenton / Presenton

Quickstart · Docs · Youtube · Discord 快速开始 · 文档 · Youtube · Discord

Open-Source AI Presentation Generator and API (Gamma, Beautiful AI, Decktopus Alternative) 开源 AI 演示文稿生成器及 API(Gamma、Beautiful AI、Decktopus 的替代方案)

✨ Why Presenton ✨ 为什么选择 Presenton

No SaaS lock-in · No forced subscriptions · Full control over models and data 无 SaaS 绑定 · 无强制订阅 · 完全掌控模型与数据

What makes Presenton different? Presenton 有何不同?

Use Fully self-hosted in Web through Docker Package Or Download Desktop App (Mac, Windows & Linux) 通过 Docker 包完全自托管于 Web,或下载桌面应用程序(支持 Mac、Windows 和 Linux)。

Works with OpenAI, Gemini, Vertex AI, Azure OpenAI, Amazon Bedrock, Fireworks, Together AI, Anthropic, LM Studio, Ollama, or custom models 支持 OpenAI、Gemini、Vertex AI、Azure OpenAI、Amazon Bedrock、Fireworks、Together AI、Anthropic、LM Studio、Ollama 或自定义模型。

Comes with AI Presentation Generation API 内置 AI 演示文稿生成 API。

Fully open-source (Apache 2.0) 完全开源(Apache 2.0 协议)。

Works with your own design/templates 支持使用您自己的设计/模板。

Fully editable PPTX export 支持完全可编辑的 PPTX 导出。

TipStar us! A ⭐ shows your support and encourages us to keep building! 😇 提示:为我们点赞!一个 ⭐ 代表您的支持,并鼓励我们继续开发!😇

🎛 Features 🎛 功能特性

💻 Presenton Desktop 💻 Presenton 桌面版

Create AI-powered presentations using your own model provider (BYOK) or run everything locally on your own machine for full control and data privacy. 使用您自己的模型提供商(自带密钥 BYOK)创建 AI 演示文稿,或在本地机器上运行所有内容,以实现完全的控制和数据隐私。

Available Platforms 可用平台

Platform Architecture Package Download 平台 架构 软件包下载

macOS Apple Silicon / Intel .dmg Download ↗ macOS Apple Silicon / Intel .dmg 下载 ↗

Windows x64 .exe Download ↗ Windows x64 .exe 下载 ↗

Linux x64 .deb Download ↗ Linux x64 .deb 下载 ↗

Deploy to Cloud Providers 部署到云服务提供商

Presenton gives you complete control over your AI presentation workflow. Choose your models, customize your experience, and keep your data private. Presenton 让您完全掌控 AI 演示文稿的工作流程。选择您的模型,自定义您的体验,并确保数据隐私。

Custom Templates & Themes — Create unlimited presentation designs with HTML and Tailwind CSS 自定义模板与主题 — 使用 HTML 和 Tailwind CSS 创建无限的演示文稿设计。

AI Template Generation — Create presentation templates from existing Powerpoint documents. AI 模板生成 — 从现有的 PowerPoint 文档创建演示文稿模板。

Flexible Generation — Build presentations from prompts or uploaded documents 灵活生成 — 根据提示词或上传的文档构建演示文稿。

Export Ready — Save as PowerPoint (PPTX) and PDF with professional formatting 导出就绪 — 以专业的格式保存为 PowerPoint (PPTX) 和 PDF。

Built-In MCP Server — Generate presentations over Model Context Protocol 内置 MCP 服务器 — 通过模型上下文协议 (Model Context Protocol) 生成演示文稿。

Bring Your Own Key — Use your own API keys for OpenAI, Google Gemini, Vertex AI, Azure OpenAI, Anthropic Claude, or any compatible provider. Only pay for what you use, no hidden fees or subscriptions. 自带密钥 (BYOK) — 使用您自己的 API 密钥连接 OpenAI、Google Gemini、Vertex AI、Azure OpenAI、Anthropic Claude 或任何兼容的提供商。按需付费,无隐藏费用或订阅。

Ollama Integration — Run open-source models locally with full privacy Ollama 集成 — 在本地运行开源模型,确保完全隐私。

OpenAI API Compatible — Connect to any OpenAI-compatible endpoint with your own models 兼容 OpenAI API — 使用您自己的模型连接任何兼容 OpenAI 的端点。

Multi-Provider Support — Mix and match text and image generation providers 多提供商支持 — 混合搭配文本和图像生成提供商。

Versatile Image Generation — Choose from DALL-E 3, Gemini Flash, Pexels, or Pixabay 多功能图像生成 — 可选择 DALL-E 3、Gemini Flash、Pexels 或 Pixabay。

Rich Media Support — Icons, charts, and custom graphics for professional presentations 富媒体支持 — 为专业演示文稿提供图标、图表和自定义图形。

Runs Locally — All processing happens on your device, no cloud dependencies 本地运行 — 所有处理都在您的设备上完成,无需依赖云端。

API Deployment — Host as your own API service for your team API 部署 — 作为您团队的 API 服务进行托管。

Fully Open-Source — Apache 2.0 licensed, inspect, modify, and contribute 完全开源 — 采用 Apache 2.0 协议,可检查、修改并贡献代码。

Docker Ready — One-command deployment with GPU support for local models 支持 Docker — 一键部署,并为本地模型提供 GPU 支持。

Electron Desktop App — Run Presenton as a native desktop application on Windows, macOS, and Linux (no browser required) Electron 桌面应用 — 在 Windows、macOS 和 Linux 上作为原生桌面应用运行 Presenton(无需浏览器)。

Sign in with ChatGPT — Use your free or paid ChatGPT account to sign in and start creating presentations instantly — no separate API key required 使用 ChatGPT 登录 — 使用您的免费或付费 ChatGPT 账号登录,即可立即开始创建演示文稿,无需单独的 API 密钥。

☁️ Presenton Cloud ☁️ Presenton 云端版

Run Presenton directly in your browser — no installation, no setup required. Start creating presentations instantly from anywhere. 直接在浏览器中运行 Presenton — 无需安装,无需设置。随时随地立即开始创建演示文稿。

⚡ Running Presenton ⚡ 运行 Presenton

You can run Presenton in two ways: Docker for a one-command setup without installing a local dev stack, or the Electron desktop app for a native app experience (ideal for development or offline use). 您可以通过两种方式运行 Presenton:使用 Docker 进行一键设置(无需安装本地开发环境),或使用 Electron 桌面应用获得原生应用体验(适合开发或离线使用)。

Option 1: Electron (Desktop App) 选项 1:Electron(桌面应用)

Run Presenton as a native desktop application. LLM and image provider (API keys, etc.) can be configured in the app. The same environment variables used for Docker apply when running the bundled backend. 将 Presenton 作为原生桌面应用运行。LLM 和图像提供商(API 密钥等)可以在应用内配置。运行打包的后端时,可以使用与 Docker 相同的环境变量。

Prerequisites: Node.js (LTS), npm, Python 3.11, and uv (for the shared FastAPI backend in servers/fastapi). 先决条件:Node.js (LTS)、npm、Python 3.11 和 uv(用于 servers/fastapi 中的共享 FastAPI 后端)。

Setup (First Time) 设置(首次)

cd electron npm run setup:env

This installs Node dependencies, runs uv sync in the FastAPI server, and installs Next.js dependencies. 这将安装 Node 依赖项,在 FastAPI 服务器中运行 uv sync,并安装 Next.js 依赖项。

Run in Development 开发环境运行

npm run dev

This compiles TypeScript and starts Electron. The backend and UI run locally inside the desktop window. 这将编译 TypeScript 并启动 Electron。后端和 UI 将在桌面窗口内本地运行。

Build Distributable (Optional) 构建可分发版本(可选)

To create installers for Windows, macOS, or Linux: 为 Windows、macOS 或 Linux 创建安装程序:

npm run build:all npm run dist

Output files are written to electron/dist (or as configured in your electron-builder settings). 输出文件将写入 electron/dist(或根据您的 electron-builder 设置进行配置)。

Option 2: Docker 选项 2:Docker

Start Presenton 启动 Presenton

Linux/MacOS (Bash/Zsh Shell): 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

Open Presenton 打开 Presenton

Open http://localhost:5000 in the browser of your choice to use Presenton. Note: You can replace 5000 with any other port number of your choice to run Presenton on a different port number. 在您选择的浏览器中打开 http://localhost:5000 即可使用 Presenton。注意:您可以将 5000 替换为您选择的任何其他端口号,以在不同的端口上运行 Presenton。

⚙️ Deployment Configurations ⚙️ 部署配置

The lists below match the environment variables forwarded in this repository’s docker-compose.yml (production, production-gpu, development, and development-gpu). Put values in a .env file next to the compose file, or export them before docker compose up. 以下列表对应于本仓库 docker-compose.yml 中转发的环境变量(生产环境、生产 GPU 环境、开发环境和开发 GPU 环境)。将值放入 compose 文件旁边的 .env 文件中,或在 docker compose up 之前导出它们。

The Electron app backend can read the same names when run outside Docker. Other optional variables exist in code (for example advanced Mem0 paths, LiteParse runners, or FAST_API_INTERNAL_URL when Next.js and FastAPI are not same-origin); they are not wired in docker-compose.yml. Supported names are discoverable from servers/fastapi/utils/get_env.py and the Next.js server utilities under servers/nextjs/. 当在 Docker 之外运行时,Electron 应用后端可以读取相同的名称。代码中还存在其他可选变量(例如高级 Mem0 路径、LiteParse 运行器,或当 Next.js 和 FastAPI 不在同源时的 FAST_API_INTERNAL_URL);它们未在 docker-compose.yml 中配置。支持的名称可从 servers/fastapi/utils/get_env.py 以及 servers/nextjs/ 下的 Next.js 服务器工具中查看。

LLM and API keys LLM 和 API 密钥

CAN_CHANGE_KEYS=[true/false]: Set to false if you want to keep API keys hidden and make them unmodifiable. CAN_CHANGE_KEYS=[true/false]:如果您希望隐藏 API 密钥并使其不可修改,请设置为 false。

LLM=[openai/google/vertex/azure/anthropic/lmstudio/ollama/custom/codex]: Select the text LLM. LLM=[openai/google/vertex/azure/anthropic/lmstudio/ollama/custom/codex]:选择文本 LLM。

OPENAI_API_KEY: Required if LLM is openai. OPENAI_API_KEY:如果 LLM 为 openai,则为必填项。

OPENAI_MODEL: Required if LLM is openai (default: gpt-4.1). OPENAI_MODEL:如果 LLM 为 openai,则为必填项(默认:gpt-4.1)。

GOOGLE_API_KEY: Required if LLM is google. GOOGLE_API_KEY:如果 LLM 为 google,则为必填项。

GOOGLE_MODEL: Required if LLM is google (default: models/gemini-2.0-flash). GOOGLE_MODEL:如果 LLM 为 google,则为必填项(默认:models/gemini-2.0-flash)。

VERTEX_MODEL: Required if LLM is vertex (default: gemini-2.5-flash). VERTEX_MODEL:如果 LLM 为 vertex,则为必填项(默认:gemini-2.5-flash)。

VERTEX_API_KEY: Optional auth path for LLM=vertex (Vertex Express). VERTEX_API_KEY:LLM=vertex 的可选认证路径(Vertex Express)。

VERTEX_PROJECT / VERTEX_LOCATION: Optional auth path for LLM=vertex when using GCP project credentials (do not combine with VERTEX_API_KEY). VERTEX_PROJECT / VERTEX_LOCATION:使用 GCP 项目凭据时 LLM=vertex 的可选认证路径(请勿与 VERTEX_API_KEY 同时使用)。

VERTEX_BASE_URL: Optional Vertex gateway/base URL override. VERTEX_BASE_URL:可选的 Vertex 网关/基础 URL 覆盖。

AZURE_OPENAI_MODEL: Required if LLM AZURE_OPENAI_MODEL:如果 LLM 为…则为必填项