关于 felo-slides
felo-slides 是用于生成演示文稿文件的技能,可根据主题、大纲或本地文件创建 PPT。它提交并轮询 Felo PPT 任务,完成后返回可分享的链接。
主要功能
- 01根据主题或大纲生成 PPT
- 02以本地图片和文档为输入
- 03设置页数和 PPT 主题
- 04轮询任务并按任务 ID 恢复
- 05返回 PPT 或 Live Doc 链接
适用场景
- 01将笔记整理成幻灯片
- 02根据本地 PDF 或图片制作幻灯片
- 03在 PPT 中放入原始图片
- 04恢复超时的演示文稿任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ felo-inc/ felo-skills --skill felo-slides安装后在 Claude Code 中输入/felo-slides确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
clawhub.jsonLICENSEREADME.mdscripts/run_ppt_task.mjs详细介绍
Felo Slides 技能
适用场景
遇到以下演示文稿文件创建请求时,使用此技能:
- 根据主题或大纲创建/生成幻灯片
- 将笔记转换为 PPT
- 根据本地图片、PDF 或文档制作幻灯片
- 将上传的原始图片放入生成的 PPT
- 按指定页数制作演示文稿
- 将演示文稿内容导出为可分享的幻灯片链接
触发关键词:
- 关于制作幻灯片或演示文稿的中文提示
- 英文:slides、PPT、presentation deck、generate presentation
- 明确命令:
/felo-slides、“use felo slides”
以下情况请勿使用此技能:
- 查询实时信息(使用
felo-search) - 关于本地代码库文件的问题
- 不需要生成幻灯片的纯文本任务
设置
1. 获取 API 密钥
- 访问 felo.ai
- 打开 Settings -> API Keys
- 创建并复制你的 API 密钥
2. 配置环境变量
Linux/macOS:
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
$env:FELO_API_KEY="your-api-key-here"
执行方法
使用 Bash 工具命令,并严格按照以下工作流操作。
步骤 1:预检查 API 密钥
if [ -z "$FELO_API_KEY" ]; then
echo "ERROR: FELO_API_KEY not set"
exit 1
fi
如果缺少密钥,请停止并返回设置说明。
步骤 2:运行 Node 脚本(创建并轮询)
使用随附脚本(无需依赖 jq):
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--timeout 60
用户提供本地图片或文件时,使用 --file 传入其绝对路径。在提示词中说明如何使用原始素材。
例如:
node felo-slides/scripts/run_ppt_task.mjs \
--query "Create exactly 2 slides and place the uploaded original image directly in the PPT" \
--file "/absolute/path/to/source.jpg" \
--interval 10 \
--max-wait 1800 \
--timeout 60
如果用户明确要求在 PPT 中使用原始文件或图片,请勿用文字描述替代 --file。
如需应用指定主题,请先使用 felo ppt-themes 列出可用主题,再传入主题 ID:
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--theme "THEME_ID_HERE" \
--interval 10 \
--max-wait 1800 \
--timeout 60
脚本行为:
- 通过
POST https://openapi.felo.ai/v2/ppts创建任务 - 支持使用可选参数
--file <path>,通过multipart/form-data上传一个本地文件 - 支持使用可选参数
--theme <id>应用 PPT 主题(发送ppt_config.ai_theme_id) - 支持使用可选参数
--livedoc-id <id>,复用现有 LiveDoc,而非自动创建新的 LiveDoc - 支持使用可选参数
--task-id <id>,继续轮询现有任务(跳过创建) - 通过
GET https://openapi.felo.ai/v2/tasks/{task_id}/historical轮询 - 将
COMPLETED/SUCCESS视为成功终态(不区分大小写) - 将
FAILED/ERROR视为失败终态 - 终态出现后立即停止轮询
- 成功时打印
ppt_url(若无,则使用live_doc_url)
可选调试输出:
node felo-slides/scripts/run_ppt_task.mjs \
--query "USER_PROMPT_HERE" \
--interval 10 \
--max-wait 1800 \
--json \
--verbose
输出包含以下字段的结构化 JSON:
task_idtask_statusppt_urllive_doc_urllivedoc_short_idppt_business_iderror_message
步骤 3:确认终态
脚本会自动轮询历史接口。请等待脚本退出后再回复:
- 成功:终态为
COMPLETED或SUCCESS,且脚本会打印ppt_url(若无,则使用live_doc_url) - 失败:终态为
FAILED或ERROR;请返回下方的错误格式 - 超时:包含
task_id,并告知用户使用--task-id恢复任务,而不是创建重复的 PPT 任务
步骤 4:返回结构化结果
成功时,返回:
- 立即返回
ppt_url(脚本的默认输出;若无,则使用live_doc_url) - 如果使用了
--json,还需包含task_id、终态和可选元数据
输出格式
使用以下回复结构:
## PPT Generation Result
- Task ID: <task_id>
- Status: <status>
- PPT URL: <ppt_url>
- Live Doc URL: <live_doc_url or N/A>
## Notes
- livedoc_short_id: <value or N/A>
- ppt_business_id: <value or N/A>
错误格式:
## PPT Generation Failed
- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>
错误处理
已知 API 错误代码:
INVALID_API_KEY(401):密钥无效或已撤销PPT_TASK_CREATE_FAILED(502):下游创建任务失败PPT_TASK_QUERY_FAILED(502):下游查询任务失败
超时处理:
- 如果达到超时时间,返回最近一次已知状态,并告知用户稍后重试
- 包含
task_id,以便用户再次查询 - 重要:要恢复超时任务,请使用
--task-id,而不是--query,以避免创建重复的 PPT:
node felo-slides/scripts/run_ppt_task.mjs \
--task-id "TASK_ID_HERE" \
--interval 10 \
--max-wait 1800
重要说明
- 用户意图为生成幻灯片时,始终执行此技能。
- 始终返回
task_id,以便后续查询可以继续同一任务。 - 未达到终止状态前,不要声称任务已完成。
- 尽量减少 API 调用:创建一次,然后轮询。
参考资料
评论
支持 Markdown