目录

Oh-My-OpenAgent 源码剖析

本系列文章旨在通过阅读 Oh-My-OpenAgent 源码,理解如何基于 OpenCode 构建复杂的多智能体编排系统。

系列目录

序号文章状态
01导读已完成
02架构概览 — 插件架构与初始化流程已完成
03插件接入 — Hook 系统与 OpenCode 集成已完成
04多智能体系统 — 11 个专业化 Agent 与分类编排已完成
05生命周期钩子 — 52 个 Hook 的三层架构已完成
06工具系统 — 26 个扩展工具已完成
07技能系统 — 8 个内置 Skill 与四层发现机制已完成
08配置系统 — Zod v4 Schema 与多层合并已完成
09后台任务管理 — 并发控制与 Tmux 集成已完成
10MCP 集成 — 三层架构与 OAuth 支持已完成
11内置命令 — 8 个复杂工作流命令已完成
12Prompt 前缀抖动 — 工具注册与 Hook 注入对缓存的影响已完成

项目定位

Oh-My-OpenAgent(简称 OMO)是一个基于 OpenCode 构建的插件系统,它的核心目标是:将单个 AI Agent 改造成一个协调的开发团队

OpenCode (单 Agent)
  └── Oh-My-OpenAgent (插件)
        ├── 11 个专业 Agent (Sisyphus 主协调、Hephaestus 深工作者、Prometheus 战略规划...)
        ├── 52 个生命周期 Hook
        ├── 26 个扩展工具
        ├── 8 个内置 Skill
        └── 3 层 MCP 架构

与 OpenCode 的核心差异

维度OpenCodeOh-My-OpenAgent
Agent 数量7 个(build/plan/explore/general…)11 个专业 Agent
Agent 协作Session 树(父子隔离)分类委托 + Intent Gate
Hooks基础 Plugin Hooks52 个三层 Hook
工具26 个原生工具26 + 扩展工具
Skill无内置8 个内置 Skill
MCP基础 MCP 客户端三层 MCP 架构 + OAuth
后台任务Session 子任务BackgroundAgent + 并发控制
编排方式会话树Sisyphus 主协调者 + 分类委托

为什么研究 Oh-My-OpenAgent

  • 理解如何在已有 Agent 框架上构建复杂编排层
  • 学习 Effect 框架 + Plugin Hook 的可扩展性设计
  • 掌握多模型编排的最佳实践
  • 理解 Skill 嵌入 MCP 的创新架构

源码位置

本系列分析的源码位于:/mnt/e/code/cc/omo-code

omo-code/src/
├── index.ts           # 插件入口
├── agents/           # 11 个 Agent 定义
├── tools/           # 26 个扩展工具
├── hooks/           # 52 个生命周期钩子
├── features/        # 19 个功能模块
├── mcp/             # 3 个内置 MCP
├── config/          # Zod v4 Schema (27 个文件)
└── cli/             # CLI 工具

持续更新中…