告别 oh-my-openagent 版本地狱:一套纯 OpenCode 配置实现 Agent 软路由

背景

如果你正在用 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

如何使用

  1. 把整个仓库 clone 或下载下来,放到你的项目根目录或 OpenCode 配置目录
  2. 唯一需要改的:把 Agent 配置里的模型名换成你自己用的模型。里面的模型是我自己用的,你让 AI 帮你批量替换一下就完事了
  3. 日常使用直接用默认的 orchestrator,它会自动判断意图并分发给最合适的 Agent

最后

这套配置的核心哲学是:不追求 Agent 数量或模型数量的堆叠,而是追求角色分工清晰、成本可控、行为稳定

如果你也被 oh-my-openagent 的版本兼容折磨过,不妨试试这个纯配置方案。只要 OpenCode 的配置系统不变,它就永远能跑。

有需要的自取,欢迎 Star / Fork / 提 Issue。

链接:github.com/znlgis/my-opencode-config