oh-my-opencode 概述

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 处理规划)。
  • 关键词触发完整自动化(如 ultraworkulw),支持后台任务、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.jsonplugins 数组注释切换启用状态
  • 插件目录相互独立,配置互不污染