oh-my-opencode 是一个为 OpenCode(设计的强大插件/扩展层。它将单个 AI 代理升级为一个多智能体协作团队,提供开箱即用的高级功能。
GitHub 仓库:https://github.com/code-yeongyu/oh-my-opencode
核心亮点包括:
- Sisyphus 主智能体:负责持续执行复杂任务,直至完成。
- 支持并行运行专业子智能体(如 Oracle 预言者、Librarian 文档专家、Frontend Engineer 前端工程师、Explore 探索者等)。
- 内置 LSP/AST 工具(代码重构)、MCP(模型调用插件,如搜索、文档检索)、钩子系统(25+ 种事件触发)。
- 多模型调度:自动分配任务给最适合的模型(例如 Gemini 处理前端、Claude 处理规划)。
- 关键词触发完整自动化(如
ultrawork或ulw),支持后台任务、Todo 强制执行、上下文注入等。 - 完全兼容 Claude Code 工作流,强调高性能、自动化和可定制性。
安装
推荐让 OpenCode 自动完成安装,复制以下提示并粘贴到你的 OpenCode 对话框:
按照以下说明安装和配置 oh-my-opencode: https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md
安装后,默认开箱即用,无需额外配置即可体验大部分功能。
基本触发
在 OpenCode 的提示词中加入关键词 ultrawork(或简写 ulw),例如:
ultrawork: 请帮我实现一个 React 组件,支持暗黑模式。
这会激活完整模式:Sisyphus 主智能体接管,自动分配子任务给专业代理,并行执行(后台映射代码库、深度探索、自动重构等),直至任务 100% 完成。
三、任务调度与插件组件作用机理
1. 整体执行流程
用户输入 → 消息钩子 → 插件拦截 → 模型调度 → 工具/MCP调用 → 结果返回2. 插件核心接管方式(以 OMO 为例)
(1)生命周期 Hook 拦截
OpenCode 暴露全生命周期钩子,插件可注册并设置最高优先级:
- 消息预处理:改写 / 增强用户输入
- 参数拦截:动态调整模型参数
- 响应后处理:优化、补全、自动续跑 执行顺序:高优插件 → 原生逻辑 → 普通插件
(2)Provider 优先级覆盖
插件可注册自定义 Provider,优先级高于原生:
原生请求模型 → 优先路由至插件 Provider → 插件完成调度(3)Agent/Skill 优先级
加载优先级:
项目插件内置 → 全局插件内置 → 项目静态 → 全局静态3. 两种工作模式
(1)普通模式(无 ulw)
- 插件增强式工作
- 不阻断原生流程
- 自动路由、基础拆分、质量优化
(2)Ultrawork 模式(ulw)
- 插件完全接管
- 跳过原生单 Agent 逻辑
- 多智能体并行、全流程编排:规划→编码→测试→验证
4. 多插件管理规则
- 同一类型调度插件(OMO、OMI)不可同时启用,避免冲突
- 通过
opencode.json的plugins数组注释切换启用状态 - 插件目录相互独立,配置互不污染