OpenCode - Oh My OpenCode插件快速上手教程(安装配置、操作实践)
作者:hangge | 2026-06-09 09:34
我在之前的文章中介绍了如何安装并使用 OpenCode(点击查看),本文接着介绍 Oh-My-OpenCode(OMO) 这个为 OpenCode 打造的全功能多 Agent 编排插件。它把 OpenCode 从"单个 AI 聊天机器人"变成"一个 AI 开发团队"。如果说 OpenCode 只是搭好了地基,那么 Oh-My-OpenCode 才是把这栋楼盖起来的东西。
(4)然后执行如下命令查看 Agent,如果能看到 Oh My OpenCode 提供的 Agent,例如:Sisyphus、Hephaestus、Prometheus、Atlas 说明插件安装成功了。

(3)我们可以根据实际情况进行调整,比如我这边将所有模型都替换成京东云 Coding Plan 提供的 GLM-5 模型。
(3)下面是一个简单的样例:



一、基本介绍
1,什么是 Oh My OpenCode
(1)Oh My OpenCode(简称 OMO)是一款基于 OpenCode 打造的超强 AI 编程增强插件,也是目前主流的多智能体协同编程工具。
(2)Oh My OpenCode 彻底突破了原生 OpenCode 的能力限制,通过多角色 AI 代理分工协作、模块化技能系统、自动化工程流水线,将单一 AI 编程助手升级为一套完整的虚拟开发团队,可高效完成功能开发、代码重构、Bug 排查、项目规划、文档生成等全场景开发工作,大幅提升个人与团队的编码效率。
2,核心能力
(1)自动将任务拆分并分配给多个专业 Agent
(2)并行执行多个子任务
(3)内置 11 个专业 Agent,覆盖规划、编码、审查、搜索等场景
(4)兼容 Claude Code 的 hooks、commands、skills、MCPs
(5)开箱即用,安装后无需额外配置
3,Agent 系统详解
提示:Oh-My-OpenCode 提供了 11 个专业 Agent,每个都针对特定场景优化。
(1)核心 Agent
| Agent | 用途 | 触发场景 |
| Sisyphus | 主编排者,负责任务分解和委派 | 复杂多步任务 |
| Hephaestus | 深度执行 Worker,端到端执行任务 | 需要完整实现的场景 |
| Oracle | 架构决策、代码审查、调试 | 复杂架构、2+ 次修复失败后 |
| Librarian | 外部资源搜索(文档、GitHub、Web) | 不熟悉的库/API |
| Explore | 代码库内搜索(上下文感知的 grep) | 查找现有代码模式 |
(2)规划 Agent
(3)编排 Agent
(2)接着再执行如下命令:
| Agent | 用途 |
| Prometheus | 战略规划,创建详细工作计划 |
| Metis | 计划顾问,识别隐藏意图和歧义 |
| Momus | 计划审查,验证计划的清晰度和完整性 |
| Agent | 用途 |
| Atlas | Todo 列表编排,系统化执行计划任务 |
| Sisyphus-Junior | 类别执行器,不能再次委派 |
| Multimodal-Looker | 视觉内容专家,分析 PDF、图片、图表 |
二、安装配置
1,准备工作
(1)首先确保我们已经安装了 OpenCode,具体步骤可以参考我之前的文章:
2,安装 Oh My OpenCode
(1)执行如下命令使用 npm 安装最新版的 oh-my-opencode:
npm install -g oh-my-opencode
(2)接着再执行如下命令:
npx -y oh-my-opencode install --no-tui --claude=no --gemini=no --copilot=no
(3)要验证是否安装成功,我们首先启动 OpenCode:
opencode
(4)然后执行如下命令查看 Agent,如果能看到 Oh My OpenCode 提供的 Agent,例如:Sisyphus、Hephaestus、Prometheus、Atlas 说明插件安装成功了。
/agents
(5)最后执行如下命令测试核心功能,若终端显示类似如下信息,则代表安装完成。
ulw say hello

3,修改 Agent 模型配置
(1)我们可以为 Oh-My-OpenCode 的不同 Agent 配置不同的模型,这样就可以兼顾性能、成本、安全性。Oh My OpenCode 支持全局配置和项目专属配置,配置文件地址如下:
- 全局配置(所有项目通用):~/.config/opencode/oh-my-opencode.jsonc
- 项目配置(当前单个项目,优先级高于全局):./.opencode/oh-my-opencode.jsonc
(2)例如下面是 Oh-My-OpenCode 官方提供的一种配置样例,可以看到该配置中 Sisyphus、Librarian、Explore、Oracle、Prometheus 等角色可以分别绑定不同模型:思考重的角色给强模型,检索和简单任务交给更快更便宜的模型,这样更省钱,也更符合各角色定位。
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
// 主控编排器:Claude Opus 或 Kimi K2.6 效果最佳
"sisyphus": {
"model": "kimi-for-coding/k2p5",
"ultrawork": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
},
// 研究代理:使用便宜快速的模型即可
"librarian": { "model": "google/gemini-3-flash" },
"explore": { "model": "github-copilot/grok-code-fast-1" },
// 架构咨询:GPT-5.5 或 Claude Opus
"oracle": { "model": "openai/gpt-5.5", "variant": "high" },
// Prometheus 继承 sisyphus 模型;只需添加提示引导
"prometheus": {
"prompt_append": "Leverage deep & quick agents heavily, always in parallel.",
},
},
"categories": {
// quick - 简单任务
"quick": { "model": "opencode/gpt-5-nano" },
// unspecified-low - 中等任务
"unspecified-low": { "model": "anthropic/claude-sonnet-4-6" },
// unspecified-high - 复杂任务
"unspecified-high": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
// writing - 文档/写作
"writing": { "model": "kimi-for-coding/k2p5" },
// visual-engineering - Gemini 在视觉任务上表现最佳
"visual-engineering": {
"model": "google/gemini-3.1-pro",
"variant": "high",
},
// 自定义分类:git 操作
"git": {
"model": "opencode/gpt-5-nano",
"description": "所有 git 操作",
"prompt_append": "Focus on atomic commits, clear messages, and safe operations.",
},
},
// 限制昂贵的提供商并发;便宜的可以让它自由运行
"background_task": {
"providerConcurrency": {
"anthropic": 3,
"openai": 3,
"opencode": 10,
"zai-coding-plan": 10,
},
"modelConcurrency": {
"anthropic/claude-opus-4-7": 2,
"opencode/gpt-5-nano": 20,
},
},
"experimental": { "aggressive_truncation": true, "task_system": true },
"tmux": { "enabled": false },
}
(3)我们可以根据实际情况进行调整,比如我这边将所有模型都替换成京东云 Coding Plan 提供的 GLM-5 模型。
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
"sisyphus": {
"model": "joybuilder-plan/GLM-5",
"ultrawork": { "model": "joybuilder-plan/GLM-5", "variant": "max" }
},
"librarian": { "model": "joybuilder-plan/GLM-5" },
"explore": { "model": "joybuilder-plan/GLM-5" },
"oracle": { "model": "joybuilder-plan/GLM-5", "variant": "high" },
"prometheus": {
"prompt_append": "Leverage deep & quick agents heavily, always in parallel."
}
},
"categories": {
"quick": { "model": "joybuilder-plan/GLM-5" },
"unspecified-low": { "model": "joybuilder-plan/GLM-5" },
"unspecified-high": { "model": "joybuilder-plan/GLM-5", "variant": "max" },
"writing": { "model": "joybuilder-plan/GLM-5" },
"visual-engineering": {
"model": "joybuilder-plan/GLM-5",
"variant": "high"
},
"git": {
"model": "joybuilder-plan/GLM-5",
"description": "所有 git 操作",
"prompt_append": "Focus on atomic commits, clear messages, and safe operations."
}
},
"background_task": {
"providerConcurrency": {
"anthropic": 3,
"openai": 3,
"opencode": 10,
"zai-coding-plan": 10
},
"modelConcurrency": {
"joybuilder-plan/GLM-5": 20
}
},
"experimental": { "aggressive_truncation": true, "task_system": true },
"tmux": { "enabled": false }
}
三、实践案例
1,使用 ultrawork 直接完成一个任务
(1)ultrawork(简称 ulw)是 Oh-My-OpenCode 的魔法关键词。当我们的提示中包含 ultrawork 这个词,或者缩写的 ulw 时:
- 所有 Agent 自动激活
- 后台任务并行启动
- 深度探索自动执行
- 系统不会停止,直到任务 100% 完成
(2)例如下面这些任务,就很适合直接 ulw:
ulw 给 /api/orders 接口增加分页功能,参考 /api/products 的实现方式 ulw 找出所有 N+1 查询问题并修复 ulw 将整个项目的错误处理统一改为 Result 模式 ulw 重构 src/payment/ 为策略模式,对外接口不变 ulw 分析这个项目的整体架构,重点梳理请求链路,
(3)下面是一个简单的样例:
ulw 请分析当前项目登录页面实现方式,并在现有登录页增加一个纯前端4位验证码功能。 功能要求: 【验证码规则】 1. 验证码长度固定为4位。 2. 验证码由数字和大小写字母随机组成。 3. 验证码在前端浏览器中生成,不调用任何后端接口。 4. 验证码显示为图片或Canvas形式。 5. 点击验证码可以刷新。 6. 页面首次加载自动生成验证码。 7. 每次刷新验证码时重新随机生成。 8. 验证码校验不区分大小写。 【页面要求】 1. 保持现有登录页布局和样式不变。 2. 在密码输入框下方增加: - 验证码输入框 - 验证码图片区域 - “看不清?点击刷新”提示 3. 验证码输入框为必填项。 4. 长度必须为4位。 【登录校验】 1. 点击登录按钮时先校验验证码。 2. 验证码错误时: - 弹出提示“验证码错误” - 清空验证码输入框 - 自动生成新的验证码 - 阻止登录请求发送 3. 验证码正确后再执行原有登录逻辑。 4. 不修改原有登录接口和认证流程。 【技术要求】 1. 优先使用项目现有UI组件库。 2. 使用Canvas绘制验证码。 3. 增加适量干扰线和噪点。 4. 验证码生成逻辑封装为独立组件或Hook。 5. 遵循当前项目代码规范。 6. 尽量复用现有表单校验机制。 【输出要求】 1. 先分析当前登录页面实现方式。 2. 给出修改方案。 3. 给出需要修改的文件列表。 4. 输出完整代码Diff。 5. 输出最终效果说明。 6. 输出测试步骤。 请直接基于当前项目结构实现,不要创建与项目风格不一致的新模块。
2,先规划、后执行
(1)ulw 一把梭哈的方式并不适合所有场景。如果一些需求边界不清,或者我们想先把方案审一遍,那么这种情况下更适合先规划,再执行。首先我们执行如下命令切换到 Prometheus:
/agents
(2)先让 Prometheus 进行规划,它会像一个资深工程师一样反问我们细节,明确需求。并且在随后过程中不同的 Agent 会相互作用,确保方案可行,有没有潜在风险。

(3)最后我们可以对计划进行审查,若没有问题则选择执行“开始工作”

(4)然后我们执行如下面命令,这时 Atlas 才接管执行,按我们的计划进行实施。
/start-work
3,只做审查,不改代码
(1)OpenCode 并不只是“写代码工具”,拿来审代码也非常好用。比如下面让 explore 找出已定义但没有用到的 api 接口:
@explore 全量扫描 src/api/,找出没有用到的接口

(2)又比如下面让 oracle 这个 Agent 对代码进行审查:
@oracle 审查 @src/views/login/index.vue
全部评论(0)