mcpField
F
felo-slides

felo-slides

github.com/felo-inc文档处理2501.0k 次安装14 周前更新
代码仓库

关于 felo-slides

felo-slides 是用于生成演示文稿文件的技能,可根据主题、大纲或本地文件创建 PPT。它提交并轮询 Felo PPT 任务,完成后返回可分享的链接。

主要功能

  1. 01根据主题或大纲生成 PPT
  2. 02以本地图片和文档为输入
  3. 03设置页数和 PPT 主题
  4. 04轮询任务并按任务 ID 恢复
  5. 05返回 PPT 或 Live Doc 链接

适用场景

  1. 01将笔记整理成幻灯片
  2. 02根据本地 PDF 或图片制作幻灯片
  3. 03在 PPT 中放入原始图片
  4. 04恢复超时的演示文稿任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/felo-inc/felo-skills --skill felo-slides

安装后在 Claude Code 中输入/felo-slides确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

clawhub.json
LICENSE
README.md
scripts/
run_ppt_task.mjs

详细介绍

Felo Slides 技能

适用场景

遇到以下演示文稿文件创建请求时,使用此技能:

  • 根据主题或大纲创建/生成幻灯片
  • 将笔记转换为 PPT
  • 根据本地图片、PDF 或文档制作幻灯片
  • 将上传的原始图片放入生成的 PPT
  • 按指定页数制作演示文稿
  • 将演示文稿内容导出为可分享的幻灯片链接

触发关键词:

  • 关于制作幻灯片或演示文稿的中文提示
  • 英文:slides、PPT、presentation deck、generate presentation
  • 明确命令:/felo-slides、“use felo slides”

以下情况请勿使用此技能:

  • 查询实时信息(使用 felo-search)
  • 关于本地代码库文件的问题
  • 不需要生成幻灯片的纯文本任务

设置

1. 获取 API 密钥
  1. 访问 felo.ai
  2. 打开 Settings -> API Keys
  3. 创建并复制你的 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_id
  • task_status
  • ppt_url
  • live_doc_url
  • livedoc_short_id
  • ppt_business_id
  • error_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