Presenton 是 Apache 2.0 開源的 AI 簡報生成器與 API,定位為 Gamma、Beautiful AI、Decktopus 的自架替代品。一條 docker run 起來,可綁定 OpenAI、Gemini、Vertex、Azure、Bedrock、Anthropic、Fireworks、Together、LM Studio、Ollama 或任何 OpenAI 相容端點。資料留在自己機器,模板用 HTML+Tailwind 自由改,PPTX 匯出後直接在 PowerPoint 編輯。這份手冊涵蓋 Docker 安裝、API 串接、模板開發,以及 BYOK 配置的常見雷區。
Presenton 在 2025 年 5 月開源,一年內累積 7,496 顆星、1,198 個 fork,README 第一句話直接點名競爭對手:Open-Source AI Presentation Generator and API (Gamma, Beautiful AI, Decktopus Alternative)。核心主張是移除 SaaS 訂閱,無訂閱費、無 token 加成、無資料外送。所有運算在你選定的 LLM(雲端 API 或本機 Ollama / LM Studio 皆可)上執行,費用直接付給模型廠商。
產品形態有四種:Docker 自架(ghcr.io/presenton/presenton:latest)、Electron 桌機 App(Mac / Windows / Linux 都有原生安裝包)、Presenton Cloud(他們官網跑的託管版本)以及一鍵雲端部署(Railway、DigitalOcean 都有按鈕)。同一份程式碼,選你喜歡的執行環境。
核心工程設計有三點。第一,BYOK(Bring Your Own Key)架構,10+ 個 LLM 廠商以環境變數切換。第二,HTML + Tailwind 模板系統,設計師以標準 React/HTML 元件撰寫新模板,無需學習自定義 DSL。第三,PPTX 以真實 OpenXML 格式匯出,而非截圖嵌入,匯出後在 PowerPoint 裡每個物件可單獨編輯。此功能在開源 AI 簡報工具中較少見。
最快上手路徑是 Docker,一條 docker run 把整個服務拉到 5000 port,瀏覽器打開即可使用。第一次執行可不帶任何 API key,進入 UI 後再從 Settings 設定;要固定配置,則將 key 寫進環境變數。
要鎖死設定不讓使用者改 key,加 CAN_CHANGE_KEYS=false。下面以 OpenAI + DALL-E 3 為例;換成其他廠商只改 LLM 與對應 key 名稱即可。
想完全離線執行,把 LLM 切到本機 Ollama、圖片來源用 Pexels 免費庫(或本機 ComfyUI)。加 --gpus=all 啟用 GPU 加速(需先裝 NVIDIA Container Toolkit)。
.dmg / .exe / .deb,從 presenton.ai/download 取得 native app;② 一鍵雲端部署,GitHub README 直接提供 Railway 與 DigitalOcean 的 Deploy 按鈕。本機開發者要跑 Electron 原始碼,需要 Node LTS + Python 3.11 + uv,在 electron/ 跑 npm run setup:env 後 npm run dev。
Presenton 沒有像 Claude Code 一樣的「斜線指令」概念,它是一個由環境變數編排的服務。下表把 README 列出的能力整理成 20 張卡片,分四群:LLM 廠商(用 LLM=... 切)、圖片廠商(用 IMAGE_PROVIDER=... 切)、核心功能(API、模板、MCP),以及部署形態。實務上你不用全裝,挑一條 LLM + 一條圖片 + 一種部署即可。
gpt-4.1。設 WEB_GROUNDING=true 可開網路搜尋。OPENAI_API_KEY 必填。models/gemini-2.0-flash。直接用 GOOGLE_API_KEY,不必開 GCP 專案。VERTEX_API_KEY(Express)或 VERTEX_PROJECT + VERTEX_LOCATION(GCP 憑證)二選一。AZURE_OPENAI_API_KEY、AZURE_OPENAI_API_VERSION、AZURE_OPENAI_ENDPOINT 三件套。BEDROCK_API_KEY。新模型(Claude Sonnet 4.6 等)要用 inference profile ARN。claude-3-5-sonnet-20241022。WEB_GROUNDING 也適用。直接走 Anthropic 官方 API。OLLAMA_URL(Docker 內用 host.docker.internal:11434)與 OLLAMA_MODEL。可開 GPU。LMSTUDIO_BASE_URL 預設 localhost:1234/v1,/v1 沒打也會自動補。CUSTOM_LLM_URL + CUSTOM_LLM_API_KEY。OPENAI_API_KEY。可設 DALL_E_3_QUALITY(standard / hd)。GOOGLE_API_KEY。速度快、單價便宜。PEXELS_API_KEY(免費申請)。COMFYUI_URL 與一份 workflow JSON,離線跑 SDXL 都行。content 就能生簡報,參數涵蓋 tone、verbosity、語言、模板、TOC、PPTX/PDF。HTTP Basic 認證。| 情境 | LLM | 圖片來源 | 部署 |
|---|---|---|---|
| 個人嘗鮮,有 OpenAI 帳號 | openai |
dall-e-3 |
Docker (本機) |
| 公司內部,要資料不外送 | ollama + GPU |
comfyui 或 pexels |
Docker (內網) |
| 對外開放的 API 服務 | vertex 或 bedrock |
gemini_flash |
Railway / DigitalOcean |
| Claude 用戶,想簡報生成當工具 | anthropic |
pexels |
Docker + 內建 MCP server |
Presenton 的 README 仍在持續更新,環境變數數量多,首次部署容易遺漏關鍵設定。以下 10 條全部出自 README、docker-compose.yml、docs/amazon-bedrock.md 或環境變數定義檔,是部署前應先逐一確認的配置項目。
對外部使用的部署此項必填,否則 UI 內可修改 LLM key,任何登入者都能讀取或替換 key。生產環境一律以環境變數注入,並鎖定 UI 設定。
來源 · README · LLM and API keys所有 /api/v1/ endpoint(除 auth 外)都要 HTTP Basic 認證。第一次啟動可以用 AUTH_USERNAME / AUTH_PASSWORD 預植,但密碼至少 6 碼,且一旦建立後就鎖死,要改用 AUTH_OVERRIDE_FROM_ENV=true 才會被環境變數覆蓋。
用 LLM=codex 走 OAuth 登入時,docker compose 預設對外開 1455 port 做 callback。同機跑其他服務時要注意這個 port 不能撞。也代表你的 host 不能擋這個 port。
Claude Sonnet 4.6 等新模型在 Bedrock 不再支援裸 model ID,得改傳 arn:aws:bedrock:...:inference-profile/...。舊模型用 us.anthropic.claude-3-5-haiku-... 這種 model ID 仍可。詳見官方的 docs/amazon-bedrock.md。
舊版 Mem0 啟動時需要 OpenAI key。目前 Docker runtime 已將 Mem0 預設指向本機 Ollama 相容端點,記憶層不再需要 OpenAI 月費。若要改用 OpenAI,再設 MEM0_LLM_BASE_URL 與 MEM0_LLM_API_KEY。
Mac / Windows 在 Docker 內連本機 Ollama 不能用 localhost,容器內無法路由到容器外。需改為 OLLAMA_URL=http://host.docker.internal:11434。Linux 則需加 --add-host=host.docker.internal:host-gateway。
Presenton 預設會送匿名使用資料。一行環境變數就能關。內部 / 政府 / 隱私敏感場景部署前先設,部署後再關不會回沖過去送出的資料。
來源 · README · Telemetry 章節IMAGE_PROVIDER=openai_compatible 可以把圖片請求單獨導向一個 OpenAI 相容 gateway(LiteLLM、Azure、vLLM 都行),設 OPENAI_COMPAT_IMAGE_BASE_URL/API_KEY/MODEL 三件套。文字 LLM 配置不受影響,文字跟圖片可以走不同廠商。
README 範例都用 5000:80,容器內固定是 80,你只能改主機端那個。要把服務跑在 8080,寫成 -p 8080:80。容器內側別亂改,否則 nginx 反向代理會找不到 backend。
忘記登入密碼時,停掉容器、加 -e RESET_AUTH=true 重啟一次,會清掉所有憑證。記得清完馬上把這個 flag 拿掉,否則每次啟動都清。也可手動編輯 ./app_data/userConfig.json 刪掉三個欄位。
以下範例示範如何自動化週報簡報:每週一將過去 7 天的產品數據(營收、新註冊、活躍、客訴)整理成 8 頁簡報。流程以 Presenton API 單一 curl 完成,涵蓋 HTTP Basic 認證、POST body 設定,以及回傳 PPTX 連結。
第一,API 參數設計集中,單一 JSON body 涵蓋 tone、密度、語言、模板、TOC 等常用偏好,不需先建專案或呼叫多個 endpoint。第二,圖片與文字 LLM 完全獨立:文字用 OpenAI、圖片用 DALL-E,或文字用 Ollama、圖片用 Pexels,可自由組合。
第三,產出是真實 OpenXML PPTX,而非 HTML 截圖嵌入空白簡報。文字、圖片、形狀均可在原生 PowerPoint 中單獨選取與編輯。此功能是 Presenton 作為 Gamma 替代品的主要技術依據。
DISABLE_ANONYMOUS_TRACKING=true 之前都會送匿名使用資料。內部、政府、隱私敏感場景要在第一次啟動容器前就設好,部署後再關不會回沖過去送出的資料。
en_core_web_sm 等 spaCy 模型、Mem0 OSS 與 LiteParse OCR,容器體積較大。Mem0 若不需要可以設 MEM0_ENABLED=false 減負載。
docs/amazon-bedrock.md。
:latest),並訂 GitHub Releases 通知,以便重大變更時手動升級。
Presenton 的核心功能是以 API 形式提供簡報生成。內部工具、BI dashboard、業務 CRM、客服系統均可透過單一 POST 請求將資料轉為可編輯的 PPTX。以下五條路徑說明如何將 Presenton 整合為團隊共用服務。
1. 把生成 endpoint 接進你的後台。BI 系統每週固定產出資料,寫一支腳本把資料整理成 prompt 餵給 /api/v1/ppt/presentation/generate。下載回來的 PPTX 自動寄給管理層,週報自動化就完成了。
2. 用 HTML+Tailwind 寫公司專屬模板。讓設計師用熟悉的網頁元件寫一套品牌模板(色票、字體、logo 位置)。從此公司簡報統一視覺,不必每次都手動套版面。
3. 以內建 MCP server 接 Claude Desktop。Claude 的 MCP 客戶端可直接呼叫 Presenton 作為投影片生成工具。在 Claude 對話框描述專案需求,即可生成簡報,無需另寫 API 整合程式碼。
4. 拿舊 PPTX 自動生模板。Presenton 有「AI Template Generation — Create presentation templates from existing PowerPoint documents」功能。把公司歷年用的標準簡報丟進去,系統會幫你抽出元件變成新模板。
5. Ollama + ComfyUI 完全本機部署。適用於政府、金融、醫療等隱私敏感場景:LLM 用 Ollama(llama3.2:3b 或更大模型),圖片用本機 ComfyUI 執行 SDXL。資料全程不離開本地環境,可搭配 GPU 加速。
① docs.presenton.ai,官方文件首頁,Quickstart、API、模板、部署均有對應章節。
② docs/amazon-bedrock.md,Bedrock 配置文件,涵蓋 inference profile、IAM 設定與疑難排解。
③ docker-compose.yml,所有可用環境變數的定義來源,更新頻率高於 README。