背景
如果你正在用 OpenCode,大概率听说过甚至用过 oh-my-openagent------一个为 OpenCode 提供多 Agent 编排能力的插件。它的核心思路非常好:意图门控、只读隔离、并行探索、结构化输出......属实把"让 AI 自己调度 AI"这件事玩明白了。
但问题也很头疼:太不稳定了。 隔三差五发个新版本,动不动就罢工。上一版还能用,更新完就直接白屏报错,属于那种"能用是惊喜,不能用是常态"的体验。
那么有没有一种更稳的方案呢?
思路:从硬路由到软路由
oh-my-openagent 的逻辑是做"硬路由"------通过插件层精准拦截和分发请求。精确是真精确,但一旦上游 API 或插件接口有变动,直接就断链。
换个思路:只靠 OpenCode 自己的配置文件(opencode.json + agent/*.md) ,用精心设计 System Prompt 的方式,通过纯提示词来模拟类似的多 Agent 协作行为------我把这叫做 Agent 软路由。
精确度上确实不如硬路由那么丝滑,但大差不差 。关键是------OpenCode 本身稳如老狗,配置不依赖任何外部插件,自然不会因为版本更新崩掉。
我的实践:my-opencode-config
我把这套配置整理完善,传到了 GitHub 上:
🔗 github.com/znlgis/my-opencode-config
核心设计
只用了 3 个模型,不做模型堆叠,靠角色分工和路由策略来提效:
| 模型 | 用途 |
|---|---|
deepseek-v4-pro |
复杂规划、重型实现、代码分析、代码审查、主控调度 |
deepseek-v4-flash |
快速探索、外部检索、上下文压缩等轻量任务 |
qwen3.7-max |
通用问答、轻量编排、咨询讨论 |
10 个 Subagent 各司其职:planner(规划)、deep-worker(重型实现)、oracle(根因分析)、reviewer(代码审查)、ui-builder(前端)、explore(代码库搜索)、librarian(文档检索)、light-orchestrator(轻量任务)、consultant(方案咨询)、generalist(兜底)。
借鉴 oh-my-openagent 的精华
通过纯 Prompt 实现了 oh-my-openagent 中的关键行为:
- IntentGate(意图门控):orchestrator 分类前先识别用户真实意图,防止字面理解偏差
- 只读权限隔离 :分析类 Agent 配置了
permission.edit/write: deny,绝不误改文件 - 并行探索 :
explore/librarian明确要求同时发起多个调用,提升效率 - 结构化输出:规划输出统一 Handoff Plan 格式,探索返回统一结构
- Fallback Chain:失败自动回退,任务不会中途挂掉
- Todo 管理:多步任务强制写待办、逐步推进,杜绝"做一半忘了"
快捷命令一览
| 命令 | 作用 |
|---|---|
/deep |
重型实现 |
/quick |
轻量快速任务 |
/plan |
制定方案 |
/review |
代码审查 |
/oracle |
根因分析 |
/search |
查资料 |
/consult |
咨询建议 |
/ui |
前端/UI |
如何使用
- 把整个仓库 clone 或下载下来,放到你的项目根目录或 OpenCode 配置目录
- 唯一需要改的:把 Agent 配置里的模型名换成你自己用的模型。里面的模型是我自己用的,你让 AI 帮你批量替换一下就完事了
- 日常使用直接用默认的
orchestrator,它会自动判断意图并分发给最合适的 Agent
最后
这套配置的核心哲学是:不追求 Agent 数量或模型数量的堆叠,而是追求角色分工清晰、成本可控、行为稳定。
如果你也被 oh-my-openagent 的版本兼容折磨过,不妨试试这个纯配置方案。只要 OpenCode 的配置系统不变,它就永远能跑。
有需要的自取,欢迎 Star / Fork / 提 Issue。