Skip to main content

OpenCode omo 是什么?

· 7 min read

omo 是 OpenCode 最值得装的增强套件,专为复杂代码库设计。把单代理的原生 OpenCode 升级为多代理、多 MCP 的 AI 编程团队。

  1. 定位:插件层,不改 OpenCode 命令体系
  2. 规模11 个 agents + 54+ hooks + 5 MCPs
  3. 王牌命令ultrawork,一个词启动全部代理
  4. Team Mode(v4.0):主代理 + 8 个并行成员,tmux 可视化
  5. 热度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 只有 buildplan 两个主代理,靠 @general 子代理跑腿。对小项目够用,但放到真实大型代码库——多语言、多服务、几千个文件——这套架构撑不住:

  • 上下文塞不下:一次会话里查十几个文件就溢出
  • 搜索效率低:grep 全仓是主代理自己干,吃 token 又慢
  • 缺少质量门:Lint、类型、测试得手动跑,Agent 经常「写完就跑」

omo 的解法是多代理并行:把搜索、读代码、跑测试、提 PR、审 PR 拆给不同子代理,主代理只负责「协调 + 决策」。你看到的是一个能稳定交付的 Agent,而不是一个写到一半就放弃的实习生。

和原生 OpenCode 的核心区别

维度原生 OpenCodeOpenCode + omo
主代理2 个(build / plan)11 个专职代理
子代理@general(通用)Sisyphus / Hephaestus / Oracle / Librarian / Explore 等
MCP0 个内置5 个内置(Exa / Context7 / Grep.app / AST-Grep / LSP)
编辑模式普通 diffHash 锚定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,轻量场景("帮我看看这段代码")用 searchanalyze 模式。

Team Mode:让多个 Agent 同时干活

v4.0 引入的 Team Mode 是 omo 真正的杀招:

  • 主代理(Lead):拆任务、协调、决策
  • 最多 8 个并行成员代理:tmux 实时可视化,各干各的
  • 专用工具team_* 系列(分配任务、收消息、同步状态)

最有意思的是它上面的两个预设模式:

  • hyperplan:5 个敌对评审员同时审方案,专门挑刺
  • security-research:3 个攻击者 + 2 个 PoC 工程师,并行模拟渗透

我用 hyperplan 让 Agent 写一个重构方案,5 个评审员从「并发安全」「向后兼容」「可观测性」「运维成本」「业务影响」五个角度同时攻击,最终方案改了 7 版才稳定下来——比单代理「我写完你看一眼」靠谱太多。

核心特性速览

omo 特性多到「文档看不完」,按重要度排:

  1. Hash-Anchored Edit Tool:编辑前用 LINE#ID 内容哈希校验,零 stale-line 错误。这是 omo 最被低估的特性之一——你再也不会看到 Agent 编辑失败却报告「已完成」。
  2. LSP 集成:跳转、符号、重命名、诊断,IDE 级精度。
  3. AST-Grep:25 种语言的模式感知搜索和改写,比 grep 准。
  4. Background Agents:扔 5+ 个专家代理出去并行跑,主上下文保持精简。
  5. Comment Checker:自动扫掉 AI 注释腔(「This function does X」之类的废话)。

踩坑提醒:omo 改完文件会自动扫注释。如果你注释写得「教程式」,会被清理掉——这是 feature 不是 bug,但对写注释密集型代码的人不友好。

安装

omo Ultimate Edition 给 OpenCode 用:

bunx oh-my-openagent install

启动后是 TUI 引导:选平台、订阅类型、Provider、模型路由。强烈建议让 AI Agent 帮你装——人类在「11 个代理各自该用哪个模型」这一步很容易出错。

如果用 Codex CLI 装 Light Edition:

npx lazycodex-ai install

命名陷阱:npm 包名还有过渡期的 oh-my-opencode,bin alias 有个 omo——omo 是另一个不相关的 npm 包。文档专门警告不要用 bunx omo 启动,会装错。

选型决策

对号入座:

  • 只用 OpenCode 简单写写 → 不装 omo,原生够用
  • OpenCode + 复杂代码库 + 真实交付装 omo Ultimate
  • 锁死 Codex CLI → 装 lazycodex-ai(omo Light Edition)
  • 想多代理协作(hyperplan / Team Mode) → omo Ultimate 唯一选择

一个有意思的八卦

omo 项目 README 里有个很出名的「战报」——

Anthropic blocked OpenCode because of us. Yes, this is true.

原因是 omo 把 Kimi / GPT / Gemini 等多家模型都接进 OpenCode,让用户用便宜模型跑出 Claude Code 的效果。这被 Anthropic 视为「绕过他们的定价」,于是封禁了 OpenCode 的某些 API 路径。

作者原话:「Claude Code is a nice prison, but it's still a prison.」——你品。

写在最后

omo 不是 OpenCode 的替代品,是 OpenCode 的放大器。当你觉得「OpenCode 在大型代码库里跑不动」「Agent 经常写到一半放弃」「测试 / lint 没人管」的时候,omo 才是真正的解药。

但也别无脑装——11 个代理 + 5 个 MCP + 54 个 hooks,光启动配置就要半小时。先评估你的痛点是不是「单代理跑不动」,是的话再装,否则原生 build + plan 已经足够。

References

  1. code-yeongyu/oh-my-openagent —— GitHub 仓库
  2. The Harness Problem —— Hash-Anchored Edit 的灵感来源