你以为它只是 OpenCode 的一个插件?实际上,它把单个 AI 对话入口,改造成了一套能自动拆任务、自动选模型、自动续跑、自动调子 Agent 的多 Agent 编排系统。
如果你已经用了一段时间 OpenCode,可能遇到过这种情况:让 AI 改一个模块,它改了,但没考虑影响范围;让它做复杂重构,它做着做着就偏了;让它并行处理多个任务,它却一个接一个排队等。这不是 OpenCode 不行,而是单个 AI 的天花板——它再强,也只是一个人。
OMO 要解决的问题就是:你需要的不是一个人,而是一支团队。今天这篇,咱们把它拆开讲清楚。
OMO(Oh My OpenAgent)是一个运行在 OpenCode 之上的多 Agent 编排框架,但它不是简单的功能增强包。
它的代码规模说明了一切:1,268 个TypeScript文件、约 16 万行代码,内部包含10 个专业 Agent、40+ 生命周期 Hook、20+ 工具和内置MCP。它不是简单扩展几个按钮,而是在 OpenCode 这个 AI 编程入口上,搭出了一套可持续运转的多 Agent 调度系统。
OMO 的定位官方叫"the best agent harness"——不是帮你写代码,而是帮你驾驭写代码的 AI 团队。它自己几乎不写代码,它的工作是:拆任务、选模型、调度 Agent、并行执行、续跑中断的会话。
根据官网描述,OMO 的核心是"帮助你通过 OpenCode 创建一个由 AI 开发者组成的完整团队"。
OMO 采用三层架构,这是理解整个系统的关键:
关键设计:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
常见误解纠正:
-
❌ "Sisyphus 和 Prometheus 是平级的" → ✅ Sisyphus 是顶层主编排器,Prometheus 是规划层 Specialist -
❌ "Atlas 也写代码" → ✅ Atlas 只协调不编码,代码由 Junior 写 -
❌ "9 个 Agent 平铺" → ✅ 四层架构(顶层 + 三层),职责分离
单个 AI 最大的问题是什么?它能写代码,但不知道"谁该写什么、什么时候写、写完之后谁来审"。
当你让它"重构用户认证模块",如果是单 AI,它会自己从头干到尾——分析、设计、实现、测试,全包了。这听起来挺好,但问题是:它会越做越偏,中间没办法纠偏,而且不会并行。
OMO 的思路是:把这个大任务拆开,分给不同的专业 Agent 去干。一个 Agent 负责分析现有代码,一个 Agent 负责设计方案,一个 Agent 负责写代码,一个 Agent 负责审查,全部并行。
关键不是 Agent 多,而是:
-
谁来决定什么时候用哪个 Agent -
谁来决定任务要不要拆分 -
谁来决定这个任务应该用哪个模型 -
谁来决定做完一轮之后要不要继续
- Prometheus
:通过访谈模式确定范围,构建执行计划,从不写代码 - Metis
:捕获计划中的遗漏和歧义 - Momus
:严苛验证计划,只有无懈可击才批准 - Atlas
:执行已验证的计划,委派给专业 Agent,自己不写代码 - Junior
:实际写代码的执行者
核心:规划者不编码,编码者不规划。智能存在于系统中,而非单个 Agent。
根据官方文档,OMO 的所有内置智能体都是平等的,没有"主从"关系,也不鼓励手动调用特定代理。你不需要指定@oracle或@librarian——这些名称只是用来描述它们的专长,实际使用中,系统会根据任务自动选择合适的 Agent。
编排器对一切进行独立验证。子 Agent 没有免费通行证——每个任务的结果都会被 Atlas 独立检查。
活跃工作被记录在boulder.json中。停电、系统崩溃、会话中断都没关系——从你停下的地方精确恢复,零上下文丢失。
每个任务的学习传递给后续所有任务。系统在工作时变得更聪明。
官网宣传的 10 个专业 Agent:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
实际代码中的内部 Agent(2 个,官网未单独计数):
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
为什么数量有差异?
-
Junior 是 Sisyphus 的内部执行模式,官网不单独计数 -
Multimodal Looker 是实验性 Agent,按需启用 -
Dynamic Agent 不是固定 Agent,是按需动态构建的
准确说法:官网宣传 10 个专业 Agent,实际代码实现 12 个(10 个固定 + 2 个内部/实验性)。
OMO 不是按模型名委派任务,而是按任务类型委派。这是路由设计的核心思想。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
重要更新:
quick默认是Claude Haiku 4.5,不是 GPT-5.4 Mini unspecified-high默认是GPT 5.4 (high),不是 Claude Opus deep和 ultrabrain用的是GPT 5.3 Codex,不是 GPT-5.4
ulw——UltraWork 模式(魔法咒语)
这是 OMO 最常用的模式。在提示词中加上ulw(或ultrawork),OMO 会自动激活全部增强功能:
系统执行流程:
-
扫描代码库 -
启动 3 个 explore agent 并行探索 -
构建执行计划 -
部署 4 个并行 agent 执行 -
运行验证测试 -
输出完成结果
效果:自动规划、深度研究、并行 Agent、自我纠正循环。系统直到完成才会停止,你不需要盯梢。
ralph-loop——无限迭代模式
适合需要"死磕到底"的场景。AI 会反复执行任务→自检→修复→再执行,直到满足条件或达到最大次数。
/init-deep——深度初始化
在项目目录首次启动 OpenCode 后,执行/init-deep,它会探索整个工程,生成分层的AGENTS.md文件,帮助后续 Agent 快速理解项目。
/start-work——执行已验证的计划
当 Prometheus 创建好计划后,运行/start-work激活 Atlas 执行:
-
读取 .sisyphus/plans/*.md计划文件 -
分析任务依赖 -
分发任务给专业 Agent -
独立验证每个任务结果 -
积累智慧到 .sisyphus/notepads/
- 项目级
: .opencode/oh-my-openagent.json - 用户级
: ~/.config/opencode/oh-my-openagent.json
支持 JSONC 格式,允许注释和尾随逗号。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OMO 支持同时运行多个后台 Agent,通过以下参数控制并发行为:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
并发优先级(从高到低):
modelConcurrency>providerConcurrency>defaultConcurrency
配置示例:
说明:
defaultConcurrency: 5:最多同时运行 5 个后台任务。 providerConcurrency: 10:每个提供商最多同时 10 个任务(覆盖默认值)。 modelConcurrency: 2:每个具体模型最多同时 2 个任务(优先级最高)。 staleTimeoutMs: 300000(5 分钟):超过 5 分钟未完成的任务会被干预,避免资源长期占用。
- websearch
:由 Exa 驱动,提供高质量搜索结果 - context7
:文档检索和上下文管理 - grep_app
:GitHub 代码搜索集成
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
内置技能包括playwright、agent-browser和git-master。你也可以定义自定义技能:
安装过程会问几个问题:有没有 Claude Pro 订阅?有没有 ChatGPT Plus?有没有 Gemini?没有的话直接选 No,OMO 会使用免费的 OpenCode Zen 模型。
方法 1:运行诊断工具(推荐)
这会检查系统、配置、工具和模型解析,包括所有 Agent 是否正常。
方法 2:查看配置文件
应该包含"oh-my-openagent"在 plugin 数组中:
方法 3:启动 OpenCode 测试
然后在会话中输入:
如果 OMO 正常工作,会看到类似输出:
在 OpenCode 中输入/models,可以看到可用模型列表。如果需要配置APIKey(如智谱GLMCoding Plan),输入/connect,选择对应供应商,粘贴 API Key 即可。
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这三个工具各管一摊,不是互相替代的关系:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
简单说:OpenSpec 定目标,Superpowers 管质量,OMO 提效率。三者配合才是完整的 AI 开发流水线。
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OMO 不是让 AI 更聪明,而是让 AI更有组织地干活。它把 OpenCode 从"一个 AI 助手"变成了"一支 AI 团队"的调度中心。
官网:https://ohmyopenagent.com/
GitHub:https://github.com/code-yeongyu/oh-my-openagent
你用过 OMO 吗?评论区聊聊你的使用体验。
-
OpenCode Day29:OpenCode系列视频总结(Remotion制作) -
OpenCode Day28:零剪辑基础,我用OpenCode+Remotion做了个23秒宣传视频 -
为什么你的OpenCode越改越烂?SWE-CI给出了答案 gstack:YC CEO开源的AI虚拟工程团队 OpenCode铁三角选型指南,你真的需要全装吗? OpenCode Day24:AI能看懂代码了?LSP才是幕后功臣 OpenCode铁三角:OpenSpec + Superpowers + OMO,从“随意 编码”到“规范开发”的完整指南 OpenCode Day22:OpenSpec 与 OPSX 完整教程:从入门到实战 Opencode Day21:OpenCode+Playwright,让AI做测试 Opencode Day20:干货必看!我用这套组合拳零手写代码上线小程序(附全流程) Opencode Day19:有了Superpowers,我的OpenCode终于不“乱写”了 Opencode Day18:MiniMax出Skills了:前端、后端、安卓、iOS,一套技能全搞定 同一套Skill,要在OpenCode、Claude Code、Codex、Cursor里各配一遍?这个工具治好了我的精神内耗
OpenCode Day16:效率翻倍!我用两个月总结的实战小技巧 OpenCode Day15:实战必看!3小时给娃做了个“早餐小铺”,再也不愁明天吃啥 OpenCode Day14:干货!让AI走流程,不瞎干,效率翻倍 Impeccable实战:OpenCode+自然语言,你只要会说话就能写出专业界面

