- 人工智能
- AI Agent
- 多智能体
- Agent 编排
- Agent 评测
- AI 技能
- 开发工具
- CLI
【免费下载链接】oh-my-agent
Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges).
oh-my-agent 是一款面向 AI 编程 Agent 的多智能体编排与验证框架,它的核心设计就是项目根目录下的.agents/目录——一份"单一事实来源"(SSOT)。技能、工作流、规则、子 Agent 定义只在这里写一次,安装器就会把它们投影成 Claude Code、Cursor、Codex CLI 等 10 多个工具各自需要的配置文件,真正做到"改一处,全部生效"。
为什么需要一份"唯一事实来源"
如果你同时用过 Claude Code、Cursor、Codex CLI,多半遇到过这种局面:每个工具有自己的私有目录(.claude/、.cursor/、.codex/),想给它们配置同一套提示词、技能和工作流,就得复制好几份。改一处忘另一处,几个月的版本之后各工具的行为就开始悄悄分叉。
oh-my-agent 的思路是反过来的:技能只授权一次(author once),兼容性视图全部自动生成。.agents/是唯一需要维护的地方,其余目录都只是它的"投影"。项目约定也写进了根目录的 AGENTS.md:
SSOT: Do not modify
.agents/definitions (skills, workflows, rules, agents, config) directly.
.agents 目录全景:8 个子目录各司其职
完整结构说明见官方文档 web/docs/core-concepts/project-structure.md,安装后的项目会长这样:
your-project/ ├── .agents/ ← 单一事实来源(SSOT) │ ├── oma-config.yaml ← 语言、model_preset、供应商、Agent 覆盖项 │ ├── skills/ ← 33 个技能包 + _shared 共享资源 │ ├── workflows/ ← 21 个斜杠命令工作流定义 │ ├── agents/ ← 12 个供应商无关的子 Agent 定义 │ ├── rules/ ← 12 份按文件类型触发的项目规则 │ ├── hooks/core/ ← Hook 处理器源码(关键词检测、Stop 门禁等) │ ├── results/ ← Agent 运行结果(可写) │ ├── state/ ← 活动工作流状态 + 协调记忆(可写) │ └── mcp.json ← MCP 服务器配置 ├── .claude/ ← 由 SSOT 生成的 Claude Code 集成层 └── .cursor/ .codex/ ... ← 其他工具的生成层skills/:33 个技能包的两层结构
skills/是目录里的"重头戏",当前目录树中共有 33 个技能包(如oma-frontend、oma-backend、oma-db),外加一个被所有技能复用的_shared/目录。每个技能遵循两层加载设计(详见 web/docs/core-concepts/skills.md):
| 层级 | 位置 | 加载时机 |
|---|---|---|
| Layer 1 | SKILL.md | 技能被路由命中时,进入上下文 |
| Layer 2 | resources/ | 任务真正需要时按需读取 |
以 .agents/skills/oma-frontend/SKILL.md 为例,Layer 1 只包含路由关键词、核心规则和架构概览;执行协议、代码片段、错误手册等深水区内容都放在resources/里按需读取。这样未被路由的技能几乎不占上下文——这是 10 多个工具共享一大套技能却不会把上下文撑爆的关键。
workflows/:21 个斜杠命令的"幕后剧本"
/work、/ultrawork、/orchestrate、/ralph这些斜杠命令的行为,全部由 web/docs/core-concepts/workflows.md 中对应的 Markdown 文件定义。例如 .agents/workflows/ultrawork.md 描述了五阶段质量工作流,其中每一轮审查都派发给一个"全新上下文"的独立评审 Agent,避免自说自话。
agents/、rules/、hooks/:团队的另外三块拼图
agents/:12 个子 Agent 定义(backend-engineer.md、qa-reviewer.md等),供应商无关——只有名字、描述和技能引用。rules/:12 份按文件类型自动触发的规则,比如写*.prisma时读database.md,写*.tsx时读frontend.md(映射表见 AGENTS.md)。hooks/core/:机械验证的处理器源码,包括关键词检测、Stop 门禁、机密文件拦截等。其中 persistent-mode.ts 会在会话结束时检查门禁脚本是否通过,没通过就不让 Agent"宣布完工"。
10+ 个 AI 工具如何共享同一套技能
这是 SSOT 最神奇的部分。安装器(oma install)会做两件事:
- 符号链接:把
.claude/skills/oma-frontend这类路径直接链回.agents/skills/oma-frontend,技能文件本体始终只有一份; - 格式转换:为不同供应商生成各自认识的格式,例如 Claude 用 Markdown 子 Agent、Codex 用 TOML 自定义 Agent。
支持矩阵完整列在 docs/SUPPORTED_AGENTS.md,覆盖 Antigravity、Claude Code、Codex CLI、CommandCode、Cursor、Grok Build、Kimi Code CLI、Kiro、OpenCode、pi、Qwen Code、GitHub Copilot、ZCode 等 15 个工具:
| 工具 | 技能来源 | 互操作模式 |
|---|---|---|
| Antigravity / Amp | .agents/skills/原生直读 | 原生 SSOT |
| Claude Code | .claude/skills/符号链接 | 原生 + 适配器 |
| Codex CLI | .codex/agents/*.toml由 SSOT 生成 | 原生 + 适配器 |
| Cursor | .cursor/skills/+ 规则 + MCP 符号链接 | 原生 + 适配器 |
| Qwen / Kiro / pi / Kimi | 各自目录由安装器物化 | 原生或扩展桥接 |
也就是说:你在.agents/里修了一个技能,下次执行oma update或oma link后,所有工具的副本会同步更新,而且重新安装时安装器还会自动清理旧版遗留的过期文件。
上图出自项目自带的基准测试(见 benchmarks/README.md):同一个"3D 创意学习平台"需求,5 个 Agent 框架同场竞技,由.agents/驱动的 oh-my-agent 以 80.6 分位列第一。
只改一处:SSOT 带来的实际好处
- ✅维护成本 ÷ N:技能、工作流、规则各只有一份,不再有 5 个目录的同步噩梦
- ✅跨工具行为一致:无论今天用 Claude Code 还是明天切 Cursor,Agent 遵循的是同一份
oma-config.yaml、同一套技能 - ✅全局安装也支持:
oma install --global会把 SSOT 装到~/.agents/,并同步~/.claude/、~/.codex/等用户级配置 - ✅可审计:
results/与state/记录每次运行的产物和状态,门禁决策全部落盘
快速上手:三步验证你的 .agents 目录
- 运行安装器:
bunx oh-my-agent@latest,选择预设(All / Backend / Frontend / Fullstack 等) - 检查配置:
oma doctor会打印各 Agent 解析出的模型矩阵与集成状态 - 打开项目看一眼
.agents/oma-config.yaml:改language或model_preset即可全局生效
更多细节可参阅 web/docs/guide/integration.md 与 README.md。
小结:.agents/不只是一个目录,而是一套"写一次、到处跑"的工程纪律——它把 10 多个 AI 工具的技能配置收敛到同一份 SSOT,再用符号链接和格式生成抹平工具差异。如果你的团队同时在用多款 AI 编程工具,这大概是目前最值得抄的一份目录设计。
- 人工智能
- AI Agent
- 多智能体
- Agent 编排
- Agent 评测
- AI 技能
- 开发工具
- CLI
【免费下载链接】oh-my-agent
Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges).
相关推荐
OpenSpec团队协作指南:如何让不同AI工具共享同一套规范
OpenSpec团队协作指南:如何让不同AI工具共享同一套规范 在现代软件开发中,团队经常使用多种AI编程助手来提高效率。然而,当不同成员使用不同的AI工具(如
开发工具CLIAI 应用工作流自动化告别Agent失忆:agent-beacon如何让Claude Code、Cursor、Codex共享同一份项目记忆
告别Agent失忆:agent beacon如何让Claude Code、Cursor、Codex共享同一份项目记忆 如果你同时使用 Claude Code、C
gentle-ai skill-registry 实战指南:让 OpenCode 等全部 Agent 共享同一份技能索引
gentle ai skill registry 实战指南:让 OpenCode 等全部 Agent 共享同一份技能索引 导读:本文围绕 gentle ai 的
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考