基于 Rube MCP 自动化 2chat 任务:awesome-codex-skills 中的 2chat 集成实战指南
【免费下载链接】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 仓库中的 2chat 自动化 Skill 展开,讲解如何借助 Rube MCP(MCP 网关)与 Composio 的_2chatToolkit,让 Codex Agent 自动发现 2chat 工具、管理连接并批量执行操作。读完本文,你将掌握「工具发现 → 连接校验 → 工具执行」的完整调用范式,理解RUBE_SEARCH_TOOLS、RUBE_MANAGE_CONNECTIONS、RUBE_MULTI_EXECUTE_TOOL等核心 MCP 工具的正确用法,以及规避 schema 变更、连接失效等常见坑位的实战经验。
Skill 元数据:Codex 如何识别并触发该技能
在 awesome-codex-skills 中,每个 Skill 都以独立目录存放,核心文件是SKILL.md,其 YAML frontmatter 决定了 Codex 何时触发该技能。本 Skill 的元数据定义如下:
name: -2chat-automation description: "Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube]从 README.md 对 Skill 机制的说明可知,Codex 会仅基于description字段判断是否触发某个 Skill,并且只有触发后才加载正文,以此保持上下文精简。因此,当你在会话中描述与 2chat 操作相关的任务时,这段 description 中的Automate 2chat tasks与Always search tools first两处关键词会共同起作用:
- 触发匹配:
2chat、automation等词让 Codex 将当前请求路由到本 Skill; - 行为约束:
Always search tools first是写进元数据的硬性要求,提醒 Agent 在真正执行前必须先做工具发现,避免使用过期的 tool slug。
requires: mcp: [rube]声明了本 Skill 的运行前提——客户端必须已接入名为rube的 MCP 服务器。这与仓库中 800 多个 composio-skills 的声明方式完全一致(例如 composio-automation、composio-search-automation),它们共用同一套 Rube MCP 基础设施,只是面向的 Toolkit 不同。
前置条件:接入 Rube MCP 并建立 2chat 连接
在运行任何工作流之前,需要满足三个前置条件:
- Rube MCP 已连接:
RUBE_SEARCH_TOOLS工具可用; - 2chat 连接处于 ACTIVE 状态:通过
RUBE_MANAGE_CONNECTIONS以_2chatToolkit 建立; - 执行前先搜索工具:每次调用
RUBE_SEARCH_TOOLS获取最新 tool schema。
其中第 3 点是本 Skill 反复强调的核心原则——Composio 的 Toolkit 工具 schema 会随平台演进而变化,硬编码的 slug 和参数随时可能失效。
环境搭建:三步打通 Rube MCP 到 2chat
第一步:添加 Rube MCP 服务器
Rube MCP 的接入极其轻量:在客户端 MCP 配置中添加https://rube.app/mcp作为服务器端点即可,无需任何 API Key——只需填入端点地址,连接即生效。这也是 Rube 作为 MCP 网关的定位:它把 Composio 的上千个集成统一收敛到单一 MCP 端点,并提供内置鉴权。
第二步:验证 MCP 连通性
确认RUBE_SEARCH_TOOLS能正常响应。这一响应既验证了 MCP 通道可用,也意味着后续的工具发现、连接管理、工具执行等 Rube 能力全部就绪。
第三步:建立并确认 2chat 连接
调用RUBE_MANAGE_CONNECTIONS,指定 Toolkit 为_2chat:
RUBE_MANAGE_CONNECTIONS toolkits: ["_2chat"] session_id: "your_session_id"- 若连接状态不是
ACTIVE,按照返回的鉴权链接完成 OAuth 授权流程; - 在状态确认
ACTIVE之前,不要运行任何工作流,否则工具调用会因缺少有效凭据而失败。
从源码结构看,该 Skill 将「连接状态校验」作为独立于「工具执行」的必经步骤,这与RUBE_MULTI_EXECUTE_TOOL的设计直接相关:连接令牌的获取、刷新都由 Rube 网关托管,Agent 侧只负责确认状态而非管理密钥。
工具发现:用 RUBE_SEARCH_TOOLS 获取当前 schema
执行任何 2chat 工作流之前,必须先行调用工具发现接口:
RUBE_SEARCH_TOOLS queries: [{use_case: "2chat operations", known_fields: ""}] session: {generate_id: true}该调用的返回内容包含四类关键信息:
| 返回项 | 说明 |
|---|---|
| 可用 tool slugs | 当前_2chatToolkit 下实际可调用的工具标识 |
| 输入 schema | 每个工具的字段名、类型、必填项与取值范围 |
| 推荐执行计划 | Rube 根据 use_case 给出的参考调用序列 |
| 已知坑位 | 该工具使用中已被识别出的注意事项 |
参数细节说明:
use_case:用自然语言描述你的 2chat 任务,越具体返回的计划越精准;known_fields:如果已知部分字段名可提前填入,帮助 Rube 缩小检索范围;首次调用建议留空字符串;session.generate_id: true:让 Rube 为本次会话生成新的 session ID,适合工作流起始阶段;- 后续复用:同一工作流内的再次发现应使用
session: {id: "existing_session_id"}复用已有会话。
核心工作流模式:三步完成一次 2chat 自动化
Step 1:发现可用工具
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific 2chat task"}] session: {id: "existing_session_id"}将use_case替换为你的具体任务描述,例如"获取 2chat 会话列表"或"向指定联系人发送消息"。记录返回的 tool slug 与对应输入 schema。
Step 2:校验连接状态
RUBE_MANAGE_CONNECTIONS toolkits: ["_2chat"] session_id: "your_session_id"确认返回的连接状态为ACTIVE。若处于其他状态,先完成授权再继续。
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"RUBE_MULTI_EXECUTE_TOOL支持一次传入多个工具调用(tools为数组),从而实现多步骤流水线的一次性编排。三个必须遵守的约定:
tool_slug必须取自 Step 1 的搜索结果,禁止硬编码;arguments必须严格按搜索返回的 schema 填写字段名与类型;memory参数即使为空也必须显式传入{},这是 Rube 执行器的契约要求。
批量操作与完整 schema:两条补充路径
除了上述标准三步流程,Quick Reference 中还提供了两条面向进阶场景的路径:
- 批量操作:使用
RUBE_REMOTE_WORKBENCH配合run_composio_tool(),适合在远程沙箱中对 2chat 执行批量、循环或需要中间态处理的复合任务; - 完整 schema 获取:当搜索结果中的工具带有
schemaRef引用时,调用RUBE_GET_TOOL_SCHEMAS拉取该工具的完整 schema 定义,以补充搜索结果的字段细节。
已知陷阱与最佳实践
原文档将踩坑经验浓缩为六条,这是保证自动化稳定性的关键:
- 永远先搜索:工具 schema 会变。不调用
RUBE_SEARCH_TOOLS就硬编码 tool slug 或参数,是最高频的失败来源; - 校验连接:执行前确认
RUBE_MANAGE_CONNECTIONS返回ACTIVE,避免在凭据失效状态下空跑; - 遵守 schema:字段名与类型必须与搜索结果完全一致,任何拼写偏差都会导致调用失败;
- memory 必传:
RUBE_MULTI_EXECUTE_TOOL调用中必须携带memory字段,即使内容为空也传{}; - 会话复用:同一工作流内复用 session ID 以维持上下文连续性;新工作流则生成新 ID,避免状态串扰;
- 分页处理:检查响应中的分页 token,存在后续页时持续拉取直到数据完整,防止结果截断。
快速参考
| 操作 | 方法 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS,传入 2chat 相关 use_case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS,Toolkit 指定为_2chat |
| 执行工具 | RUBE_MULTI_EXECUTE_TOOL,使用搜索发现的 tool slugs |
| 批量操作 | RUBE_REMOTE_WORKBENCH+run_composio_tool() |
| 获取完整 schema | RUBE_GET_TOOL_SCHEMAS,针对带schemaRef的工具 |
在 Codex 中安装并使用本 Skill
本 Skill 随 awesome-codex-skills 仓库分发,可参照 README.md 的 Quickstart 安装到本地:
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/-2chat-automation安装器会把 Skill 放到$CODEX_HOME/skills/<skill-name>(默认~/.codex/skills),重启 Codex 后新元数据即生效。手动安装亦可:将composio-skills/-2chat-automation/目录复制到$CODEX_HOME/skills/并重启。
使用时的完整链路为:在会话中描述 2chat 任务 → Codex 依据description触发本 Skill → 按「搜索工具 → 校验连接 → 执行」三步完成自动化。整个过程中,密钥与授权状态均由 Rube MCP 网关托管,Agent 无需接触任何敏感凭据,这也是该 Skill 形态相比直接调用 SDK 的核心优势。
小结
2chat 自动化 Skill 是 awesome-codex-skills 中 Rube MCP 系列 Skill 的典型代表,它把「先发现、后执行」的健壮性设计固化成了可复用的指令模板。无论你的目标是简单的消息收发,还是依赖RUBE_REMOTE_WORKBENCH的批量流水线,只要遵循「搜索工具获取 schema → 校验 ACTIVE 连接 → 按 schema 执行并携带 memory」这条主线,就能在 Codex 中稳定驱动 2chat 完成各类自动化任务。
【免费下载链接】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),仅供参考