Rube MCP 驱动的 Codeinterpreter 自动化:awesome-codex-skills 中 Composio 集成技能的完整实战指南
【免费下载链接】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
在 Codex 生态中,让智能体直接操作第三方服务(如在线代码解释器 Codeinterpreter)的关键,不是写死一堆 API 调用,而是通过 MCP 网关按需发现、鉴权并执行工具。本文以 awesome-codex-skills 仓库中的 codeinterpreter-automation 技能文档 为核心,完整讲解该技能的 frontmatter 声明、Rube MCP 接入方式、三步核心工作流与已知陷阱,帮助你在 Codex CLI 中跑通 Codeinterpreter 自动化任务,并理解这套「先搜索、后执行」模式在整个 composio-skills 目录中的通用性。
技能定位:一个声明式 MCP 自动化技能
该技能位于 composio-skills/codeinterpreter-automation/ 目录,其SKILL.md的 frontmatter 完整声明了技能的元信息:
--- name: codeinterpreter-automation description: "Automate Codeinterpreter tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---这里有三个关键设计点:
description决定触发时机。根据 README 中对 Codex skills 机制的说明,Codex 读取description来决定何时触发某个技能,而技能正文只在触发后才加载正文以保持上下文精简。因此这里的描述刻意强调了「Always search tools first」(始终先搜索工具),这正是该技能执行纪律的浓缩表达。requires: mcp: [rube]声明了依赖。该技能不是独立脚本,而是依赖名为rube的 MCP 服务器在客户端中注册可用。这与仓库中另一类技能形成对照:例如 connect 技能 通过 Composio CLI 在终端执行composio execute,而本技能完全走 MCP 工具调用路径(RUBE_*系列工具),两者是同一个 Composio 平台能力的两种接入形态。- 技能安装方式。按照 README 的 Quickstart 或 skill-installer 技能 的脚本,可将该技能安装到
$CODEX_HOME/skills/(默认~/.codex/skills):
git clone https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills.git cd awesome-codex-skills python skill-installer/scripts/install-skill-from-github.py --repo ComposioHQ/awesome-codex-skills --path composio-skills/codeinterpreter-automation安装后重启 Codex 使其加载新技能的元数据。
前置条件与 Rube MCP 接入
技能文档列出了执行任何工作流前的三项前置条件:
- Rube MCP 必须已连接,即
RUBE_SEARCH_TOOLS工具可用; - Codeinterpreter 连接必须处于 ACTIVE 状态,通过
RUBE_MANAGE_CONNECTIONS指定 toolkitcodeinterpreter来确认; - 任何操作前先调用
RUBE_SEARCH_TOOLS获取当前工具的最新 schema——这是整个技能最重要的纪律。
Rube MCP 的接入方式非常简单:将https://rube.app/mcp作为 MCP 服务器端点加入你的 MCP 客户端配置即可,无需预先配置 API key。文档给出的四步验证流程为:
- 确认
RUBE_SEARCH_TOOLS能正常响应,验证 Rube MCP 可用; - 调用
RUBE_MANAGE_CONNECTIONS,toolkit 指定为codeinterpreter; - 若连接状态不是 ACTIVE,按返回的鉴权链接(auth link)完成授权设置;
- 在运行任何工作流之前,确认连接状态显示为 ACTIVE。
这一「先验证连接、再执行工具」的顺序是文档的硬性要求,后文的已知陷阱部分还会再次强调。
工具发现:为什么必须「先搜索」
技能文档的 Tool Discovery 一节给出了标准的发现调用:
RUBE_SEARCH_TOOLS queries: [{use_case: "Codeinterpreter operations", known_fields: ""}] session: {generate_id: true}该调用的语义可以拆解为两部分:
queries用自然语言描述用途(use_case: "Codeinterpreter operations"),known_fields留空表示不预设字段;session: {generate_id: true}生成一个新会话 ID,后续步骤将复用这个 ID。
文档明确说明,该调用会返回:可用的工具 slug(工具标识符)、输入 schema、推荐的执行计划(recommended execution plans)以及已知陷阱(known pitfalls)。也就是说,工具清单、参数结构和注意事项都是运行时动态获取的,而不是写死在技能里——这也是 frontmatter 描述中「Always search tools first for current schemas」的由来:工具 schema 会随平台版本变化,硬编码 slug 或参数随时可能失效。
三步核心工作流
技能文档将完整执行流程抽象为固定的三步模式,每一步都给出了可直接套用的调用模板。
Step 1:发现可用工具
针对具体任务再次搜索,并复用会话:
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Codeinterpreter task"}] session: {id: "existing_session_id"}注意此处session从generate_id: true变为复用 Step 0 生成的会话 ID。文档在陷阱部分对此有明确约定:同一工作流内复用 session ID,新工作流才生成新 ID。会话复用的意义在于让平台把连续的工具调用关联到同一个执行上下文(配合后文的memory参数实现跨调用记忆)。
Step 2:检查连接状态
RUBE_MANAGE_CONNECTIONS toolkits: ["codeinterpreter"] session_id: "your_session_id"在执行任何真实动作前,用该调用确认codeinterpretertoolkit 的连接状态为 ACTIVE。若返回非 ACTIVE,应回到接入阶段的第 3 步,沿鉴权链接完成授权后重试。
Step 3:执行工具
RUBE_MULTI_EXECUTE_TOOL tools: [{ tool_slug: "TOOL_SLUG_FROM_SEARCH", arguments: {/* schema-compliant args from search results */} }] memory: {} session_id: "your_session_id"三个要点:
tool_slug必须来自 Step 1 搜索结果,不能凭记忆填写;arguments必须严格符合搜索结果中的 schema——字段名和类型都要精确匹配;memory参数必须显式传入,即使为空对象{}也不能省略,这是文档明确写出的调用纪律。
速查表:五种操作对应的 Rube 工具
文档末尾的 Quick Reference 给出了各操作与工具的映射,完整继承如下:
| 操作 | 使用方式 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS,传入 Codeinterpreter 相关的具体 use case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS,toolkit 指定codeinterpreter |
| 执行工具 | RUBE_MULTI_EXECUTE_TOOL,使用发现到的 tool slug |
| 批量操作 | RUBE_REMOTE_WORKBENCH,配合run_composio_tool() |
| 获取完整 schema | 对带有schemaRef的工具使用RUBE_GET_TOOL_SCHEMAS |
其中两个进阶点值得注意:其一,批量/多工具编排走RUBE_REMOTE_WORKBENCH,在工作台环境中用run_composio_tool()逐次调用,适合需要多个 Codeinterpreter 调用串联的场景;其二,当搜索结果中的工具只给出schemaRef(schema 引用)而非完整内联 schema 时,需要用RUBE_GET_TOOL_SCHEMAS拉取完整结构,才能保证arguments的字段级正确性。
已知陷阱清单
技能文档用一整节列出了六个高频错误,这是该技能最有实战价值的部分,逐条对应到工作流:
- 先搜索,永远先搜索:工具 schema 会变化,未调用
RUBE_SEARCH_TOOLS前不要硬编码工具 slug 或参数; - 执行前查连接:运行工具前先通过
RUBE_MANAGE_CONNECTIONS确认 ACTIVE 状态; - 严格遵守 schema:字段名和类型必须与搜索结果完全一致,不做「大概差不多」的猜测;
memory参数不可省略:RUBE_MULTI_EXECUTE_TOOL调用中即使传空对象也必须带上memory字段;- 会话复用纪律:同一工作流复用 session ID,跨工作流生成新的;
- 处理分页:检查响应中的分页 token(pagination token),持续翻页直到取完全部结果——这对批量拉取 Codeinterpreter 产物或历史记录类操作尤其关键。
在整个 composio-skills 目录中的位置
从源码结构看,composio-skills/ 目录下收录了数百个结构完全一致的 Composio toolkit 技能(例如 ably-automation),它们共享同一套 Rube MCP 模板:requires: mcp: [rube]的 frontmatter、相同的四步接入流程、相同的「搜索-连接-执行」三步工作流,只是 toolkit 名从codeinterpreter换成各自的服务。这意味着本文总结的工作流模式是平台级通用能力:掌握 Codeinterpreter 这一个技能后,替换 toolkit 名即可迁移到目录中其他数百个服务。
与之相对的是仓库内基于 Composio CLI 的 connect 技能 与 connect-apps 技能:前者在终端执行composio search、composio execute <SLUG>、composio run等命令,适合从 shell 直接驱动;而本技能适合已在 MCP 客户端(如 Codex)中运行的 Agent 场景,鉴权与会话全部通过RUBE_*工具闭环完成,无需额外安装 CLI。
小结
该技能的核心技术要点可归纳为:以https://rube.app/mcp为无 key 入口接入 Rube MCP → 用RUBE_MANAGE_CONNECTIONS将codeinterpreter连接置为 ACTIVE → 始终先RUBE_SEARCH_TOOLS获取 slug 与 schema → 用RUBE_MULTI_EXECUTE_TOOL带memory与会话 ID 执行 → 用分页 token 取全结果。所有步骤的权威定义见 SKILL.md,技能安装与触发机制见 README 与 skill-installer。按此流程操作,Codex 即可在保持上下文精简的前提下,安全地驱动 Codeinterpreter 完成真实的在线代码执行任务。
【免费下载链接】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),仅供参考