通过 Rube MCP 自动化 Alttext AI 操作:基于 awesome-codex-skills 的 Codex 技能实战指南
【免费下载链接】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
Alttext AI 为图片生成替代文本(alt text)以提升内容可访问性,而本仓库中的composio-skills/alttext-ai-automation技能提供了一套把 Alttext AI 能力接入 Codex 的标准流程:借助 Composio 的 Alttext AI toolkit 与 Rube MCP,让 Codex 在对话中直接发现工具、建立连接并执行图片可访问性相关操作。读完本文,你将掌握从零接入 Rube MCP、建立 Alttext AI 连接、按「搜索 → 检查 → 执行」三步完成自动化工作流,并规避 schema 漂移、连接状态失效等常见陷阱。
技能是什么:一条 Codex 可加载的自动化指令
composio-skills/alttext-ai-automation/SKILL.md 是一个标准的 Codex Skill。按照仓库 README.md 与 skill-creator/SKILL.md 的定义,Codex Skill 是模块化的指令包:每个技能独占一个文件夹,核心是SKILL.md,其中包含 YAML frontmatter(name+description)与 Markdown 正文。
该技能 frontmatter 的构成清晰体现了这一点:
--- name: alttext-ai-automation description: "Automate Alttext AI tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---name:技能标识,同时约定技能文件夹名;description:Codex 判断「何时触发该技能」的唯一依据。这里特意强调 "Always search tools first"(始终先搜索工具),把核心使用纪律写进了触发描述;requires.mcp:声明运行前提——本技能依赖名为rube的 MCP 服务器。
按渐进式披露(progressive disclosure)原则,Codex 平时只读取 frontmatter 元数据,只有在任务匹配描述时才会加载正文,从而保持上下文精简。因此该技能正文被设计为「触发后即用」的操作手册,覆盖前置条件、连接建立、工具发现、三步执行流程与常见陷阱。
前置条件:Rube MCP 与 Alttext AI 连接
运行本技能前需要满足两项前置条件:
- Rube MCP 已连接:Codex 客户端中必须存在可用的
RUBE_SEARCH_TOOLS工具; - Alttext AI 连接处于 ACTIVE 状态:通过
RUBE_MANAGE_CONNECTIONS调用 toolkitalttext_ai建立的连接必须是激活的。
此外,技能反复强调一条纪律:在执行任何工作流之前,永远先调用RUBE_SEARCH_TOOLS获取当前工具 schema。原因是工具 schema 会随时间变化,硬编码的工具 slug 或参数随时可能失效。
环境搭建:接入 Rube MCP 并建立 Alttext AI 连接
第一步:添加 Rube MCP 服务器
Rube MCP 的接入极其轻量,只需在 Codex 的 MCP 服务器配置中添加入口地址:
https://rube.app/mcp无需配置任何 API Key——添加端点后即可直接工作。这与其他需要 OAuth 或令牌的 MCP 服务形成鲜明对比,大幅降低了上手门槛。
第二步:按序完成连接建立
技能给出了 4 步标准流程:
- 验证可达性:确认
RUBE_SEARCH_TOOLS有响应,证明 Rube MCP 已正确加载; - 建立连接:调用
RUBE_MANAGE_CONNECTIONS,并指定 toolkit 为alttext_ai; - 完成鉴权:若返回的连接状态不是
ACTIVE,则按照返回的 auth 链接完成授权设置; - 确认状态:在运行任何工作流之前,务必确认连接状态显示为
ACTIVE。
之所以强调最后一步,是因为大量自动化失败都源于连接处于未激活/已过期状态——工具调用会在执行阶段才报错,排查成本远高于先检查状态。
工具发现:让 schema 成为单一事实来源
本技能的核心理念是「不猜测,先搜索」。在任何工作流开始前,先执行工具发现:
RUBE_SEARCH_TOOLS queries: [{use_case: "Alttext AI operations", known_fields: ""}] session: {generate_id: true}该调用会返回四类关键信息:
- 可用的工具 slug(tool slug);
- 每个工具的输入 schema(字段名、类型、必填项);
- 推荐的执行计划(execution plans);
- 已知陷阱(known pitfalls)。
known_fields留空表示不预设任何字段知识;generate_id: true让服务端生成一个新的会话 ID。在仓库中,这一模式被 composio-skills/ 下数百个同类技能(如 composio-skills/ably-automation/SKILL.md、composio-skills/composio-automation/SKILL.md)一致采用,可视为「Rube 驱动自动化」的通用起点。
核心工作流:三步完成一次 Alttext AI 自动化任务
技能将完整流程收敛为三个步骤,每一步都给出可直接套用的调用骨架。
Step 1:发现可用工具
使用面向具体任务的 use_case 描述,并复用已有会话 ID:
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Alttext AI task"}] session: {id: "existing_session_id"}这里的use_case应具体化(例如描述你要完成的 Alttext AI 操作),以便搜索返回最匹配的工具集;会话 ID 则沿用前一步生成的 ID,保持工作流上下文连续。
Step 2:检查连接状态
RUBE_MANAGE_CONNECTIONS toolkits: ["alttext_ai"] session_id: "your_session_id"确认返回的 toolkit 连接状态为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"要点解析:
tool_slug必须取自RUBE_SEARCH_TOOLS的返回结果,而不是凭记忆书写;arguments必须严格符合搜索结果中的 schema(字段名、类型、枚举值逐一对应);memory参数必须始终携带,即使为空也要传{};session_id复用当前工作流会话,保持状态一致。
RUBE_MULTI_EXECUTE_TOOL支持一次传入多个工具调用(tools为数组),适合把「搜索 → 处理 → 输出」等子步骤合并为一次往返,减少延迟与上下文开销。
进阶操作:批量执行与完整 schema 获取
除了三步主流程,技能在快速参考中还给出两个进阶工具:
批量操作:RUBE_REMOTE_WORKBENCH
RUBE_REMOTE_WORKBENCH配合其中的run_composio_tool()函数,可在远程工作台中以编程方式批量调用 Composio 工具。适合需要对多个资源执行同构操作(如为一批图片批量生成 alt text)的场景,此时用循环逐个调用run_composio_tool()比构造巨型RUBE_MULTI_EXECUTE_TOOL请求更易维护。
完整 schema:RUBE_GET_TOOL_SCHEMAS
当搜索结果中的工具带有schemaRef引用(即 schema 不内联返回,而是指向外部引用)时,需要通过RUBE_GET_TOOL_SCHEMAS获取完整 schema 定义。这通常发生在参数结构复杂、内联会撑爆上下文的情况下,按需拉取可保持对话精简——与 Codex Skill 的渐进式披露哲学一脉相承。
已知陷阱与最佳实践
技能用专门一节总结了六条实战铁律,几乎全部围绕「动态 schema」这一核心矛盾:
| 陷阱 | 应对 |
|---|---|
| 工具 schema 会变化 | 永远先搜索:不硬编码 tool slug 或参数,每次执行前调用RUBE_SEARCH_TOOLS |
| 连接状态可能失效 | 先查连接:执行工具前确认RUBE_MANAGE_CONNECTIONS返回ACTIVE |
| 参数不匹配 | 严格遵循 schema:使用搜索结果中的精确字段名与类型 |
| 漏传 memory 参数 | 始终携带memory:即使为空也传{} |
| 会话混乱 | 会话复用策略:同一工作流内复用 session ID,新工作流生成新 ID |
| 结果不完整 | 处理分页:检查响应中的分页 token,持续拉取直至数据完整 |
其中「分页」一条尤其容易被忽略:搜索或批量执行返回结果可能分页,若忽略分页 token 直接使用首批数据,会导致自动化结果不完整。
快速参考:五类操作速查表
技能末尾提供了整张工作流的浓缩速查表:
| 操作 | 方式 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS,搭配 Alttext AI 相关的 use_case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS,toolkit 指定alttext_ai |
| 执行工具 | RUBE_MULTI_EXECUTE_TOOL,使用搜索发现的 tool slug |
| 批量操作 | RUBE_REMOTE_WORKBENCH+run_composio_tool() |
| 获取完整 schema | 对带schemaRef的工具调用RUBE_GET_TOOL_SCHEMAS |
这张表同时是排错地图:任务卡在哪一步,就去对应行找方法。
将技能安装到 Codex
本技能位于仓库的 composio-skills/alttext-ai-automation/ 目录。安装方式与仓库内其他技能一致(详见 README.md 与 skill-installer/SKILL.md):
方式一:使用 Skill Installer(推荐)
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 GitHub_Trending/aw/awesome-codex-skills --path composio-skills/alttext-ai-automation安装脚本会把技能放置到$CODEX_HOME/skills/<skill-name>(默认~/.codex/skills)。
方式二:手动安装
- 将
composio-skills/alttext-ai-automation/整个文件夹复制到$CODEX_HOME/skills/(默认~/.codex/skills/); - 重启 Codex,使其重新加载技能元数据;
- 在新会话中自然描述任务,Codex 会根据 frontmatter 中的
description自动匹配并触发该技能。
安装完成后,技能要求rube这一 MCP 服务器就位——即在 Codex 客户端中添加入口https://rube.app/mcp。两者齐备后,描述类似「为这批图片生成可访问的 alt text」的任务即可触发本技能。
总结
alttext-ai-automation是理解「Rube MCP + Composio 驱动的外部服务自动化」的绝佳样板。它把 Alttext AI 的接入压缩为一条清晰纪律:搜索工具(schema 唯一来源)→ 检查连接(前置校验)→ 执行调用(严格合规),并用六条陷阱规则兜底了最常见的失败模式。
这套模式在仓库 composio-skills/ 下被数百个技能复刻——从 composio-skills/ably-automation/SKILL.md 到 composio-skills/composio-automation/SKILL.md,结构完全同构,只是 toolkit 名称与 use_case 不同。因此,掌握本文的流程后,你不仅能自动化 Alttext AI,还能零成本迁移到任何已接入 Composio 的第三方服务。若想深入理解技能本身的编写规范(frontmatter、渐进式披露、references 拆分),可继续阅读 skill-creator/SKILL.md 与 template-skill/SKILL.md。
【免费下载链接】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),仅供参考