OMO使用介绍
OMO使用介绍
salt-fish关于本笔记
本笔记用于沉淀 oh-my-opencode(OMO)插件在 OpenCode 中的使用方法与适用场景,目标是理清四类 Agent 的职责边界,以及如何与 Superpowers skills、vibe 治理流程配合,形成可重复的开发工作流。
项目地址:https://github.com/code-yeongyu/oh-my-openagent
目录
- 项目简介
- 项目结构概览(四类 Agent)
- 四类 Agent 的职责
- Agent 组合关系与流转
- 分类使用场景
- 选择 Agent 速查表
- 推荐提示词模板
- 并发与安全边界
- OMO 与 vibe 的关系
- 项目级增强:AGENTS.md 与任务技能映射
- 配置文件说明(重点)
- 常见误区与修正
- 我的最小实践模板
项目简介
oh-my-opencode(OMO)是一套面向软件开发的 Agent 编排系统,它不是单一聊天机器人,而是把开发过程拆成不同角色:
- 规划 — 想清楚怎么做
- 深度执行 — 深入解决问题
- 编排 — 统筹全局推进
- 按计划落地 — 照既定计划执行
一句话:用对的人做对的事,不把所有期望压在一个 Agent 上。
安装配置参考https://www.opencodecn.com/docs/best-practices/oh-my-opencode
项目结构概览(四类 Agent)
OMO 通过 oh-my-opencode 插件注册到 OpenCode,提供四类预定义 Agent:
1 | oh-my-opencode(OMO 插件) |
配合的外部 Agent 角色:
- explore — 代码库快速搜索(contextual grep)
- librarian — 外部文档/官方 API 查询
- oracle — 复杂架构咨询与调试
- Momus — 计划/工作审查
四类 Agent 的职责
Prometheus:Plan Builder,规划者
Prometheus 负责把目标拆成可执行计划。它适合需求不够清晰、影响范围较大、需要先设计方案时使用。
典型流程:
- 理解目标、约束和验收标准。
- 分析代码结构、依赖关系和风险点。
- 拆分阶段、任务、文件范围和验证方式。
- 输出可执行计划,形式是
.sisyphus/plans/*.md。 - 后续交给 Atlas、Hephaestus 或 Sisyphus 执行。
适合的请求:
1 | 先用 Prometheus 给这个重构做实施计划,不要改代码。 |
1 | 这个功能影响范围比较大,先帮我拆解方案和风险。 |
Hephaestus:Deep Agent,深度执行者
Hephaestus 负责端到端解决一个明确目标。它会探索代码、定位问题、实现修改、运行验证,并根据验证结果继续修复。
典型流程:
- 判断用户真实意图:分析、修复、实现、重构还是调研。
- 阅读代码库上下文,不凭空猜测。
- 必要时调用 explore、librarian、oracle 等辅助 Agent。
- 修改代码或文档。
- 运行诊断、测试、类型检查或构建。
- 修复验证阶段发现的问题。
- 输出完成内容和验证证据。
适合的请求:
1 | 使用 Hephaestus 深入排查这个性能问题,找到根因并修复。 |
1 | 帮我修复登录页 token 过期后无法刷新的问题,并跑相关测试。 |
Sisyphus:Ultraworker,编排器 / 总控
Sisyphus 负责统筹复杂任务。它像项目总控,决定何时规划、何时搜索、何时查文档、何时分派子 Agent,以及何时做整体验证。
典型流程:
- 接收目标并判断复杂度。
- 需要时调用 Prometheus 生成计划。
- 将不同子任务分派给 Hephaestus、Atlas、explore、librarian 等。
- 收集子任务结果。
- 处理冲突、依赖和验证缺口。
- 推动任务直到收敛。
适合的请求:
1 | 使用 Sisyphus 统筹完成这个 issue:先规划,再实现,再验证。 |
1 | 这个需求涉及多个模块,请自动拆分、执行并验证。 |
Atlas:Plan Executor,计划执行者
Atlas 负责执行已经确认的计划。它不适合重新设计方案,而适合按步骤稳定推进。
典型流程:
- 读取已有计划。
- 按计划步骤执行。
- 每完成一步做局部验证。
- 遇到计划不清楚或执行失败时反馈。
- 最后运行整体验证。
适合的请求:
1 | 使用 Atlas 执行 .sisyphus/plans/payment-refactor.md,不要重新规划。 |
1 | 这个计划已经确认了,请按步骤实现并验证。 |
Agent 组合关系与流转
大型任务可以按如下方式流转:
1 | 用户目标 |
轻量任务不需要完整链路。例如一个小 bug 可以直接交给 Hephaestus;一个已有计划可以直接交给 Atlas。
分类使用场景
日常小修小改
适合 bug fix、小功能、测试失败、类型错误、局部重构。
1 | 修复这个报错,并跑相关测试。 |
1 | 给这个组件补一个 loading 状态,保持现有样式风格。 |
不确定怎么做
适合影响多个模块、业务规则复杂、技术方案不明确、需要先审查方案的任务。
1 | 先用 Prometheus 规划这个权限系统改造,不要修改代码。 |
已有计划
适合已经确认实施方案,不希望 Agent 重新设计的任务。
1 | 使用 Atlas 执行 .sisyphus/plans/auth-refactor.md,按步骤验证。 |
复杂端到端任务
适合多模块、多阶段、需要搜索代码、查文档、实现和验证的任务。
1 | 使用 Sisyphus 统筹完成这个需求:先规划,再实现,再验证。 |
难 bug 或深水区问题
适合性能问题、复杂业务逻辑、类型系统问题、难以复现的 bug。
1 | 使用 Hephaestus 深入排查这个问题,定位根因、修复并验证。 |
选择 Agent 速查表
| 你的需求 | 推荐用法 |
|---|---|
| 小修小改 | 直接描述目标,让 Hephaestus 执行 |
| 不确定怎么做 | 先让 Prometheus 出计划 |
| 已有明确计划 | 让 Atlas 按计划执行 |
| 大型端到端任务 | 让 Sisyphus 统筹 |
| 难查的 bug / 性能问题 | 让 Hephaestus 深入排查 |
| 只想了解代码 | 明确说”只分析,不修改文件” |
| 涉及外部库或框架 | 让流程加入 librarian / documentation lookup |
| 需要浏览器验证 | 让流程加入 playwright |
推荐提示词模板
只规划,不改代码
1 | 使用 Prometheus 规划这个任务。只输出计划、影响范围、风险和验证方式,不修改文件。 |
按计划执行
1 | 使用 Atlas 执行 .sisyphus/plans/xxx.md。不要重新规划,按步骤实现并验证。 |
端到端完成
1 | 使用 Sisyphus 统筹完成这个需求:先理解目标,再规划,实现后运行相关测试和构建。 |
深入排查并修复
1 | 使用 Hephaestus 深入排查这个 bug,找到根因,修复后运行相关验证。 |
明确禁止修改
1 | 只分析,不修改任何文件。请说明当前实现、问题点和建议方案。 |
使用 OMO 默认编排
1 | 本次按 OMO 默认方式执行,不启用 vibe 流程。 |
使用 vibe 治理
1 | 本次按 vibe 流程执行,禁用自动花式分派。 |
并发与安全边界
OMO 支持并发子代理,但是否并发取决于调用方式和任务类型。
常见并发场景:
- 多个 explore 同时搜索不同代码区域。
- librarian 查询外部文档时,主 Agent 做本地非重叠探索。
- 多个只读分析任务并行执行。
需要谨慎的场景:
- 多个 Agent 同时修改同一文件。
- 多个 Agent 同时重构同一个模块。
- 一个任务依赖另一个任务的结果,却被提前并发执行。
经验原则:
探索可以并发,写代码要控制边界;只读任务适合并行,写入任务需要明确文件范围。
OMO 与 vibe 的关系
一次任务只选一个主控框架:
- 如果选择 OMO 主导,就让 Sisyphus / Hephaestus / Prometheus / Atlas 按 OMO 方式推进。
- 如果选择 vibe 主导,就明确说”本次按 vibe 流程执行”。
- 不建议在同一个任务中同时叠加 OMO 自由编排和 vibe 治理流程,避免两套调度逻辑互相覆盖。
vibe 是治理型运行协议,适合中大型任务的约束、计划和阶段清理。OMO 是 Agent 编排系统,适合自动分派、深度执行和上下文探索。
推荐做法:
- 日常快速开发:OMO 主导。
- 大型、风险高、需求需要冻结的任务:vibe 主导。
- 如果 vibe 主导,OMO/skills 可以作为执行阶段的能力补充,但不再另起一套自由编排。
项目级增强:AGENTS.md 与任务技能映射
默认 OMO 的 Agent 编排已经能完成很多工作,但在项目级别还可以进一步增强。核心思路是:不要只依赖 OMO 的默认 Agent 行为,而是在项目里写清楚 Agent 应该如何选择 skills、如何与 Superpowers 工作流配合、何时切换到 vibe 治理流程。
项目通过两个文件做增强:
AGENTS.md:告诉所有 Agent 本项目的协作原则、运行时边界、可用 skills、OMO 与 vibe 的关系。.sisyphus/task-skill-map.md:告诉 Sisyphus 在分派子任务时,应该如何把任务类型映射到load_skills。
为什么需要项目级定制
默认 OMO 可能知道有哪些 Agent,但不一定天然知道你的项目希望如何使用 skills。例如:
- Bug 修复是否必须先诊断?
- 前端视觉任务是否必须加载
frontend-design和frontend-ui-ux? - 实现任务是否默认走 TDD?
- 完成前是否必须运行验证?
- 大型任务是交给 OMO 统筹,还是交给 vibe 治理?
这些偏好不应该每次都靠口头提醒,而应该沉淀到项目级文档中。
AGENTS.md 核心原则
AGENTS.md 适合放高层规则,例如:
- 先理解问题,再选择 skill。
- 证据优先,不能在没有验证时声称完成。
- 一次任务只选一个主控框架:OMO 或 vibe。
- 轻量任务走最短路径,中大型任务可以进入治理流程。
- 子 Agent 分派时不能默认
load_skills=[]。
任务技能映射表(.sisyphus/task-skill-map.md)
Sisyphus 通过 task() 分派子 Agent 时,必须把任务类型映射为明确的 load_skills,不要把实现、调试、重构、审查任务默认派成 load_skills=[]。
选择技能时区分两类:
- 工作流技能:负责”怎么推进” —
brainstorming、writing-plans、test-driven-development、subagent-driven-development、verification-before-completion - 领域/实现技能:负责”怎么写对” —
context-hunter、aios-dev、frontend-design、diagnose
常用基线:
| 任务类型 | 推荐 category | 推荐 load_skills |
|---|---|---|
| 后端/API/认证/持久层 | deep 或 quick |
context-hunter, aios-dev, tdd |
| 全栈功能 | deep |
context-hunter, autonomous-builder, aios-dev, tdd |
| 前端 UI/布局/交互 | visual-engineering |
context-hunter, frontend-design, frontend-ui-ux, tdd |
| Bug/失败测试/异常行为 | deep 或 quick |
diagnose, context-hunter, tdd |
| 架构/重构/模块边界 | ultrabrain 或 deep |
context-hunter, zoom-out, improve-codebase-architecture |
| 代码审查 | unspecified-high |
code-reviewer, reviewing-code, code-review-excellence |
| Git 操作 | quick 或 unspecified-high |
git-master |
Superpowers 与 OMO 的配合方式
Superpowers 是”工作方法论 skills”,OMO 是”Agent 编排系统”。两者配合但不竞争。
常见组合:
- 需求不清楚:
brainstorming+ Prometheus - 计划编写:
writing-plans+ Prometheus - 按计划执行:
executing-plans或subagent-driven-development+ Atlas - 实现/修复:
test-driven-development或tdd+ Hephaestus - 完成前验证:
verification-before-completion+ Sisyphus/Hephaestus - 开发分支收尾:
finishing-a-development-branch+ Git
关键原则:OMO 决定”谁来做”,Superpowers 约束”怎么做”。
推荐的项目级配置结构
1 | AGENTS.md # 全局协作规则 |
配置文件说明(重点)
使用 OMO 后重点关注以下配置文件:
opencode.json- 插件加载入口,注册 oh-my-openagent 和 superpowers
AGENTS.md- 项目级 AI 协作规则、Skill 选择原则、Agent 职责边界
.sisyphus/task-skill-map.md- Sisyphus 分派子 Agent 时 load_skills 的映射表,避免默认传空
.sisyphus/plans/*.md- Prometheus 生成的执行计划
常见误区与修正
误区 1:让 Sisyphus 做所有事,不区分 Agent 角色。
修正:Sisyphus 是编排器,不是执行器。实现交给 Hephaestus,计划交给 Prometheus,已有计划交给 Atlas。
误区 2:子 Agent 分派时默认 load_skills=[]。
修正:实现、调试、重构、审查任务都应带上明确 skills。只有 explore/librarian 等纯搜索 agent 才适合空列表。
误区 3:同时启用 OMO 自由编排和 vibe 治理流程。
修正:一次任务只选一个主控框架。OMO 主导就禁用 vibe,vibe 主导就禁用 OMO 自由编排。
误区 4:未澄清需求直接让 Agent 写代码。
修正:大任务先用 Prometheus 规划,难问题先用 Hephaestus 排查,边界模糊时先用 brainstorming。
误区 5:完成声明没有验证证据。
修正:任何”完成/修复/通过”声明,必须附验证命令和输出。verification-before-completion skill 强制此规则。
我的最小实践模板
以下的AGENTS.md与task-skill-map.md不一定符合你的项目, 使用AI根据你的实际情况进行重构
AGENTS.md:
1 | # AI 协作启示(本地 Skills 能力地图) |
task-skill-map.md:
1 |
|

