如何在終端機中使用 Felo Slides 搭配 Claude Code 與 AI 代理人
使用 Felo Slides 搭配 Claude Code、OpenClaw 與 felo-slides npm 套件,從終端機中建立 AI 驅動的簡報。這是一份專為開發者撰寫的程式化生成投影片指南。
$ npx felo-slides "用 8 張投影片解釋 Kubernetes pod 排程"
✓ 分析主題中...
✓ 產生大綱 (8 張投影片)...
✓ 建立投影片內容中...
✓ 建構簡報中...
✔ 完成 → kubernetes-pod-scheduling.felo
就是這樣。不需要瀏覽器、不需拖放、不需選範本。輸入一行指令,八張投影片就自動生成。
如果你曾忍受過一場本該用投影片講完的 40 分鐘會議,你就知道我們為什麼要打造 Felo Slides。但這篇文章不是在介紹該網頁版應用,而是要說明當開發者能夠使用 API 來自動化一切時會發生什麼事。
以下將介紹如何透過 Claude Code、OpenClaw 代理人與自訂腳本,在不離開終端機的情況下使用 Felo Slides 生成 AI 投影片。
[IMG: 終端畫面截圖,顯示使用 felo-slides CLI 從單一提示詞生成簡報,並突顯輸出檔案]
Felo Slides 是什麼(開發者版)
Felo Slides 是一個 AI 簡報引擎。大多數人只知道它是 slides.felo.ai 上的網頁應用程式。但在背後,它同時也是:
felo-slidesnpm 套件 — 可程式化生成投影片的 CLI 與函式庫- Claude Code Skill — 讓 Claude Code 能直接在編輯器內建立簡報的原生技能
- OpenClaw Skill — 相同概念,但整合於 OpenClaw 代理框架內
- REST API — 提供生成投影片、主題分析與範本渲染的 HTTP 端點
網頁應用是精緻的前端,而開發者工具才是真正的引擎。你可自由搭配使用:CLI 適合本地快速生成、API 用於伺服器端自動化,而 Claude Code 技能則用於對話式產出投影片。
使用時機對照表:
| 使用情境 | 工具 |
|---|---|
| 從終端機快速生成投影片 | felo-slides CLI |
| 在編輯器內對話生成 | Claude Code Skill |
| 代理人驅動工作流程 | OpenClaw Skill |
| 後端 / CI / 批次工作 | Felo Slides API |
安裝與設定
先決條件
- Node.js 18+(建議 20+)
- 具有 API 權限的 Felo 帳號(免費方案亦可)
- 從 slides.felo.ai/settings/api 取得 API 金鑰
安裝 npm 套件
npm install -g felo-slides
或直接使用(無需全域安裝):
npx felo-slides "輸入你的簡報主題"
驗證身分
將 API 金鑰設為環境變數:
export FELO_SLIDES_API_KEY=fsk_your_api_key_here
或在專案根目錄建立 .felo-slides.json:
{
"apiKey": "fsk_your_api_key_here",
"defaultOutput": "./presentations",
"template": "developer-dark"
}
驗證是否正常運作
$ felo-slides --version
felo-slides 2.4.0
$ felo-slides --check
✓ API 金鑰有效
✓ 速率限制:剩餘 47/50 次請求
✓ 已載入模板:12 個
[IMG: 終端畫面對照圖,顯示成功設定與常見驗證錯誤的差異]
搭配 Claude Code 使用 Felo Slides
這是有趣的部分。Claude Code Skill 能把 Claude 的編輯器變成投影片工廠。不再需要手動撰寫提示與複製貼上,Claude 能直接生成、編輯並匯出簡報。
安裝 Claude Code Skill
# 在你的 Claude Code 專案目錄中
claude skill add felo-slides
這樣即可在 Claude Code 中註冊 Felo Slides 技能。Claude 會知道它能建立簡報,並具備完整的 felo-slides API 功能。
基本用法
安裝完成後,只需自然地對 Claude 下指令:
> 建立一份 10 張投影片的 Q3 工程規劃簡報,
包含:平台遷移、招聘計畫,
以及基礎建設預算。
Claude 會執行:
- 擬定投影片大綱並與你確認結構
- 透過 Felo Slides API 生成內容
- 將
.felo檔存入你的專案資料夾 - 提供針對特定投影片的修改建議
無需切換環境、無須複製貼上。投影片與你的程式碼共存在同一個版本庫中。
進階用法:自訂 Claude Code 模板
可以設定專案專用的投影片範本,讓 Claude 自動套用:
mkdir -p .felo/templates
建立 .felo/templates/engineering.json:
{
"name": "Engineering Update",
"theme": "dark",
"accent": "#6366f1",
"fonts": {
"heading": "JetBrains Mono",
"body": "Inter"
},
"layout": {
"titleSlide": "code-hero",
"contentSlide": "split-left",
"closingSlide": "cta-minimal"
}
}
接著於 Claude Code 下達:
> 做一份關於權限服務遷移的簡報。
使用 engineering 模板。
Claude 會自動偵測並應用該模板於所有生成的投影片上。
[IMG: Claude Code 編輯器截圖,顯示使用者要求生成簡報,Claude 產出大綱後,在檔案樹中出現 .felo 檔案]
對話式編輯投影片
Claude Code 整合的真正強大之處在於可反覆編修:
> 第 3 張太密集,把它拆成兩張。
將架構圖移到第 4 張。
> 在第 5 至 7 張加上講者筆記,
每張限制 50 字以內。
> 將強調色改成我們品牌綠 (#10b981),
並在標題頁加上公司標誌。
每次修改其實都是 API 呼叫,但你看不到 HTTP 請求的細節,Claude 會自動處理後端。
搭配 OpenClaw 使用 Felo Slides
OpenClaw 將代理概念更進一步。Felo Slides 的 OpenClaw Skill 讓 AI 代理能在更大規模的自動化流程中生成投影片——不僅限於用者下達命令時。
設定
openclaw skill install felo-slides
在 OpenClaw 工作區設定:
# openclaw.yaml
skills:
felo-slides:
apiKey: "${FELO_SLIDES_API_KEY}"
defaultTemplate: "professional"
outputDir: "./output/slides"
代理人驅動生成
在 OpenClaw 中,可透過代理流程觸發投影片生成:
User: 我們剛完成 Acme 專案簽約,幫工程團隊準備
啟動簡報。從 Notion 拿專案簡報,從 Linear
抓時程表。
Agent: [讀取 Notion 簡報]
[擷取 Linear 時程]
[透過 felo-slides 生成 12 張啟動投影片]
[儲存至 output/slides/acme-kickoff.felo]
「完成。共建立 12 張投影片,涵蓋範圍、
時程、團隊分配與里程碑。
要我傳到 #eng-general 嗎?」
代理人會從兩個外部工具擷取資料,整理成簡報並一次生成所有投影片。
[IMG: 流程圖,顯示 OpenClaw 代理流程:使用者請求 → 蒐集上下文(Notion、Linear)→ felo-slides API → 輸出檔案 → 傳送結果]
命令列範例
以下示範常見開發者情境。
從主題生成
felo-slides "Microservices vs monoliths: a pragmatic guide" --slides 12
從 Markdown 檔生成
felo-slides --from ./meeting-notes.md --template "standup"
CLI 會解析你的 markdown,自動偵測標題與項目符號並對應成投影片。
從 URL 生成
felo-slides --from-url https://github.com/org/repo/blob/main/README.md
可快速將文件、部落格文章或 RFC 轉成簡報。
批次生成
# 為多個主題批量生成投影片
felo-slides batch --file topics.txt --output ./deck-batch/
topics.txt 包含每行一個主題:
Q4 OKR 檢討
新進後端人員訓練
事故檢討:2026-05-12 異常
架構決策紀錄:事件溯源
匯出格式
# 匯出為 PDF
felo-slides export ./output.felo --format pdf
# 匯出為 PPTX
felo-slides export ./output.felo --format pptx
# 匯出為圖片(每張投影片一張 PNG)
felo-slides export ./output.felo --format png --dpi 300
CI/CD 整合
# .github/workflows/weekly-deck.yml
name: 產生每週更新簡報
on:
schedule:
- cron: '0 9 * * 1' # 每週一早上 9 點
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx felo-slides "每週工程更新 ${{ github.run_id }}" --template weekly --output ./decks/
- uses: actions/upload-artifact@v4
with:
name: weekly-deck
path: ./decks/
[IMG: GitHub Actions 日誌截圖,顯示 felo-slides 步驟成功執行並在 Artifacts 中列出生成的簡報]
自動化流程範例
以下三個範例展示 Felo Slides 如何有效節省時間。
1. 會前準備機器人
在每次例會前,自動於 Slack 產出初始簡報:
import { FeloSlides } from 'felo-slides';
import { getMeetingContext } from './calendar-integration';
const slides = new FeloSlides({ apiKey: process.env.FELO_SLIDES_API_KEY });
export async function prepareMeetingDeck(meetingId: string) {
const context = await getMeetingContext(meetingId);
const deck = await slides.generate({
topic: context.title,
slides: 8,
context: [
`出席者:${context.attendees.join(', ')}`,
`上次行動項目:${context.lastActions.join('; ')}`,
`議程:${context.agenda.join(', ')}`,
],
template: 'standup',
});
await slides.export(deck.id, { format: 'pdf' });
await postToSlack(context.channel, {
text: `📊 ${context.title} 的初始簡報`,
files: [{ file: deck.exportPath, filename: `${context.title}.pdf` }],
});
}
2. 文件 → 簡報管線
自動將新的 RFC 或設計文件轉換為簡報草稿:
#!/bin/bash
# hooks/post-commit-slides.sh
# 偵測 /docs/rfcs 中的新 .md 檔案
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD -- 'docs/rfcs/*.md')
for file in $CHANGED_FILES; do
TITLE=$(head -1 "$file" | sed 's/^# //')
OUTPUT="./presentations/$(basename "$file" .md).felo"
npx felo-slides --from "$file" --template "rfc" --output "$OUTPUT"
echo "已生成投影片:$TITLE → $OUTPUT"
done
將此設為 git hook 或 CI 步驟,即可在每次新增 RFC 後自動生成對應簡報。
3. 多格式內容再利用
將同一份內容轉為部落格文章、投影片與社群貼文:
import { FeloSlides } from 'felo-slides';
import { generateBlog } from './blog-generator';
import { generateSocialThread } from './social-generator';
async function repurposeContent(sourceUrl: string) {
// 擷取並分析原始內容
const content = await fetchAndParse(sourceUrl);
// 同步生成三種格式
const [blog, deck, thread] = await Promise.all([
generateBlog(content, { words: 2000 }),
new FeloSlides().generate({
topic: content.title,
slides: 10,
context: content.summary,
}),
generateSocialThread(content, { posts: 8 }),
]);
return { blog, deck, thread };
}
一份內容,三種輸出。投影片不再是事後補件,而是與文章同等智慧產出的成果。
[IMG: 流程圖,顯示一份內容分流成三個輸出:部落格、投影片與社群貼文]
API 參考
若團隊欲自行整合,Felo Slides API 提供三個主要端點。
驗證
所有請求皆需在標頭中包含 API 金鑰:
Authorization: Bearer fsk_your_api_key_here
POST /v1/slides/generate
生成新簡報。
curl -X POST https://api.slides.felo.ai/v1/slides/generate \
-H "Authorization: Bearer fsk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"topic": "Introduction to WebAssembly",
"slideCount": 10,
"template": "developer-dark",
"context": [
"Audience: senior backend engineers",
"Focus on practical use cases, not theory",
"Include performance comparison with Docker"
],
"language": "en"
}'
回應:
{
"id": "deck_abc123",
"status": "processing",
"estimatedSeconds": 15,
"slides": 10,
"pollUrl": "/v1/slides/deck_abc123"
}
GET /v1/slides/{id}
檢查狀態並取得完成投影片。
curl https://api.slides.felo.ai/v1/slides/deck_abc123 \
-H "Authorization: Bearer fsk_your_api_key_here"
完成後的回應:
{
"id": "deck_abc123",
"status": "complete",
"slides": [
{
"number": 1,
"title": "What Is WebAssembly?",
"content": "...",
"notes": "..."
}
],
"downloadUrls": {
"felo": "https://api.slides.felo.ai/v1/slides/deck_abc123/download?felo",
"pdf": "https://api.slides.felo.ai/v1/slides/deck_abc123/download?pdf",
"pptx": "https://api.slides.felo.ai/v1/slides/deck_abc123/download?pptx"
}
}
POST /v1/slides/{id}/edit
以程式方式修改既有簡報。
curl -X POST https://api.slides.felo.ai/v1/slides/deck_abc123/edit \
-H "Authorization: Bearer fsk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"actions": [
{ "type": "update", "slide": 3, "title": "WASM vs Containers: Benchmarks" },
{ "type": "insert", "after": 5, "title": "Live Demo", "content": "..." },
{ "type": "delete", "slide": 8 }
]
}'
速率限制
- 免費方案:每日 50 次、每分鐘 5 次
- 專業方案:每日 500 次、每分鐘 30 次
- 企業方案:客製化限制
felo-slides CLI 與各 SDK 會自動處理速率限制,並採用指數回退策略。
[IMG: API 文件截圖,顯示三個端點的請求與回應範例]
常見問題
可離線使用 Felo Slides 嗎?
生成階段需要連線(AI 模型於伺服器端執行)。但可將生成結果匯出為 PDF 或 PPTX,之後可離線使用。CLI 會快取最近 10 份生成的簡報供離線瀏覽。
如何處理敏感內容?
所有 API 請求在傳輸與儲存階段皆經加密(TLS 1.3)。投影片內容不會用於模型訓練。企業部署若需資料在地存放,可聯繫我們了解自建方案。
我能使用自訂模板嗎?
可以。npm 套件與 API 均支援自訂模板。將模板定義為 JSON 檔(可參考上方 Claude Code 範例),並以名稱或路徑引用:
felo-slides "主題" --template ./my-template.json
輸出格式為何?
生成結果以 .felo(結構化 JSON)儲存,可匯出為 PDF、PPTX、PNG 或 HTML。.felo 檔可編輯,可透過程式修改或重新匯入進行後續 AI 編修。
Claude Code 技能能否在 CLI 使用,還是僅限桌面版?
兩者皆可。該技能同時支援終端機版 claude 與 Claude 桌面應用,安裝方式完全相同。
能生成非英文投影片嗎?
可以。將 language 參數(ISO 639-1 語代碼)傳給 API 或使用 CLI 的 --lang 旗標:
felo-slides "Kubernetes 入門指南" --lang zh
felo-slides "Introducción a WebAssembly" --lang es
AI 會依指定語言生成內容,並保留專業術語的慣用形式。
OpenClaw 與 Claude Code 技能有何不同?
Claude Code 技能針對互動式編輯使用,會提出澄清問題並反覆修正;OpenClaw 技能則為自動化代理流程設計,可接收結構化輸入並直接返回結果。同樣引擎,不同互動模型。
開始動手吧
快速入門清單:
- 取得 API 金鑰 → slides.felo.ai/settings/api
- 安裝 CLI →
npm install -g felo-slides - 設定金鑰 →
export FELO_SLIDES_API_KEY=fsk_... - 生成第一份簡報 →
felo-slides "你的主題" - 加入 Claude Code →
claude skill add felo-slides - 自動化整合 → 將 API 接入你的工作流程
Felo Slides 並非要取代設計工具,而是要讓「臨時需要快速簡報」這件事變得毫不費力——特別是當你已在終端機、編輯器或代理流程中工作時。
由此產生的 AI 投影片未必完美,但它們是實用的初稿——那種你願意打開、花 10 分鐘微調、然後直接交付的版本。這就是我們的標準。
試試看:
npx felo-slides "那場我一直想講的演講"
→ Felo Slides · npm 套件 · API 文件 · GitHub
本文也提供以下語言版本:English、简体中文、日本語、한국어、हिन्दी、Français、العربية、Русский、اردو、Bahasa Indonesia、Deutsch、Tiếng Việt、Türkçe、Italiano、ไทย、Español、বাংলা、Português。