如何在终端中结合 Claude Code 与 AI 智能体使用 Felo Slides
使用 Felo Slides 搭配 Claude Code、OpenClaw 以及 felo-slides npm 包,从终端构建由 AI 驱动的幻灯片。开发者的程序化幻灯片生成指南。
$ npx felo-slides "Explain Kubernetes pod scheduling in 8 slides"
✓ Analyzing topic...
✓ Generating outline (8 slides)...
✓ Creating slide content...
✓ Building presentation...
✔ Done → kubernetes-pod-scheduling.felo
就这样。无需浏览器、无需拖拽、无需挑选模板。只需输入一条命令,八张幻灯片就自动生成了。
如果你曾经坐在一个 40 分钟的会议中,心想“这其实应该是一份幻灯片”,那你已经理解我们为什么要构建 Felo Slides。但本文并不是介绍网页应用,而是讲述当开发者获得一个 API 并被告知“自动化一切”时,会发生什么。
以下说明如何在终端中结合 Claude Code、OpenClaw 智能体以及你自己的脚本,无需离开终端即可生成 AI 幻灯片。
[IMG: 终端截图展示 felo-slides CLI 从单个提示生成演示文稿的过程,输出文件被高亮显示]
Felo Slides 是什么(面向开发者)
Felo Slides 是一个 AI 驱动的演示引擎。大多数人通过 slides.felo.ai 这个网页应用认识它。但在底层,它也是:
felo-slidesnpm 包 — 支持程序化生成幻灯片的 CLI 与库- Claude Code 技能 — 让 Claude Code 能在编辑器内直接创建演示文稿
- OpenClaw 技能 — 与 OpenClaw 智能体框架互联,原理相同
- REST API — 用于生成幻灯片、分析主题及模板渲染的 HTTP 接口
网页应用是精致的前端界面,而开发者工具才是核心引擎。两者可以混搭使用:在本地快速生成时用 CLI,在服务器自动化时用 API,在交互式生成时用 Claude Code 技能。
使用场景对照表:
| 使用情境 | 工具 |
|---|---|
| 从终端快速生成幻灯片 | felo-slides CLI |
| 编辑器内交互式生成 | Claude Code 技能 |
| 智能体驱动的流程 | OpenClaw 技能 |
| 后端 / CI / 批处理任务 | Felo Slides API |
安装与设置
前提条件
- Node.js 18+(推荐 20+)
- 拥有 Felo 帐号且启用 API 访问(免费层即可)
- 在 slides.felo.ai/settings/api 获取 API key
安装 npm 包
npm install -g felo-slides
或无需安装直接运行:
npx felo-slides "Your presentation topic here"
身份验证
将 API key 设为环境变量:
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 key valid
✓ Rate limit: 47/50 requests remaining
✓ Templates loaded: 12
[IMG: 对比终端输出,显示成功设置与常见身份验证错误的结果]
在 Claude Code 中使用 Felo Slides
这部分开始变得有趣。Claude Code 技能能将 Claude 的编辑器变成幻灯片工厂。无需再复制粘贴,Claude 会直接生成、修改并导出演示文稿。
安装 Claude Code 技能
# 在 Claude Code 项目目录下
claude skill add felo-slides
这会将 Felo Slides 技能注册至 Claude Code,使其具备完整的 felo-slides API 使用权限,并可直接创建幻灯片。
基本用法
安装后,只需自然地向 Claude 发出请求:
> Create a 10-slide deck about our Q3 engineering roadmap.
Include sections on: platform migration, hiring plan,
and infrastructure budget.
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 中:
> Make a deck about the auth service migration.
Use the engineering template.
Claude 会自动检测并应用模板。
[IMG: Claude Code 编辑器对话示意,用户请求创建幻灯片,Claude 生成大纲并将 .felo 文件添加到文件树中]
以对话方式编辑幻灯片
Claude Code 集成的真正威力在于可迭代式编辑:
> Slide 3 is too dense. Split it into two slides.
Move the architecture diagram to slide 4.
> Add speaker notes to slides 5-7. Keep them under
50 words each.
> Change the accent color to our brand green (#10b981)
and add our logo to the title slide.
每次修改都对应底层 API 调用,但 HTTP 请求全由 Claude 自动处理。
在 OpenClaw 中使用 Felo Slides
OpenClaw 将“智能体”理念更进一步。Felo Slides 的 OpenClaw 技能让智能体在执行复杂任务时自动生成幻灯片,而非仅响应指令。
设置
openclaw skill install felo-slides
在 OpenClaw 工作区中配置:
# openclaw.yaml
skills:
felo-slides:
apiKey: "${FELO_SLIDES_API_KEY}"
defaultTemplate: "professional"
outputDir: "./output/slides"
智能体驱动的幻灯片生成
在 OpenClaw 中可由智能体流程触发幻灯片生成:
User: We just closed the Acme deal. Prepare a kickoff
deck for the eng team. Use the project brief from
Notion and the timeline from Linear.
Agent: [reads Notion brief]
[fetches Linear timeline]
[generates 12-slide kickoff deck via felo-slides]
[saves to output/slides/acme-kickoff.felo]
"Done. Created a 12-slide deck covering scope,
timeline, team assignments, and milestones.
Want me to send it to #eng-general?"
智能体从两个外部工具中提取上下文信息、整理结构并生成整份幻灯片,全程自动完成。
[IMG: 图示展示 OpenClaw 智能体流程:用户请求 → 获取上下文(Notion、Linear)→ 调用 felo-slides API → 输出文件 → 发送结果]
命令行示例
下面详细介绍 CLI 使用示例,这些是最常见的开发工作流。
按主题生成
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 Review
New Hire Onboarding: Backend
Incident Postmortem: 2026-05-12 Outage
Architecture Decision Record: Event Sourcing
导出格式
# 导出为 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: Generate Weekly Update Deck
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 "Weekly engineering update for ${{ github.run_id }}" --template weekly --output ./decks/
- uses: actions/upload-artifact@v4
with:
name: weekly-deck
path: ./decks/
[IMG: GitHub Actions 日志截图,展示 felo-slides 步骤成功运行并生成 artifact]
自动化工作流示例
以下三个实际工作流展示了 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: [
`Attendees: ${context.attendees.join(', ')}`,
`Previous action items: ${context.lastActions.join('; ')}`,
`Agenda: ${context.agenda.join(', ')}`,
],
template: 'standup',
});
await slides.export(deck.id, { format: 'pdf' });
await postToSlack(context.channel, {
text: `📊 Starter deck for ${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 "Generated slides for: $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 提供三个核心端点。
身份验证
所有请求都需在 Header 中携带 API key:
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 吗?
生成步骤需要调用 API(AI 模型在服务端运行)。但可将生成的幻灯片导出为 PDF 或 PPTX 后离线使用。CLI 会缓存最近 10 份幻灯片,方便离线查看。
如何处理敏感内容?
所有 API 请求在传输与存储时均经过加密(TLS 1.3)。幻灯片内容不会用于模型训练。企业用户若有数据驻留要求,可联系我们获取本地部署方案。
我可以使用自定义模板吗?
可以。npm 包与 API 都支持自定义模板。将模板定义为 JSON 文件(见 Claude Code 示例),然后通过名称或路径引用:
felo-slides "Topic here" --template ./my-template.json
输出格式是什么?
生成的幻灯片保存为 .felo 文件(一种结构化 JSON 格式)。可导出为 PDF、PPTX、PNG 或 HTML。.felo 格式可编辑,可程序化修改或重新导入进行进一步 AI 编辑。
Claude Code 技能能与 Claude CLI 一起使用吗?
可以。该技能既可在终端中的 claude 使用,也可在 Claude 桌面应用中使用,两者安装方式相同。
可以生成非英文幻灯片吗?
可以。通过 API 的 language 参数或 CLI 的 --lang 标志指定语言(ISO 639-1 代码):
felo-slides "Kubernetes 入门指南" --lang zh
felo-slides "Introducción a WebAssembly" --lang es
AI 会根据指定语言生成内容,同时保持技术术语的标准形式。
OpenClaw 技能与 Claude Code 技能有何不同?
Claude Code 技能适合交互式编辑,能与用户多轮沟通;OpenClaw 技能为自动化智能体设计,接收结构化输入并直接输出结果。底层引擎相同,但交互模式不同。
开始构建
快速入门清单:
- 获取 API key → slides.felo.ai/settings/api
- 安装 CLI →
npm install -g felo-slides - 设置密钥 →
export FELO_SLIDES_API_KEY=fsk_... - 生成第一份幻灯片 →
felo-slides "Your topic here" - 添加到 Claude Code →
claude skill add felo-slides - 自动化集成 → 将 API 接入你的工作流
Felo Slides 并非取代设计工具,而是让“我需要一份快速幻灯片”这种需求变得轻松快捷。特别是当你已身处终端、编辑器或智能体工作流中。
通过这种方式生成的幻灯片不一定是完美的初稿,但却是实用的初稿——那种你能在十分钟内调整并直接交付的版本。这就是我们的目标。
试试看:
npx felo-slides "The talk I've been meaning to give"
→ Felo Slides · npm 包 · API 文档 · GitHub
本文还提供以下语言版本:English、日本語、한국어、繁體中文、हिन्दी、Français、العربية、Русский、اردو、Bahasa Indonesia、Deutsch、Tiếng Việt、Türkçe、Italiano、ไทย、Español、বাংলা、Português。