Rube MCP × Codex Amazon 自动化实战指南:跑通第一次商品搜索
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
本文基于 awesome-codex-skills 仓库的 amazon-automation skill,通过 Rube MCP 把 Codex Agent 接入 Composio 的 Amazon 工具集,带你完成一件具体的事:让 Agent 搜索一次亚马逊商品并拿回真实结果,同时避开 schema 硬编码、连接失效、分页截断等典型坑。
让 Agent 查一次亚马逊商品并拿回结果
你要做的小任务很简单:在 Codex 会话里描述「在亚马逊搜索某类商品并拿回前 10 条结果」,Agent 按顺序完成搜索、验连接、执行三类RUBE_*调用,最后返回一份商品 JSON。
这个任务覆盖了该 skill 的完整路径:由 composio-skills/amazon-automation/SKILL.md 的 frontmatter 触发技能、建立 Amazon 连接、动态获取工具 schema、发起真实 API 调用。跑通这一次之后,换成查订单、拉详情都只是改措辞,流程不变。这是一条典型的 Codex 自动化路线:Agent 不只生成建议文本,而是真正调通外部业务系统。
开始动手前,先确认下面几项。
动手前自检 ✅:第一次调用前的 4 件事
- 已配置 Rube MCP 端点:客户端 MCP 配置中加入
https://rube.app/mcp,无需 API Key RUBE_SEARCH_TOOLS有响应:会话中调用一次,确认能正常返回- amazon toolkit 连接为 ACTIVE:通过
RUBE_MANAGE_CONNECTIONS完成授权并复核状态 - skill 已安装(推荐):
amazon-automation位于$CODEX_HOME/skills/(默认~/.codex/skills)
前两项每个新会话都要复核一次;连接在 OAuth 授权后会持久化,后续会话可直接复用;skill 装好后,Agent 在你说出 Amazon 相关任务时会自动按本文的纪律行事。
自检通过后,花 30 秒看清分工。
机制 30 秒速览:Rube MCP 链路里谁负责什么
| 组件 | 职责 |
|---|---|
| Codex(CLI / API) | 读取各 skill 的name与descriptionfrontmatter 决定是否触发,触发后才加载 SKILL.md 正文,保持上下文精简 |
| amazon-automation skill | 提供纪律文档:先RUBE_SEARCH_TOOLS拿实时 schema,再验连接、再执行 |
Rube MCP(https://rube.app/mcp) | 统一入口网关,对外暴露RUBE_*系列工具,Agent 不接触 OAuth 细节 |
| Composio Amazon toolkit | 封装亚马逊业务 API,连接建立后即可被调度执行 |
frontmatter 三个字段的分工:name是标识也是安装后的目录名;description是触发依据,刻意写明了「先搜索工具」原则;requires.mcp声明依赖名为rube的 MCP 服务器。你不需要记忆任何鉴权细节——连接建立后,工具直接可调度。
分工清楚了,开始打第一次调用。
第一次跑通:装好 skill,完成三次调用
第 0 步:把 skill 装到位
尚未安装的话,克隆仓库并运行安装脚本:
git clone https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills cd awesome-codex-skills python skill-installer/scripts/install-skill-from-github.py --repo ComposioHQ/awesome-codex-skills --path composio-skills/amazon-automation ls ~/.codex/skills head ~/.codex/skills/amazon-automation/SKILL.md脚本默认装到$CODEX_HOME/skills/<skill-name>;目标目录已存在会中止以防覆盖;默认走直连下载,失败时回退 git sparse checkout。ls输出里出现amazon-automation、head能看到name: amazon-automation,即安装成功。重启 Codex 让它加载新元数据。
第 1 步:搜索拿到最新 schema
💡 这是整个工作流的关键调用,后两步用到的工具 slug 和参数名都只能从这里来。
RUBE_SEARCH_TOOLS queries: [{use_case: "search Amazon products", known_fields: ""}] session: {generate_id: true}| 参数 | 类型 | 说明 |
|---|---|---|
queries | 数组 | 每个元素含use_case(要完成的任务描述)与known_fields(已知字段名,可为空串) |
session.generate_id | 布尔 | 设为true时自动生成新的会话 ID |
成功标志:返回包含可用工具 slug 列表、每个工具的输入 schema、推荐执行计划与已知坑点四类信息,并给出新的 session_id——记下来。任务更具体时把use_case写得更精确(如 "get order details")可提高命中精度。
第 2 步:确认连接为 ACTIVE
RUBE_MANAGE_CONNECTIONS toolkits: ["amazon"] session_id: "your_session_id"| 参数 | 类型 | 说明 |
|---|---|---|
toolkits | 数组 | 要验证的 toolkit,Amazon 固定传["amazon"] |
session_id | 字符串 | 上一步返回的会话 ID |
成功标志:连接状态显示ACTIVE。若不是 ACTIVE,按返回的授权链接完成 OAuth,再调用一次复核——确认之前不要往下走。
第 3 步:执行搜索工具
RUBE_MULTI_EXECUTE_TOOL tools: [{ tool_slug: "TOOL_SLUG_FROM_SEARCH", arguments: {/* 严格按搜索返回的 schema 填写字段名与类型 */} }] memory: {} session_id: "your_session_id"| 参数 | 类型 | 说明 |
|---|---|---|
tools | 数组 | 每元素含tool_slug(只取自搜索结果,勿猜测)与arguments(严格遵循 schema) |
memory | 对象 | 必带,为空也传{} |
session_id | 字符串 | 沿用前两步同一会话 |
成功标志:返回商品列表 JSON,字段以仓库当前版本与上游 API 实际返回为准。若报参数错误,回到第 1 步的返回值逐字段比对字段名与类型。
单步跑通后,任务很快就会变复杂。
任务变复杂时:分页、并行与会话切换怎么办
拉全数据:处理分页
场景:商品列表翻页获取,只看第一页会静默丢数据。做法:检查响应中的分页 token,存在则携带它继续请求,直到没有 token 为止。成功标志:条目总数与预期规模吻合,无提前截断。
一次调用多步:多工具并行
场景:既要搜商品、又要顺带取详情。做法:在RUBE_MULTI_EXECUTE_TOOL的tools数组里放入多个条目,各自独立tool_slug与arguments,共用同一个session_id。成功标志:返回中每个工具都有结果,而不是只执行了第一个。
开新任务:换新会话
场景:上一轮查商品刚结束,现在要查订单。做法:用session: {generate_id: true}生成新会话,不复用旧 session_id。成功标志:新会话上下文干净,没有旧任务残留的数据。
流程变复杂之后,新的失败方式也会跟着出现,先看一遍常见翻车点。
翻车点复盘 ⚠️:6 个高频坑
- 硬编码 slug 与参数:schema 会随上游 API 版本演进,凭记忆写死是执行失败的主要来源之一。每个任务前都用
RUBE_SEARCH_TOOLS拿实时 schema。 - 不查连接就执行:连接过期时执行调用直接浪费,还会返回鉴权类错误。执行前先过
RUBE_MANAGE_CONNECTIONS确认 ACTIVE。 - 参数凭感觉写:字段名多一个、少一个都可能让执行失败。
arguments严格按搜索返回的字段名与类型填写。 - 漏掉 memory:
RUBE_MULTI_EXECUTE_TOOL的memory参数必带,为空也传{}。 - 会话混用:跨工作流复用会污染上下文,每步新建又会丢失上下文。同一工作流复用同一 session_id,新任务生成新会话。
- 分页只看第一页:响应可能带分页 token,提前停手会静默丢数据。检查 token,持续拉取直到完整。
避完坑,下面这张一页纸可以常放手边。
一页纸参考:速查表与关键路径
| 操作 | 工具 | 关键参数 |
|---|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS | queries用 Amazon 的 use_case |
| 建立 / 验证连接 | RUBE_MANAGE_CONNECTIONS | toolkits: ["amazon"] |
| 执行操作 | RUBE_MULTI_EXECUTE_TOOL | 搜索得到的tool_slug+memory: {} |
| 批量脚本执行 | RUBE_REMOTE_WORKBENCH | run_composio_tool() |
| 取完整 schema | RUBE_GET_TOOL_SCHEMAS | 用于带schemaRef的工具 |
后两行是进阶能力:批量、脚本化场景交给 workbench;当搜索结果中的工具带schemaRef引用时,用RUBE_GET_TOOL_SCHEMAS拉完整 schema,避免信息截断导致参数误用。
关键模块路径:
- 技能正文:composio-skills/amazon-automation/SKILL.md
- 安装脚本:skill-installer/scripts/install-skill-from-github.py
- 同构模板:composio-skills/composio-automation/SKILL.md
- 参数表样例:composio-skills/spotify-automation/SKILL.md
- CLI 备选路径:connect/SKILL.md
Amazon 之外,同一套模板还能直接迁移。
同生态延伸 🧩:仓库里值得对照的三个 skill
- composio-automation 与 amazon-automation 完全同构,只是 toolkit 换成了
composio,适合验证「先搜索、再连接、后执行」这一通用模式的可移植性。 - spotify-automation 展示了更细粒度的参数表(
limit、offset、market的默认值与取值范围)以及业务级坑点(如播放控制需要 Premium),可当RUBE_SEARCH_TOOLS返回 schema 形态的参照样例。 - connect 是同生态的 CLI 路径:
composio search/composio execute与 Rube MCP 的RUBE_*工具能力对应,适合从终端驱动动作。
最后,把全文压缩成三条能背下来的纪律。
纪律收尾:记住这三句话
- 先搜后做:每个任务开始先
RUBE_SEARCH_TOOLS拿实时 schema,不信任记忆、不硬编码 slug 与参数名。 - ACTIVE 才执行:执行前用
RUBE_MANAGE_CONNECTIONS复核连接状态,调用RUBE_MULTI_EXECUTE_TOOL时memory与合规参数一次带齐。 - 执行完查分页:拿到结果先检查分页 token,拉完整再收尾,别停在第一页。
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考