OpenCode omo 是什么?
omo 是 OpenCode 最值得装的增强套件,专为复杂代码库设计。把单代理的原生 OpenCode 升级为多代理、多 MCP 的 AI 编程团队。
- 定位:插件层,不改 OpenCode 命令体系
- 规模:11 个 agents + 54+ hooks + 5 MCPs
- 王牌命令:
ultrawork,一个词启动全部代理 - Team Mode(v4.0):主代理 + 8 个并行成员,tmux 可视化
- 热度:62k+ stars,Anthropic 曾因此封禁 OpenCode
一句话定义
Oh My OpenAgent(omo) 是由 code-yeongyu 开发的 OpenCode 插件。它把单代理的 OpenCode 变成「多代理、多 MCP、多模式」的 AI 编程团队。GitHub 上 62k+ stars,仓库一度叫 oh-my-opencode,2025 年底改名 oh-my-openagent(npm 包还在双发布过渡期)。
别把它当成「又一个 AI 编程 Agent」——它不改 OpenCode 的命令体系,只在背后塞进 11 个专职代理、5 个 MCP、54+ 个 lifecycle hooks,把单代理撑不住的活儿全接住。
为什么需要它?
原生 OpenCode 只有 build 和 plan 两个主代理,靠 @general 子代理跑腿。对小项目够用,但放到真实大型代码库——多语言、多服务、几千个文件——这套架构撑不住:
- 上下文塞不下:一次会话里查十几个文件就溢出
- 搜索效率低:grep 全仓是主代理自己干,吃 token 又慢
- 缺少质量门:Lint、类型、测试得手动跑,Agent 经常「写完就跑」
omo 的解法是多代理并行:把搜索、读代码、跑测试、提 PR、审 PR 拆给不同子代理,主代理只负责「协调 + 决策」。你看到的是一个能稳定交付的 Agent,而不是一个写到一半就放弃的实习生。
和原生 OpenCode 的核心区别
| 维度 | 原生 OpenCode | OpenCode + omo |
|---|---|---|
| 主代理 | 2 个(build / plan) | 11 个专职代理 |
| 子代理 | @general(通用) | Sisyphus / Hephaestus / Oracle / Librarian / Explore 等 |
| MCP | 0 个内置 | 5 个内置(Exa / Context7 / Grep.app / AST-Grep / LSP) |
| 编辑模式 | 普通 diff | Hash 锚定(LINE#ID 内容哈希校验) |
| 循环模式 | 无 | /ulw-loop,不完成不退出 |
| 强制约束 | 无 | Todo Enforcer,Agent 想偷懒?系统拽回来 |
差距一句话:OpenCode 提供「能跑」,omo 提供「跑得稳、能交付」。
ultrawork:一个词启动全部代理
omo 最被社区传颂的就是 ultrawork(简写 ulw)命令:
# 在 OpenCode 会话里输入
ultrawork
把任务甩过去——11 个代理同时激活,搜索、阅读、写代码、跑测试、修 lint 全部并行推进,不会中途停下来问你「要不要继续」。Agent 自己卡壳了?Todo Enforcer 强制拉回来。任务没完成?ralph loop 自己重跑。
这是 omo 跟普通 AI 编程工具最不一样的地方:它默认假设你想交付完整结果,而不是「帮我写个开头看看」。
社区评价很统一——
"If Claude Code does in 7 days what a human does in 3 months, Sisyphus does it in 1 hour."
— B, Quant Researcher
"Knocked out 8000 eslint warnings with Oh My Opencode, just in a day"
— Jacob Ferrari
真实代价:ultrawork 会疯狂烧 token。明确任务用 ultrawork,轻量场景("帮我看看这段代码")用 search 或 analyze 模式。