SuperAPI AI 工具集

create-railcode-agent

智能体与模型

查看项目

更新于 10-15 18:16

技能介绍

用途

create-railcode-agent 是 Railcode 官方提供的技能,用于通过 Railcode CLI 构建、测试、发布、调用、定时和更新 Railcode 托管智能体(managed agents)。它适用于创建组织级或个人级托管智能体,以及回答 Railcode 智能体或 CLI 相关问题、运行 railcode 命令的场景。

主要能力

该技能覆盖托管智能体的完整生命周期:编写 agent.yaml 清单、配置工具与权限、在沙箱中运行代码、测试草稿、发布、调用、设置 cron 定时以及后续更新。它提供了一张需求映射表,把用户请求对应到 Railcode 的具体能力,例如:

  • 分析数据库中的指标、订单、客户:使用 tools.saved_queries(默认),仅在明确要求直接 SQL 时使用 tools.adhoc_sql。
  • 使用团队共享的 Stripe、CRM 等 SaaS 账号:使用 tools.connectors 加 tools.docs。
  • 使用个人连接的 Gmail、Slack 等账号:同样使用 tools.connectors,并指定该用户拥有并关联的行。
  • 连接 Railcode 未内置的产品:使用 railcode connector add-mcp <name> <https-url> 添加远程 MCP 服务器。
  • 读取 Railcode 应用中的记录:使用 tools.app_data,通常配合伴随应用。
  • 用 AI 读取、提取、总结、转换或生成文件:使用托管智能体加 tools.app_files 和沙箱,绝不能用伴随应用的 llm。
  • 编辑 Word/DOCX、创建 PPTX、生成 PDF、分析 Excel/XLSX:托管智能体加伴随应用,通过沙箱处理文件,再用 tools.app_data_write 发布结果。
  • 在多次运行间记住状态:使用 tools.agent_kv;若人类需要查看或编辑,则改用应用存储。
  • 从系统发送邮件报告:使用 tools.email,需要从本人邮箱发送时指定 Gmail 连接器。
  • 每天早晨运行、从 Slack 触发或在浏览器关闭后运行:托管智能体加 cron 计划或内置 Slack 调用路径。
  • 为人们提供上传输入、触发运行或查看结果的 UI:使用伴随 Railcode 应用,其 worker 调用 agents.start()。
  • 调用任意网站/API:先查找现有连接器,否则提供添加连接器或导入路径;托管智能体无法抓取开放网络。

使用方式

技能要求先更新已安装的 Railcode 技能和 CLI,并确认 npm 上发布的版本:

npx skills add Railcode-HQ/railcode-skills
npm install -g railcode@latest
railcode --version
npm view railcode version

如果技能发生变化,需要从头重新阅读该文件。若 npm 不可达,应说明无法验证最新版本,且不得声称该指引是最新的。该版本已对照发布的 Railcode CLI 0.1.28 检查。自 0.1.28 起,CLI 会在其主版本内自更新,但仅在交互式终端中,而智能体驱动的会话是非交互式的,因此仍需显式运行上述 npm install 命令。

构建工作流从范围界定开始:一次性批量提出范围界定问题,用非技术用户能理解的语言询问意图,让答案决定使用哪些原语。如果请求需要智能体无法做到的事情(如抓取开放网络、对数据变化做出反应、持续运行),应事先说明并提出最接近的受支持形态。

外部来源发现是强制步骤。当用户要求智能体读取、写入、同步、搜索或操作来自某个命名产品或系统的数据时,不要直接跳到清单或断定不支持。在选择工具前,应检查当前登录用户可用的所有 Railcode 集成平面:

railcode db list
railcode query list
railcode connector list
railcode connector catalog

对任何可能的匹配项,在编写前先检查(http 行用 railcode connector docs <name>,mcp 行和已关联账号用 railcode connector tools <name>),并复制确切的连接器名称、端点、工具 slug 和 schema,而不是猜测。优先使用 saved queries 而非 adhoc_sql。注意 mode 列:per-user 行不能被智能体命名(保存会被拒绝,因为它在调用者账号上运行而智能体没有调用者);带 owner 的 shared 行只有在智能体创建者持有它时才能被命名。如果无法认证或访问实例,应询问已配置了什么,并把上述发现命令给用户,而不是把检查失败当作不存在集成的证据。

如果不存在合适的来源,应解释差距并提供具体路径:让管理员连接数据库并发布 saved query;让管理员为共享凭据/API 创建组织级连接器;让本人关联自己的账号(railcode connector link <provider>)或按 URL 添加 X 的远程 MCP 服务器(railcode connector add-mcp <name> <url>);或把所需数据导入智能体能读取的已连接数据库/应用存储。如果 X 不提供这些接口,应说明 Railcode 无法直接连接它,并询问用户想用哪个替代来源。

技能还提供从官方示例起步的指引。Railcode 在 https://github.com/Railcode-HQ/railcode-examples 提供可部署的示例。每个 agents/ 示例都是一个伴随应用加其智能体清单。示例包括 agents/pitch-deck(上传公司材料并生成 pitch-deck PDF 的应用加智能体)和 agents/proposals(在 cron 上监视 Granola 会议并起草可编辑 .docx 提案的智能体,加显示它们的应用)。复制示例时只复制一个目录,作为普通文件,绝不 git clone 整个仓库:

mkdir -p my-proposals
curl -fsSL https://github.com/Railcode-HQ/railcode-examples/archive/refs/heads/main.tar.gz \
  | tar -xz --strip-components=3 -C my-proposals railcode-examples-main/agents/proposals

复制后需要重命名目录和清单中的 name、把 tools.app_data / app_files / app_data_write 指向重命名后的伴随应用 slug、对照 railcode connector list 重新检查 tools.connectors 下的每个名称、删除不需要的工具、重新调整限制、重写系统提示和 input_schema,并在应用中设置 app、重命名 package.json 的 name、运行 npm install、更新 manifest.yaml 中的 agents: 列表和每个 agents.start/agents.get 调用。然后在创建任何东西之前用 railcode agent test --file … 测试草稿。如果下载失败,应说明并从头构建,不要凭记忆重建示例。

技能还包含提交产品反馈的指引。在完成有意义的 Railcode 工作后,如有具体产品反馈(bug、摩擦、建议或特别好的体验),可使用隐藏的 railcode agent-feedback 命令,每个不同发现提交一次:

railcode agent-feedback --message "Deploy failed with an unclear error; expected the missing field to be named." \
  --category friction --command "deploy" --context "Static app deploy; corrected the manifest to unblock."

可用 --file <path> 提交准备好的报告,或通过 stdin 管道传入文本。消息限制 10,000 字符;--context 可选,限制 5,000。类别有 bug、friction、suggestion、praise、other(默认)。可选通过 --agent 自报助手/工具名称,通过 --model 自报模型。这些字段和 --command 各限制 200 字符。CLI 会附带其版本、操作系统平台、CPU 架构和 Node 版本。后端把报告关联到 PostHog 中已登录的用户和组织。它需要已有登录,可在应用目录外工作。Feedback accepted. 表示尽力接受,而非确认存储。如果报告失败,应继续原任务,不要反复重试或仅为发送反馈而登录。该命令有意不出现在 CLI 帮助中,需要 CLI 0.3.3 或更高版本。

适用场景

该技能适用于需要创建、测试、发布、调用、定时或更新 Railcode 托管智能体的开发者与团队,尤其是需要把外部数据源、连接器、文件处理、沙箱代码执行、定时任务或伴随应用 UI 组合起来的场景。它也适用于回答 Railcode 智能体或 CLI 相关问题。

限制

托管智能体无法抓取开放网络;无法对数据变化做出反应或持续运行;per-user 连接器不能被智能体命名(保存会被拒绝);带 owner 的 shared 连接器只有在智能体创建者持有它时才能被命名;沙箱是临时的,不携带凭据或常驻组织访问权限,运行结束后沙箱中留下的任何内容都会消失;智能体不能直接拥有文件或存储,需通过其有数据访问权的应用来操作;cron 调用没有调用者,因此从 cron 调用 agents.start() 会返回 409。此外,该技能指引已对照 Railcode CLI 0.1.28 检查,反馈指引已对照 CLI 0.3.3 源码验证,较旧的 CLI 可能返回 Unknown command。