mcpField
F
felo-landingpage

felo-landingpage

github.com/felo-inc设计与 UI25063 次安装14 周前更新
代码仓库

关于 felo-landingpage

felo-landingpage 是用于根据主题、产品或营销简报生成单页网页的技能,面向需要直接获得网页结果的用户。它通过 Felo Open API 创建并轮询任务,返回生成的 HTML。

主要功能

  1. 01从主题或营销简报生成网页
  2. 02创建任务并轮询生成状态
  3. 03支持通过任务 ID 恢复轮询
  4. 04返回生成网页的 HTML 结果

适用场景

  1. 01将产品介绍转为单页网站
  2. 02为营销活动生成落地页
  3. 03继续查询超时的网页生成任务

安装

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

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

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

包含的文件

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

clawhub.json
LICENSE
README.md
agents/
openai.yaml
scripts/
run_landingpage_task.mjs

详细介绍

Felo 着陆页 Skill

适用场景

遇到以下生成网页的请求时,使用此 Skill:

  • 根据主题、产品、功能或营销活动简介创建/生成着陆页
  • 将营销描述转化为可分享的单页网站
  • 构建 AI 网页并返回最终托管 HTML 结果 URL
  • 用户要求立即生成时,直接生成网页,无需追问

触发关键词:

  • 中文着陆页或网页相关提示:着陆页, 落地页, 官网页, 单页网站, 网页, HTML 页面
  • 英文:landing page, marketing page, single-page website, webpage, AI page, HTML page
  • 明确指令:/felo-landingpage、“use felo landing page”

以下情况请勿使用此 Skill:

  • 生成演示文稿/PPT(使用 felo-slides)
  • 生成思维导图(使用 felo-mindmap)
  • 仅查询实时信息(使用 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-landingpage/scripts/run_landingpage_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --timeout 60

为获得最佳效果,如果用户未提供直接生成指令,请在查询中加入该指令:

In all cases, generate the webpage directly and do not ask any follow-up questions.

如需继续轮询现有任务,而不重复创建着陆页:

node felo-landingpage/scripts/run_landingpage_task.mjs \
  --task-id "TASK_ID_HERE" \
  --interval 10 \
  --max-wait 1800

脚本行为:

  • 通过 POST https://openapi.felo.ai/v2/landing_page 创建任务
  • 通过 GET https://openapi.felo.ai/v2/tasks/{task_id}/historical 轮询
  • 将 COMPLETED/SUCCESS(不区分大小写)视为成功终态
  • 将 FAILED/ERROR/EXPIRED/CANCELED/CANCELLED 视为失败终态
  • 遇到终态后立即停止轮询
  • 成功时输出 ai_page_html
  • 在 JSON 输出中保留 ppt_biz_id 和 ppt_url,因为历史响应目前会复用 PPT 历史记录结构

可选调试输出:

node felo-landingpage/scripts/run_landingpage_task.mjs \
  --query "USER_PROMPT_HERE" \
  --interval 10 \
  --max-wait 1800 \
  --json \
  --verbose

此输出包含以下字段的结构化 JSON:

  • task_id
  • task_status
  • ai_page_html
  • ppt_biz_id
  • ppt_url
  • error_message
步骤 3:返回结构化结果

成功时,返回:

  • 立即返回 ai_page_html(脚本默认输出)
  • 如果使用 --json,还需包含 task_id、终态和可选元数据

输出格式

使用以下响应结构:

## Landing Page Generation Result

- Task ID: <task_id>
- Status: <status>
- HTML URL: <ai_page_html>
- PPT Biz ID: <ppt_biz_id or N/A>
- PPT URL: <ppt_url or N/A>

错误格式:

## Landing Page Generation Failed

- Error Type: <error code or category>
- Message: <readable message>
- Suggested Action: <next step>

Open API 工作流

仅使用公开的 Open API 端点:

  1. 创建任务:POST /v2/landing_page
  2. 读取 data.task_id
  3. 轮询结果:GET /v2/tasks/{task_id}/historical
  4. 当 task_status == RUNNING 或为其他非终态时,继续轮询
  5. 当 task_status == COMPLETED 时,使用 data.ai_page_html 作为最终网页结果 URL

身份验证使用用户的 Felo API 密钥:

Authorization: Bearer <user_api_key>

历史查询目前复用共享任务历史记录结构,因此 ppt_biz_id 和 ppt_url 可能会与 ai_page_html 一同出现。

错误处理

已知/预期的失败情况:

  • INVALID_API_KEY 或 HTTP 401:密钥无效或已撤销
  • 创建任务的响应缺少 task_id:API 结构已变更或任务创建失败
  • 已完成的任务缺少 ai_page_html:使用 --task-id 再次查询历史记录,或报告任务 ID
  • 达到超时时间:返回最近一次已知状态和 task_id,以便用户稍后继续

超时处理:

  • 如果达到超时时间,返回最近一次已知状态,并告知用户稍后重试
  • 包含 task_id,以便用户再次查询
  • 如需继续超时任务,请使用 --task-id 而不是 --query,以避免重复创建着陆页

重要说明

  • 当用户意图是创建落地页或生成网页时,始终执行此技能。
  • 始终返回 task_id,以便后续查询可以继续使用同一任务。
  • 未达到终态时,不要声称已完成。
  • 将 ai_page_html 作为最终结果;ppt_url 是旧版/共享历史记录元数据,不是落地页输出。
  • 尽量减少 API 调用:创建一次,然后轮询。

参考资料

评论

支持 Markdown