Towards Multimodal Skills for General Visual Agents — 131 stars

MMSkills 是一个为视觉 Agent 提供可复用多模态程序性知识的框架。每个技能包(Skill Package)包含文本程序指导、紧凑状态卡元数据和可选视觉参考,Agent 在推理时只保留轻量技能提示,需要时才打开临时技能分支加载视觉证据。

配套论文:2605.13527_mmskills(ArXiv 2605.13527),2026.5.18 登上 Hugging Face Daily Papers #1。

核心特性

  • 自包含技能包:每个技能目录含 SKILL.md、运行时状态卡、审计状态卡和视觉关键帧
  • 多模态证据门控:运行时先判断是否需要视觉参考,再按需加载指定状态视图
  • 分支加载规划(Branch-loaded Planning):临时规划分支查阅选定技能后返回简洁指导、回退建议和验证线索,主上下文保持紧凑
  • OSWorld 就绪:提供安装脚本,将 Agent 文件、Runner 补丁、技能库和任务映射一键安装到 OSWorld checkout
  • 跨 Agent 适配器:mmskills-agent-adapter 支持 Codex、OpenClaw、Claude Code,共享同一技能包格式
  • 按需技能检索:从 Hugging Face 515 技能库搜索并下载任务相关包,不预置全量资产
  • 社区可扩展:开放自动驾驶、机器人、移动 Agent、游戏等新领域技能包提交

技能包格式

skills_library/<domain>/<skill_name>/
├── SKILL.md                  # 程序、适用性、迁移限制、检查点
├── runtime_state_cards.json  # 推理时用的紧凑状态/视图元数据
├── state_cards.json          # 审计级状态元数据
├── plan.json                 # 生成的计划元数据(若有)
└── Images/                   # 完整帧、焦点裁剪、前后对比参考

主 Agent 只看到简洁技能名和状态提示;详细视觉证据由分支规划器懒加载,保持主上下文紧凑。

目录结构

MMSkills/
├── agent_integrations/        # Codex/OpenClaw/Claude Code 适配器
├── mm_agents/                 # MMSkill 运行时架构和模型适配器
├── osworld_integration/       # MMSkills-aware OSWorld runner 文件
├── skills_library/            # 公开多模态技能子集(ubuntu/chrome/gimp/libreoffice 等)
├── task_skill_mappings/       # OSWorld 任务到技能的映射
└── scripts/                   # 安装脚本、技能搜索/下载工具

Agent 适配器使用

# Codex 一键安装
curl -fsSL https://raw.githubusercontent.com/DeepExperience/MMSkills/main/scripts/install_codex_mmskills.sh | bash
 
# 搜索技能
python scripts/search_skills.py "chrome bookmark" --package ubuntu
 
# 下载技能包
python scripts/download_skill.py ubuntu/chrome/CHROME_Manage_Bookmarks_Reading_List_And_Shortcuts
 
# 查看技能包
python scripts/inspect_skill.py ~/.cache/mmskills/skills/ubuntu/chrome/CHROME_Manage_Bookmarks_Reading_List_And_Shortcuts

OpenClaw 和 Claude Code 使用相同的适配器契约:调用 search/download 脚本,解析 SKILL.md 和 runtime_state_cards.json,仅在需要视觉接地时加载 Images/。

运行时架构

公开运行时入口:mm_agents/mm_skill_agent.py,OSWorld 中通过 --agent_type mm_skill 调用。

支持三种模式:

  • mm_skill:多模态分支加载技能咨询
  • general_text_skill:纯文本技能咨询(消融/轻量运行)
  • general:基线模型无关截图→pyautogui 视觉 Agent 路由

任何支持截图的 VLM(通过 OpenAI 兼容 API)均可使用相同接口。

资源