Omni-IO Skills:将 Coding Agent 变成全模态原生 Agent 的即插即用 MCP Skill 框架 · 干货攻略
- 链接:https://arxiv.org/abs/2609.31847
- 分类:x-tips
- 来源:X @_akhaliq
- 作者:Jay
- 更新:2026-10-04
- 仓库:any2any-mllm/Omni-IO-Skill
这是什么
Omni-IO Skills 是由新加坡国立大学(NUS)与牛津大学(Oxford)联合发布的开源 Agent 外挂框架(Agent Harness),通过即插即用的 MCP Skill 机制,让已有的 Coding Agent(Codex、Claude Code 等)无需更换底层模型,即可原生支持图像、视频、音频、文档、3D 资产、代码、网页七大模态的理解与生成。
核心思路是:不改 agent 核心,在外层叠加能力。这比直接改 agent 核心(换模型、做多模态微调)更轻量、更易维护。
论文原文将其定位为 plug-and-play Agent Harness,发表于 2026 年 9 月(arXiv:2609.31847),仓库于 2026 年 8 月开源。
为什么值得关注
传统 Coding Agent(Claude Code、Codex 等)默认强项是代码生成和文本推理,但在面对"把一段会议录音转成带 action items 的 PPT"、"上传产品图生成配套海报和短视频"这类多模态任务时,往往力不从心。
两条主流解决路径都有明显缺陷:
- 路径 A:等基础模型原生支持更多模态 → 成本高、迭代慢,受制于模型更新周期
- 路径 B:自己组装各种单点工具(一个 TTS API、一个图像生成 API、一个 PDF 解析库)→ 工具碎片化,任务编排、跨轮持久化、并发执行全靠手写
Omni-IO 走的是路径 C:在 agent 外面套一层标准化的 Skill 层与 MCP 执行运行时,把多模态能力打包成声明式工作流。
关键数字(来自论文,测试基准为 UniM-90):
| 模型 | 指标 | 加 Omni-IO 前 | 加 Omni-IO 后 |
|---|---|---|---|
| GPT-5.6 Sol | Input Support Rate | 40.00% | 100% |
| Claude Sonnet 5 | Input Support Rate | 38.89% | 100% |
| GPT-5.6 Sol | Semantic-Quality Coupled Score | 26.99 | 74.94 |
| Claude Sonnet 5 | Semantic-Quality Coupled Score | 27.82 | 77.78 |
| GPT-5.6 Sol | Strict Structure Score | — | 100.00 |
| Claude Sonnet 5 | Strict Structure Score | — | 99.78 |
核验说明:以上数字来自 arXiv 论文原文(摘要部分),与 Hugging Face Papers 页面收录内容一致;HuggingFace 摘要链接:https://huggingface.co/papers/2609.31847。
核验过程
本次攻略依据以下来源进行核验:
- GitHub README(https://github.com/any2any-mllm/Omni-IO-Skill):覆盖项目定位、目录结构、27 项 Skill 分类、快速安装步骤(Codex / Claude Code / 通用 MCP host 三种方式)、Declare Execution Graph 工作流说明、Asset Registry 机制
- arXiv 论文摘要(https://arxiv.org/abs/2609.31847):来自 NUS + Oxford 团队,2026 年 9 月 25 日提交,确认作者阵容 Affiliation: National University of Singapore + University of Oxford;量化指标与 README 引用数据一致
- setup/feature_list.md(GitHub 内链):确认了各能力的默认 Provider 与费用结构——6 项完全免费(Claude 原生视觉、文档生成、本地代码/Markdown 生成、Edge TTS、Playwright 网页浏览),其余均为各平台免费额度
- Tavily 交叉检索:确认 arXiv HTML 全文页与 HuggingFace Papers 页面内容一致,未发现与 README/论文数字冲突的第三方引用
铁律确认:所有命令路径(如 python -m pip install -r mcp/requirements.txt)、目录结构(如 skills/、expert/、scenarios/)、配置字段(如 OMNI_OUTPUT_DIR、config/.env)均来自 GitHub README 原生内容,未使用 X 帖原文中未指明的补充信息。
上手步骤
环境要求
- Python 3.10+
- macOS / Linux / WSL(Windows 原生未测试)
- 已安装 Git
第一步:克隆并创建虚拟环境
git clone https://github.com/any2any-mllm/Omni-IO-Skill.git Omni-IO-Skills
cd Omni-IO-Skills
python -m venv .venv
source .venv/bin/activate
python -m pip install -r mcp/requirements.txt
# 仅在使用本地网页浏览能力时需要
playwright install chromium
第二步:配置 API 密钥
cp config/.env.example config/.env
按需编辑 config/.env,启用你想用的能力对应的 API Key。不需要全部填——README 明确说明:"You do not need every API key. Start with the capabilities you want."
免费能力无需 Key(截至本文发布,来源为 GitHub README setup/feature_list.md):
| 能力 | Provider | 备注 |
|---|---|---|
| 图像理解 | Claude 原生视觉 | — |
| 文档生成(PPT/Word/PDF/Excel) | 本地库 | — |
| 代码/网页生成 | Claude 原生能力 | — |
| Markdown 生成 | Claude 原生能力 | — |
| 语音合成(TTS) | Microsoft Edge TTS | config.yaml 默认启用 |
| 网页浏览 | Playwright Chromium | — |
付费但有免费额度的能力(来源:setup/feature_list.md):
| 能力 | Provider | 免费额度 |
|---|---|---|
| 图像生成 | fal.ai | 注册送 US$10 |
| 音效生成 | ElevenLabs | 每月免费额度 |
| 音乐生成 | Hugging Face | 推理免费额度 |
| 3D 生成 | Tripo3D | 注册送免费额度 |
| 视频理解 | Gemini | 每天 1M tokens |
| 文档 OCR | Mistral | 免费层 |
| 音频分析 | Qwen (DashScope) | 免费额度 |
| 网页搜索 | Brave Search | 每月 2000 次 |
| 视频生成 | Wan2.7 (DashScope) | 新用户免费,之后按量 |
| 语音识别 | Whisper (OpenAI) | 按量付费 |
第三步:连接到你的 Agent(以 Claude Code 为例)
# 建立 skill 软链接
mkdir -p "$HOME/.claude/skills"
ln -s "$(pwd)" "$HOME/.claude/skills/omni-io"
# 注册 MCP server
claude mcp add omni-io \
--scope user \
-e OMNI_OUTPUT_DIR="$HOME/Documents/OmniIO" \
-- "$(pwd)/.venv/bin/python" "$(pwd)/mcp/server.py"
# 验证注册
claude mcp list
# 重启 Claude Code(新会话生效)
第四步:验证配置是否就绪
在新对话中发送:
Check my Omni-IO configuration and tell me which capabilities are ready.
成功配置后,系统会报告哪些能力已就绪、哪些需要补充凭证、哪些有无需 Key 的免费路径。
通用 MCP Host 接入方式
如果使用其他支持 Agent Skills + stdio MCP 的宿主(如 Cursor、RooCode 等),在 Skill Loader 中指向仓库根目录的 SKILL.md,然后按以下字段注册 stdio MCP server:
| 字段 | 值 |
|---|---|
| Command | /absolute/path/to/Omni-IO-Skills/.venv/bin/python |
| Arguments | /absolute/path/to/Omni-IO-Skills/mcp/server.py |
| Environment | OMNI_OUTPUT_DIR=/absolute/path/to/a/persistent/workspace |
核心架构:Declare Execution Graph
Omni-IO 将多步骤任务建模为内部依赖图(Declare Execution Graph),这是整个框架的核心抽象:
- 独立任务可并发执行(最大化并行度)
- 依赖任务等待上游输出就绪后自动触发
- Expert Workflow 会对产出进行质量检查,失败时只重做有问题的那一步(不是全链路重跑)
- Asset Registry:所有成功输出都会注册到
registry.json,支持跨会话、跨对话引用("上一个视频"、"上周生成的那张图"等自然语言引用均有效)
配置与 Provider 解耦:切换后端(如把 fal.ai 换成 Replicate)只需改 config/config.yaml,Skill 层行为和 prompt 完全不变。
坑与适用边界
适用场景: - 需要 agent 处理多模态内容(图像/视频/音频/文档/3D)的创作、分析、转换任务 - 想复用现有 Coding Agent 能力,不想换模型或重训 - 需要多步骤、跨模态、涉及中间产物的复杂工作流 - 任务中包含"生成 → 检查 → 修订"闭环
不适用/需谨慎的场景: - 实时性要求极高的多模态任务(每次调用都涉及外部 API,网络延迟不可控) - 完全离线环境(部分能力如 fal.ai 图像生成、TTS 必须联网,但文档生成等少数能力支持本地) - 超大批量处理(当前架构面向会话级任务,批量队列未内置) - 中国区访问受限(DashScope/Qwen 等阿里云系服务在部分地区访问不稳定,配置前需确认网络)
已知的 Key-free 边界(来源:setup/feature_list.md,原帖未提及此细节): 6 项完全免费能力让 Omni-IO 可以零成本体验完整流程,但免费能力集不包含图像生成、视频生成、音乐生成——这些仍需要相关平台账号。
配置热重载:修改 config/.env 或 config/config.yaml 后必须重启 MCP 进程(重启 host 或单独重启 omni-io MCP server),更改不会即时生效。
版本稳定性:截至 2026 年 10 月,仓库仍处于活跃开发期,API 和配置格式可能在后续版本中变化,生产级集成建议锁定 commit SHA。
一句话结论
Omni-IO Skills 是目前最完整的"多模态外挂 Skill + MCP 执行运行时"方案——NUS+Oxford 学术背书、实测将 GPT-5.6 Sol / Claude Sonnet 5 的多模态覆盖率从 ~40% 提升到 100%、6 项能力零成本体验,适合不想改模型但想让 Coding Agent 真正 handle 全模态任务场的工程师。