Apache 2.0 開源的 SaaS 替代品, Gamma 同等功能可自架在本機。
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 簡報工具中較少見。
輸入主題
LLM 生大綱
選模板
生圖
渲染 HTML
匯出 PPTX/PDF
No SaaS lock-in · No forced subscriptions · Full control over models and data.
Docker 單指令啟動,再設定 LLM 連線。
最快上手路徑是 Docker,一條 docker run 把整個服務拉到 5000 port,瀏覽器打開即可使用。第一次執行可不帶任何 API key,進入 UI 後再從 Settings 設定;要固定配置,則將 key 寫進環境變數。
# 最簡安裝:不帶任何 key,進 UI 設定
docker run -it --name presenton -p 5000:80 \
-v "./app_data:/app_data" \
ghcr.io/presenton/presenton:latest綁定你的 LLM:OpenAI 範例
要鎖死設定不讓使用者改 key,加 CAN_CHANGE_KEYS=false。下面以 OpenAI + DALL-E 3 為例;換成其他廠商只改 LLM 與對應 key 名稱即可。
docker run -it --name presenton -p 5000:80 \
-e LLM="openai" \
-e OPENAI_API_KEY="sk-..." \
-e IMAGE_PROVIDER="dall-e-3" \
-e CAN_CHANGE_KEYS="false" \
-v "./app_data:/app_data" \
ghcr.io/presenton/presenton:latest全本機 / 隱私模式:Ollama + Pexels
想完全離線執行,把 LLM 切到本機 Ollama、圖片來源用 Pexels 免費庫(或本機 ComfyUI)。加 --gpus=all 啟用 GPU 加速(需先裝 NVIDIA Container Toolkit)。
docker run -it --name presenton --gpus=all -p 5000:80 \
-e LLM="ollama" \
-e OLLAMA_MODEL="llama3.2:3b" \
-e IMAGE_PROVIDER="pexels" \
-e PEXELS_API_KEY="..." \
-e CAN_CHANGE_KEYS="false" \
-v "./app_data:/app_data" \
ghcr.io/presenton/presenton:latest支援 10 個 LLM 廠商, 8 種圖片來源,4 種匯出格式。
Presenton 沒有像 Claude Code 一樣的「斜線指令」概念,它是一個由環境變數編排的服務。下表把 README 列出的能力整理成 20 張卡片,分四群:LLM 廠商(用 LLM=... 切)、圖片廠商(用 IMAGE_PROVIDER=... 切)、核心功能(API、模板、MCP),以及部署形態。實務上你不用全裝,挑一條 LLM + 一條圖片 + 一種部署即可。
LLM · 01
LLM=openai
OpenAI GPT
預設搭配 gpt-4.1。設 WEB_GROUNDING=true 可開網路搜尋。OPENAI_API_KEY 必填。
LLM · 02
LLM=google
Gemini API
預設 models/gemini-2.0-flash。直接用 GOOGLE_API_KEY,不必開 GCP 專案。
LLM · 03
LLM=vertex
Vertex AI
企業端走 GCP。VERTEX_API_KEY(Express)或 VERTEX_PROJECT + VERTEX_LOCATION(GCP 憑證)二選一。
LLM · 04
LLM=azure
Azure OpenAI
填 AZURE_OPENAI_API_KEY、AZURE_OPENAI_API_VERSION、AZURE_OPENAI_ENDPOINT 三件套。
LLM · 05
LLM=bedrock
Amazon Bedrock
用 AWS access key 或 BEDROCK_API_KEY。新模型(Claude Sonnet 4.6 等)要用 inference profile ARN。
LLM · 06
LLM=anthropic
Anthropic Claude
預設 claude-3-5-sonnet-20241022。WEB_GROUNDING 也適用。直接走 Anthropic 官方 API。
LLM · 07
LLM=ollama
本機 Ollama
完全離線。設 OLLAMA_URL(Docker 內用 host.docker.internal:11434)與 OLLAMA_MODEL。可開 GPU。
LLM · 08
LLM=lmstudio
LM Studio
桌機跑 LM Studio 時用。LMSTUDIO_BASE_URL 預設 localhost:1234/v1,/v1 沒打也會自動補。
LLM · 09
LLM=custom
OpenAI 相容端點
指向任何 OpenAI 相容 API(LiteLLM、vLLM、Together、Groq 等)。CUSTOM_LLM_URL + CUSTOM_LLM_API_KEY。
LLM · 10
LLM=codex
Sign in with ChatGPT
用 ChatGPT 帳號 OAuth 登入(免另外申請 API key)。Docker compose 對外開 1455 port 做 callback。
Image · 11
IMAGE_PROVIDER=dall-e-3
DALL-E 3
沿用 OPENAI_API_KEY。可設 DALL_E_3_QUALITY(standard / hd)。
Image · 12
IMAGE_PROVIDER=gemini_flash
Gemini Flash
用 Google 圖片生成,沿用 GOOGLE_API_KEY。速度快、單價便宜。
Image · 13
IMAGE_PROVIDER=pexels
Pexels 免費庫
不用生成 AI,直接拉真實照片。隱私首選。需要 PEXELS_API_KEY(免費申請)。
Image · 14
IMAGE_PROVIDER=comfyui
本機 ComfyUI
把生成圖完全留在本機。指向 COMFYUI_URL 與一份 workflow JSON,離線跑 SDXL 都行。
Core · 15
/api/v1/ppt/presentation/generate
REST API
主 endpoint。POST 一句 content 就能生簡報,參數涵蓋 tone、verbosity、語言、模板、TOC、PPTX/PDF。HTTP Basic 認證。
Core · 16
HTML + Tailwind 模板
自訂 設計
以標準 React/HTML 元件撰寫,無需 DSL 或 schema。也可將舊 PPTX 輸入 AI 自動轉換為新模板。
Core · 17
MCP server
Model Context Protocol
內建 MCP server,Claude Desktop / Cursor 等支援 MCP 的 agent 可直接呼叫 Presenton 生成簡報,作為投影片生成工具使用。
Core · 18
PPTX / PDF 匯出
完整 可編輯
不是把投影片截圖塞進 PPT。生出來的 .pptx 每個物件可單獨選取,文字、圖、形狀都能在 PowerPoint / Keynote 二次編輯。
Deploy · 19
Electron Desktop
桌機 原生 App
Mac (.dmg)、Windows (.exe)、Linux (.deb) 三平台原生安裝包,免瀏覽器、含本機 FastAPI 後端。
Deploy · 20
Railway / DigitalOcean
一鍵 雲端部署
README 直接掛兩家 Deploy 按鈕。沒空寫 Dockerfile 的人可在 5 分鐘內把 Presenton 跑成自己的雲端服務。
想自架時,挑哪個組合?三個典型情境
| 情境 | 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 |
首次安裝前需確認的 10 條環境變數設定。
Presenton 的 README 仍在持續更新,環境變數數量多,首次部署容易遺漏關鍵設定。以下 10 條全部出自 README、docker-compose.yml、docs/amazon-bedrock.md 或環境變數定義檔,是部署前應先逐一確認的配置項目。
鎖死 key 用 CAN_CHANGE_KEYS=false
對外部使用的部署此項必填,否則 UI 內可修改 LLM key,任何登入者都能讀取或替換 key。生產環境一律以環境變數注入,並鎖定 UI 設定。
來源 · README · LLM and API keys
API 走 HTTP Basic,記得改預設帳密
所有 /api/v1/ endpoint(除 auth 外)都要 HTTP Basic 認證。第一次啟動可以用 AUTH_USERNAME / AUTH_PASSWORD 預植,但密碼至少 6 碼,且一旦建立後就鎖死,要改用 AUTH_OVERRIDE_FROM_ENV=true 才會被環境變數覆蓋。
來源 · README · Authentication 章節
Sign in with ChatGPT 占用 1455 port
用 LLM=codex 走 OAuth 登入時,docker compose 預設對外開 1455 port 做 callback。同機跑其他服務時要注意這個 port 不能撞。也代表你的 host 不能擋這個 port。
來源 · README · CODEX_MODEL 章節
Bedrock 新模型要用 inference profile ARN
Claude Sonnet 4.6 等新模型在 Bedrock 不再支援裸 model ID,得改傳 arn:aws:bedrock:...:inference-profile/...。舊模型用 us.anthropic.claude-3-5-haiku-... 這種 model ID 仍可。詳見官方的 docs/amazon-bedrock.md。
來源 · README · Bedrock 範例
Mem0 預設指向 Ollama,不再吃 OpenAI
舊版 Mem0 啟動時需要 OpenAI key。目前 Docker runtime 已將 Mem0 預設指向本機 Ollama 相容端點,記憶層不再需要 OpenAI 月費。若要改用 OpenAI,再設 MEM0_LLM_BASE_URL 與 MEM0_LLM_API_KEY。
來源 · README · Mem0 章節
Ollama 在 Docker 內要走 host.docker.internal
Mac / Windows 在 Docker 內連本機 Ollama 不能用 localhost,容器內無法路由到容器外。需改為 OLLAMA_URL=http://host.docker.internal:11434。Linux 則需加 --add-host=host.docker.internal:host-gateway。
來源 · README · Ollama 章節
關閉遙測:DISABLE_ANONYMOUS_TRACKING=true
Presenton 預設會送匿名使用資料。一行環境變數就能關。內部 / 政府 / 隱私敏感場景部署前先設,部署後再關不會回沖過去送出的資料。
來源 · README · Telemetry 章節
OpenAI 相容圖片端點獨立配置
IMAGE_PROVIDER=openai_compatible 可以把圖片請求單獨導向一個 OpenAI 相容 gateway(LiteLLM、Azure、vLLM 都行),設 OPENAI_COMPAT_IMAGE_BASE_URL/API_KEY/MODEL 三件套。文字 LLM 配置不受影響,文字跟圖片可以走不同廠商。
來源 · README · Image generation
修改埠口記得對應改 Docker -p
README 範例都用 5000:80,容器內固定是 80,你只能改主機端那個。要把服務跑在 8080,寫成 -p 8080:80。容器內側別亂改,否則 nginx 反向代理會找不到 backend。
來源 · README · Open Presenton 章節
遺失密碼用 RESET_AUTH=true 救
忘記登入密碼時,停掉容器、加 -e RESET_AUTH=true 重啟一次,會清掉所有憑證。記得清完馬上把這個 flag 拿掉,否則每次啟動都清。也可手動編輯 ./app_data/userConfig.json 刪掉三個欄位。
來源 · README · 範例最後一個 docker run
以 API 自動生成產品週報簡報。
以下範例示範如何自動化週報簡報:每週一將過去 7 天的產品數據(營收、新註冊、活躍、客訴)整理成 8 頁簡報。流程以 Presenton API 單一 curl 完成,涵蓋 HTTP Basic 認證、POST body 設定,以及回傳 PPTX 連結。
-X POST http://localhost:5000/api/v1/ppt/presentation/generate \
-H "Content-Type: application/json" \
-d @payload.json
{
"content": "5/26-5/30 產品週報:
營收 NT$1.84M(+12%)、
新註冊 2,340(+4%)、
DAU 18.2K(-1.3%)、
客訴 47 件(P0: 2)",
"tone": "professional",
"verbosity": "standard",
"n_slides": 8,
"language": "Traditional Chinese",
"template": "general",
"include_title_slide": true,
"include_table_of_contents": true,
"export_as": "pptx"
}
claude: presenton ›
stage 1/5 · 規劃投影片大綱(8 頁 + 標題 + TOC = 10 頁)
· slide 01 · 標題 · 「2026 春產品週報 5/26–5/30」
· slide 02 · 目錄
· slide 03 · 摘要四大指標
· slide 04 · 營收貢獻拆解
· slide 05 · 新註冊與獲客成本
· slide 06 · DAU 衰退分析
· slide 07 · 客訴熱點(P0/P1/P2)
· slide 08 · 下週優先事項
· slide 09 · 風險與依賴
· slide 10 · 致謝 / 下次會議
ok: [response · 200 OK]
ok: {
ok: "presentation_id": "ps_8f23a1",
ok: "pptx_url": "/app_data/exports/ps_8f23a1.pptx",
ok: "pdf_url": null,
ok: "slides_count": 10,
ok: "tokens_used": 18412,
ok: "duration_ms": 91240
ok: }
-o weekly.pptx \
http://localhost:5000/app_data/exports/ps_8f23a1.pptx
ok: [檔案大小 · 4.2MB · 在 PowerPoint 開啟後每個物件可個別編輯]
8 頁簡報、6 張 AI 圖、繁中內容、可編輯 PPTX, 91 秒完成,$0.18 預估費用。
這段流程的三個工程亮點
第一,API 參數設計集中,單一 JSON body 涵蓋 tone、密度、語言、模板、TOC 等常用偏好,不需先建專案或呼叫多個 endpoint。第二,圖片與文字 LLM 完全獨立:文字用 OpenAI、圖片用 DALL-E,或文字用 Ollama、圖片用 Pexels,可自由組合。
第三,產出是真實 OpenXML PPTX,而非 HTML 截圖嵌入空白簡報。文字、圖片、形狀均可在原生 PowerPoint 中單獨選取與編輯。此功能是 Presenton 作為 Gamma 替代品的主要技術依據。
部署前應了解的功能邊界與限制。
部署完成後的進階整合方向。
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。
No SaaS lock-in. Bring your own key, your own models, your own data.