近期,我在探索 OpenCode 开发生态时,遇到了两款风格迥异却同样引人注目的扩展方案:Oh My OpenCode 与 Superpowers。
前者是一个功能强大、架构复杂的 TypeScript 插件,像是为 AI 量身打造的“IDE”——提供智能体编排、LSP 集成、Tmux 后台管理、多模型调度等工程级能力;后者则更像是一本“AI 开发方法论”,以极简的 Markdown 技能库,强制 TDD、设计审查、子代理驱动等开发规范,轻量却极具纪律性。
一个是工程化的编排系统,一个是流程化的行为规范。它们看似方向不同,实则互为补充。
本篇文章将从架构、智能体模型、开发流程、配置方式、扩展性等多个维度,对比 Oh My OpenCode 与 Superpowers,研究如何在实际开发中做出更合适的选择,也探讨两者是否有可能走向融合。
一、项目定位对比
| 维度 | Oh My OpenCode (OmO) | Superpowers |
|---|---|---|
| 项目类型 | OpenCode 插件 (TypeScript) | 多平台技能库 (Markdown) |
| 核心定位 | AI 智能体编排框架 | 软件开发工作流规范 |
| 技术实现 | 代码密集型 (160k+ LOC) | 文档密集型 (Markdown + 少量脚本) |
| 架构哲学 | 功能扩展 | 行为规范 |
| 部署方式 | npm 包 + 二进制分发 | Git 仓库 + 符号链接 |
| 版本 | v3.11.0 | v5.0.6 |
1. OMO编排流程
Oh-my-opencode搭建一套多智能体协同系统,为我们的需求开发做流程保证:从理解到设计,从规划到拆解,从开发到验证,一步一步帮我们实现脑海中的想法。之前我用OmO开发了一个微信小程序,感兴趣的同学可以看一下:用 OpenCode 开发"古今地图"微信小程序实战记录
2. Superpowers规范行为
Superpowers使用串联的技能链路规范软件开发行为细则,防止大模型在开发过程中天马行空的发散思维。它是Harness Engineering的一种典型实现,Harness Engineering (驾驭模型) 是指用工程手段约束AI行为的方法论,感兴趣的同学可以看看这篇文章的详细介绍:从Prompt到Harness:AI Agent四代工程化体系演进与三种智能体范式升级
二、架构模式对比
1. 核心架构范式
Oh My OpenCode - 插件架构
digraph omo_arch {
rankdir=TB;
Plugin [label="OhMyOpenCodePlugin", shape=box, fillcolor="[#ffcccc]()"];
Config [label="loadPluginConfig()\nJSONC + Zod", shape=box];
Managers [label="createManagers()\nTmux/Background/SkillMCP", shape=box];
Tools [label="createTools()\n26 Tools", shape=box];
Hooks [label="createHooks()\n48 Hooks", shape=box];
Interface [label="createPluginInterface()\n8 OpenCode Handlers", shape=box];
Plugin -> Config -> Managers -> Tools -> Hooks -> Interface;
}
Superpowers - 技能声明架构
digraph sp_arch {
rankdir=TB;
Skills [label="SKILL.md 集合\n15+ 技能", shape=box, fillcolor="[#ccffcc]()"];
Frontmatter [label="YAML Frontmatter\nname + description", shape=box];
Workflow [label="Markdown 工作流程\n强制行为规则", shape=box];
Hooks [label="平台钩子\nsession-start 注入", shape=box];
Agent [label="代理定义\ncode-reviewer.md", shape=box];
Skills -> Frontmatter -> Workflow;
Hooks -> Skills;
Agent -> Skills;
}
2. 架构差异详解
| 架构维度 | Oh My OpenCode | Superpowers |
|---|---|---|
| 扩展机制 | 运行时插件注入 | 声明式技能文档 |
| 配置方式 | JSONC 多级配置 (项目→用户→默认) | Markdown Frontmatter |
| 行为控制 | 钩子系统 (48 lifecycle hooks) | 技能触发规则 (强制调用) |
| 状态管理 | BackgroundManager, TmuxSessionManager | 无状态,纯文档驱动 |
| 代码组织 | 模块化 TypeScript (工厂模式) | 扁平 Markdown 目录 |
三、智能体/技能系统对比
1. 智能体模型
Oh My OpenCode - 分层智能体编排
// 11 个内置智能体,模型特定优化
interfaceAgentFactory {
(model: string): AgentConfig;
mode: "primary" | "subagent" | "all";
}
// 智能体分层
- Sisyphus (主编排器): ClaudeOpus4.6 / KimiK2.5
- Hephaestus (深度工作): GPT-5.4
- Oracle (架构): ClaudeSonnet4.6
- Explore (快速搜索): ClaudeHaiku4.5
// ... 共 11 个
Superpowers - 子代理驱动开发
<!-- 无代码定义,纯提示工程 -->
# 实现者子代理
- 使用最便宜能处理任务的模型
- 4 种状态: DONE / DONE_WITH_CONCERNS / NEEDS_CONTEXT / BLOCKED
- 自审查 → 规格审查 → 代码质量审查
2. 技能/工具对比
| 特性 | Oh My OpenCode | Superpowers |
|---|---|---|
| 技能数量 | 26 Tools + Builtin Skills | 15 Skills |
| 技能类型 | 代码工具 (LSP/AST/Grep) | 流程规范 (TDD/调试/计划) |
| 技能定义 | TypeScript 工厂函数 | Markdown + YAML Frontmatter |
| 技能发现 | 运行时注册 | 文件系统扫描 |
| 技能调用 | 工具调用 (Tool Use) | Skill 工具加载 |
| 强制性 | 可选调用 | "必须调用,无选择" |
3. 具体映射
OmO 工具示例:
// 代码级实现
lsp_goto_definition,
lsp_find_references,
ast_grep, // 模式匹配
glob, // 文件搜索
delegate_task, // 任务委派
background_output, // 后台管理
Superpowers 技能示例:
<!-- 文档级规范 -->
brainstorming # 设计探索流程
test-driven-development # TDD 红-绿-重构循环
systematic-debugging # 四阶段调试法
writing-plans # 实现计划编写
subagent-driven-development # 子代理编排
四、多平台支持对比
1. 平台覆盖
| 平台 | Oh My OpenCode | Superpowers |
|---|---|---|
| Claude Code | ✅ 主要目标 | ✅ 原生支持 |
| OpenCode | ✅ 插件架构 | ✅ JS 插件适配,SKILL加载 |
| Cursor | ✅ 兼容 | ✅ 钩子适配 |
| Codex | ✅ 兼容 | ✅ 符号链接 |
| Gemini CLI | ❌ | ✅ 扩展系统 |
2. 适配机制对比
Oh My OpenCode - 统一插件层
// src/plugin-interface.ts
// 8 个 OpenCode 钩子处理器统一抽象
return {
tool: tools,
"chat.params": createChatParamsHandler(),
"chat.headers": createChatHeadersHandler(),
"chat.message": createChatMessageHandler(),
"experimental.chat.messages.transform": createMessagesTransformHandler(),
config: managers.configHandler,
event: createEventHandler(),
"tool.execute.before": createToolExecuteBeforeHandler(),
"tool.execute.after": createToolExecuteAfterHandler(),
};
Superpowers - 平台特定配置
.claude-plugin/plugin.json # Claude Code 插件
.cursor-plugin/plugin.json # Cursor 插件
.opencode/plugins/superpowers.js # OpenCode JS 插件
.codex/INSTALL.md # Codex 安装指南
gemini-extension.json # Gemini 扩展
关键差异: OmO 通过运行时适配层统一各平台,Superpowers 通过多份配置文件分别适配。
五、开发工作流对比
1. 任务执行模型
Oh My OpenCode - 后台智能体编排
// BackgroundManager 实现
classBackgroundManager {
// 5 并发每模型
// 熔断器保护
// 父会话通知
asyncdispatchTask(task: Task): Promise<Result> {
// 创建隔离子会话
// Tmux 面板管理
// 结果回调
}
}
Superpowers - 子代理驱动开发 (SDD)
# 每个任务的 3 阶段审查
1.**实现者子代理**
- 接收完整任务文本 (不读取文件)
- 实施 + 测试 + 提交 + 自审查
- 报告: DONE / DONE_WITH_CONCERNS / NEEDS_CONTEXT / BLOCKED
2. **规格合规审查**
- 确认符合规格要求
- 不通过 → 返回实现者修复
3. **代码质量审查**
- 仅规格通过后执行
- 不通过 → 返回实现者修复
2. 工作流程对比表
| 阶段 | Oh My OpenCode | Superpowers |
|---|---|---|
| 设计 | /start-work | brainstorming |
| 计划 | ultrawork | writing-plans |
| 执行 | delegate_task | subagent-driven-development |
| 审查 | call_omo_agent | 两阶段子代理审查 |
| TDD | 配置启用 | test-driven-development |
3. 核心流程图对比
Oh My OpenCode - 自动化编排
digraph omo_flow {
rankdir=LR;
User [label="用户请求", shape=ellipse];
Sisyphus [label="Sisyphus\n主编排器", shape=box, fillcolor="[#ffcccc]()"];
Delegate [label="delegate_task\n分类委派", shape=box];
Subagent [label="子智能体执行\n(Tmux/后台)", shape=box];
Result [label="结果汇总", shape=ellipse];
User -> Sisyphus -> Delegate;
Delegate -> Subagent -> Result;
// 自动分类
Category [label="类别映射:\nvisual-engineering\ndeep\nquick\nultrabrain", shape=note];
Delegate -> Category [style=dashed];
}
Superpowers - 强制流程
digraph sp_flow {
rankdir=TB;
User [label="用户请求", shape=ellipse];
SkillCheck [label="技能检查\n强制调用", shape=diamond, fillcolor="[#ffffcc]()"];
Brainstorm [label="brainstorming\n设计探索", shape=box];
Plan [label="writing-plans\n编写计划", shape=box];
Execute [label="subagent-driven-dev\n子代理执行", shape=box];
Review [label="两阶段审查\n规格+质量", shape=box];
User -> SkillCheck;
SkillCheck -> Brainstorm [label="适用"];
Brainstorm -> Plan -> Execute -> Review;
// 强制规则
HardGate [label="硬门槛:\n无设计不编码\n无测试不实现", shape=note];
SkillCheck -> HardGate [style=dashed];
}
六、配置系统对比
1. 配置方式
Oh My OpenCode - 结构化配置
// .opencode/oh-my-opencode.jsonc
{
"agents":{
"sisyphus":{
"model":"claude-opus-4-6",
"temperature":0.7,
"fallback_models":["kimi-k2.5"]
}
},
"categories":{
"visual-engineering":{
"models":["gpt-5.4","claude-sonnet-4-6"]
}
},
"disabled_hooks":["auto-slash-command"],
"hashline_edit":true,
"tmux":{
"enabled":true,
"layout":"main-vertical"
}
}
Superpowers - 文档即配置
---
name: test-driven-development
description: Use when implementing any feature or bugfix, before writing implementation code
---
<!-- 配置 = 技能内容 -->
# TDD 技能内容 = 行为规范
2. 配置对比表
| 配置维度 | Oh My OpenCode | Superpowers |
|---|---|---|
| 格式 | JSONC (结构化) | Markdown YAML Frontmatter |
| 层级 | 项目 → 用户 → 默认 | 单一层级 |
| 验证 | Zod v4 Schema | 无 (文档约定) |
| 热重载 | 重启生效 | 实时 (文件系统) |
| 粒度 | 字段级覆盖 | 整文件替换 |
七、代码质量保障对比
1. 测试策略
Oh My OpenCode
// 1. Bun 测试框架
// 2. 模拟密集型测试隔离运行
// 3. given/when/then 风格
// 4. 98 个 barrel export 文件测试
describe("[#given]() 某条件", () => {
describe("[#when]() 某操作", () => {
describe("[#then]() 某结果", () => {
test("应该...", () => {
// 断言
});
});
});
});
Superpowers
# 1. 子代理压力测试
# 2. 观察违规并记录合理化
# 3. 编写技能解决问题
# 4. 验证合规性
## 测试流程 (TDD 应用于文档)
- RED: 创建压力场景,观察 AI 违规
- GREEN: 编写技能修复
- REFACTOR: 发现新违规方式,填补
2. 代码审查机制
| 机制 | Oh My OpenCode | Superpowers |
|---|---|---|
| 审查触发 | call_omo_agent | 每个任务后自动触发 |
| 审查者 | code-reviewer | 专用子代理 (spec-reviewer, code-quality-reviewer) |
| 审查阶段 | 单次 | 两阶段 (规格合规 → 代码质量) |
| 审查内容 | 架构、质量、安全 | 规格对齐、代码质量 |
| 阻塞规则 | 配置决定 | 关键问题必须解决 |
八、扩展性对比
1. 添加新功能
Oh My OpenCode
// 1. 添加新工具
// src/tools/new-tool/index.ts
exportfunctioncreateNewTool(args: Args): ToolDefinition {
return {
name: "new_tool",
description: "...",
parameters: z.object({...}),
handler: async (params) => { ... }
};
}
// 2. 在 tool-registry.ts 注册
createToolRegistry({
...createNewTool(args)
});
// 3. 添加对应钩子 (可选)
// src/hooks/new-hook/
Superpowers
<!-- 1. 创建新技能目录 -->
skills/new-skill/
├── SKILL.md # 主文档
└── helper.js # 可选脚本
<!-- 2. SKILL.md 结构 -->
---
name: new-skill
description: Use when [触发条件]
---
# 技能名称
## Overview
...
## When to Use
...
2. 扩展对比
| 扩展类型 | Oh My OpenCode | Superpowers |
|---|---|---|
| 新工具 | TypeScript 代码 + 注册 | 不适用 (纯流程) |
| 新技能 | BuiltinSkill 接口 | Markdown 文档 |
| 新钩子 | 钩子工厂 + 注册 | session-start 钩子 |
| 新代理 | AgentFactory 实现 | Markdown 代理定义 |
| 门槛 | 需 TypeScript 开发 | 仅需 Markdown |
九、技术债务与维护
1. 项目复杂度
| 指标 | Oh My OpenCode | Superpowers |
|---|---|---|
| 代码行数 | 160,000+ LOC | ~2,000 LOC (脚本) |
| 文件数量 | 1,473 TypeScript | ~50 Markdown |
| 依赖数量 | 20+ npm 依赖 | 0-1 (可选 ws for test) |
| 构建步骤 | Bun build + 二进制编译 | 无需构建 |
| 测试复杂度 | 高 (模拟、集成) | 低 (压力测试) |
2. 维护模式
Oh My OpenCode
- 需要持续跟进 OpenCode API 变化
- TypeScript 类型维护
- 平台二进制文件构建 (12 平台)
- 依赖更新 (Zod, Bun, 等)
Superpowers
- 技能文档迭代
- 平台配置适配
- 头脑风暴服务器维护 (零依赖,自包含)
十、架构差异
1. 设计哲学
| 维度 | Oh My OpenCode | Superpowers |
|---|---|---|
| 核心问题 | "如何编排多个 AI 智能体?" | "如何让 AI 遵循最佳实践?" |
| 解决方案 | 提供编排工具和基础设施 | 定义行为规范和强制流程 |
| 用户角色 | 配置管理者 | 流程遵循者 |
| 灵活性 | 高 (可配置禁用) | 低 (强制技能调用) |
| 自动化程度 | 高 (自动模型选择) | 中 (手动技能触发) |
2. 互补性分析
digraph synergy {
rankdir=TB;
OmO [label="Oh My OpenCode\n编排基础设施", shape=box, fillcolor="[#ffcccc]()"];
SP [label="Superpowers\n行为规范", shape=box, fillcolor="[#ccffcc]()"];
User [label="用户", shape=ellipse];
// 关系
User -> SP [label="请求开发"];
SP -> OmO [label="使用 TDD/调试技能\n调用 delegate_task"];
OmO -> SP [label="后台执行\n遵循 Superpowers 流程"];
// 协同
Synergy [label="协同效应:\nOmO 提供执行基础设施\nSP 提供行为纪律", shape=note];
OmO -> Synergy -> SP [style=dashed];
}
潜在集成点:
- Superpowers 的 subagent-driven-development 可利用 OmO 的 delegate_task 工具
- OmO 的 Tmux 集成可增强 Superpowers 的头脑风暴服务器
- OmO 的 Hashline 编辑可用于 Superpowers 的计划执行
选择建议
选择 Oh My OpenCode 如果...
- 你需要多模型自动编排 (Claude/GPT/Gemini/Kimi 自动切换)
- 你需要高级开发工具 (LSP、AST-Grep、Tmux 集成)
- 你需要后台并行执行能力
- 你愿意投入配置和调优
- 你使用 OpenCode/Claude Code 作为主要平台
选择 Superpowers 如果...
- 你需要强制 TDD 流程
- 你需要结构化开发工作流 (设计→计划→执行→审查)
- 你希望零配置即可开始
- 你重视文档和流程规范
- 你使用 多平台 (Claude/Cursor/Codex/Gemini)
同时使用
两者可以互补使用:
(注:安装不行就安装完成superpowers后手动安装本地oh-my-opencode)
- 使用 Superpowers 定义行为规范 (TDD、调试流程)
- 使用 OmO 提供执行基础设施 (多模型、后台任务、高级工具)
总结
| 对比维度 | Oh My OpenCode | Superpowers |
|---|---|---|
| 架构类型 | 运行时插件 (命令式) | 声明式技能 (文档式) |
| 核心能力 | 智能体编排 + 高级工具 | 行为规范 + 工作流定义 |
| 实现复杂度 | 高 (160k LOC) | 低 (Markdown) |
| 配置需求 | 高 (JSONC 多级配置) | 低 (即装即用) |
| 平台支持 | OpenCode/Claude Code 为主 | 多平台原生支持 |
| TDD 支持 | 配置启用 | 强制技能 |
| 扩展门槛 | TypeScript 开发 | Markdown 编写 |
| 最佳场景 | 复杂多智能体项目 | 规范驱动的团队开发 |
本质区别:
- Oh My OpenCode 是 AI 的IDE - 提供工具、编排、环境
- Superpowers 是 AI 的方法论 - 定义流程、规范、最佳实践
—End—
本文作者:Chaiys
本文原载:公众号“木昆子记录AI”