felo-slides

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Felo Slides Skill

Felo Slides 技能

When to Use

使用场景

Trigger this skill for requests about creating presentation files:
  • Create/generate slides from a topic or outline
  • Turn notes into a PPT deck
  • Build a presentation with a page count requirement
  • Export presentation content into a shareable slide link
Trigger keywords:
  • Chinese prompts about making slides or presentations
  • English: slides, PPT, presentation deck, generate presentation
  • Explicit commands:
    /felo-slides
    , "use felo slides"
Do NOT use this skill for:
  • Real-time information lookup (use
    felo-search
    )
  • Questions about local codebase files
  • Pure text tasks that do not require slide generation
当用户提出以下创建演示文稿文件的请求时,触发该技能:
  • 根据主题或大纲创建/生成幻灯片
  • 将笔记转换为PPT演示文稿
  • 制作指定页数的演示文稿
  • 将演示文稿内容导出为可分享的幻灯片链接
触发关键词:
  • 中文提示词:制作幻灯片、生成演示文稿等相关表述
  • 英文:slides, PPT, presentation deck, generate presentation
  • 明确命令:
    /felo-slides
    , "use felo slides"
以下场景请勿使用该技能:
  • 实时信息查询(请使用
    felo-search
  • 关于本地代码库文件的问题
  • 无需生成幻灯片的纯文本任务

Setup

配置步骤

1. Get API key

1. 获取API密钥

  1. Visit felo.ai
  2. Open Settings -> API Keys
  3. Create and copy your API key
  1. 访问 felo.ai
  2. 打开「设置」->「API密钥」
  3. 创建并复制你的API密钥

2. Configure environment variable

2. 配置环境变量

Linux/macOS:
bash
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
powershell
$env:FELO_API_KEY="your-api-key-here"
Linux/macOS:
bash
export FELO_API_KEY="your-api-key-here"
Windows PowerShell:
powershell
$env:FELO_API_KEY="your-api-key-here"

How to Execute

执行方法

Use Bash tool commands and follow this workflow exactly.
使用Bash工具命令,并严格遵循以下工作流程。

Step 1: Precheck API key

步骤1:预检查API密钥

bash
if [ -z "$FELO_API_KEY" ]; then
  echo "ERROR: FELO_API_KEY not set"
  exit 1
fi
If key is missing, stop and return setup instructions.
bash
if [ -z "$FELO_API_KEY" ]; then
  echo "ERROR: FELO_API_KEY not set"
  exit 1
fi
如果密钥缺失,请停止操作并返回配置说明。

Step 2: Run Node Script (create + poll)

步骤2:运行Node脚本(创建+轮询)

Use the bundled script (no
jq
dependency):
bash
node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60
Script behavior:
  • Creates task via
    POST https://openapi.felo.ai/v2/ppts
  • Polls via
    GET https://openapi.felo.ai/v2/tasks/{task_id}/historical
  • Treats
    COMPLETED
    /
    SUCCESS
    as success terminal (case-insensitive)
  • Treats
    FAILED
    /
    ERROR
    as failure terminal
  • Stops polling immediately on terminal status
  • Prints
    ppt_url
    on success (fallback:
    live_doc_url
    )
Optional debug output:
bash
node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --json \
  --verbose
This outputs structured JSON including:
  • task_id
  • task_status
  • ppt_url
  • live_doc_url
  • livedoc_short_id
  • ppt_business_id
使用内置脚本(无需
jq
依赖):
bash
node felo-slides/scripts/run_ppt_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60
脚本行为:
  • 通过
    POST https://openapi.felo.ai/v2/ppts
    创建任务
  • 通过
    GET https://openapi.felo.ai/v2/tasks/{task_id}/historical
    轮询任务状态
  • COMPLETED
    /
    SUCCESS
    视为成功终止状态(不区分大小写)
  • FAILED
    /
    ERROR
    视为失败终止状态
  • 达到终止状态时立即停止轮询
  • 成功时输出
    ppt_url
    (备用:
    live_doc_url
可选调试输出:
bash
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

Step 4: Return structured result

步骤4:返回结构化结果

On success, return:
  • ppt_url
    immediately (script default output, fallback
    live_doc_url
    )
  • if
    --json
    is used, also include
    task_id
    , terminal status, and optional metadata
成功时返回:
  • 直接返回
    ppt_url
    (脚本默认输出,备用为
    live_doc_url
  • 如果使用
    --json
    参数,还需包含
    task_id
    、终止状态及可选元数据

Output Format

输出格式

Use this response structure:
markdown
undefined
请使用以下响应结构:
markdown
undefined

PPT Generation Result

PPT生成结果

  • Task ID: <task_id>
  • Status: <status>
  • PPT URL: <ppt_url>
  • Live Doc URL: <live_doc_url or N/A>
  • 任务ID:<task_id>
  • 状态:<status>
  • PPT链接:<ppt_url>
  • 实时文档链接:<live_doc_url 或 N/A>

Notes

备注

  • livedoc_short_id: <value or N/A>
  • ppt_business_id: <value or N/A>

Error format:

```markdown
  • livedoc_short_id:<值 或 N/A>
  • ppt_business_id:<值 或 N/A>

错误格式:

```markdown

PPT Generation Failed

PPT生成失败

  • Error Type: <error code or category>
  • Message: <readable message>
  • Suggested Action: <next step>
undefined
  • 错误类型:<错误代码或类别>
  • 消息:<可读错误信息>
  • 建议操作:<下一步操作>
undefined

Error Handling

错误处理

Known API error codes:
  • INVALID_API_KEY
    (401): key invalid or revoked
  • PPT_TASK_CREATE_FAILED
    (502): create task downstream failed
  • PPT_TASK_QUERY_FAILED
    (502): query task downstream failed
Timeout handling:
  • If timeout reached, return last known status and instruct user to retry later
  • Include
    task_id
    so user can query again
已知API错误代码:
  • INVALID_API_KEY
    (401):密钥无效或已被撤销
  • PPT_TASK_CREATE_FAILED
    (502):下游任务创建失败
  • PPT_TASK_QUERY_FAILED
    (502):下游任务查询失败
超时处理:
  • 如果达到超时时间,返回最后已知状态并建议用户稍后重试
  • 需包含
    task_id
    以便用户后续再次查询

Important Notes

重要说明

  • Always execute this skill when user intent is slide generation.
  • Always return
    task_id
    so follow-up queries can continue from the same task.
  • Do not claim completion without a terminal status.
  • Keep API calls minimal: create once, then poll.
  • 当用户明确需要生成幻灯片时,务必启用该技能。
  • 务必返回
    task_id
    ,以便后续查询可基于同一任务继续操作。
  • 未达到终止状态时,请勿声称任务已完成。
  • 尽量减少API调用:创建一次任务后,仅进行轮询操作。

References

参考链接