AI使用笔记 18

oh-my-openagent(原 oh-my-opencode)专用 Agent 详解

oh-my-openagent(原 oh-my-opencode)专用 Agent 详解

oh-my-openagent(原 oh-my-opencode)是一个多 Agent 编排插件,内置 11 个专用 Agent,覆盖从意图解析、战略规划、深度实现到代码搜索的完整开发链路。这 11 个 Agent 按职责分为四层:主编排层、只读顾问层、搜索专家层和特殊能力层。

架构总览

Agent 模式 默认模型 核心职责 可写文件
Sisyphus primary claude-opus-4-7 主编排、意图解析、任务委派
Hephaestus primary gpt-5.5 自主深度端到端实现
Prometheus primary claude-opus-4-7 战略规划,只写 .md 计划文件 .md
Atlas primary claude-sonnet-4-6 执行已有计划文件中的 todo 列表
Oracle subagent gpt-5.5 架构/调试只读咨询
Metis subagent claude-sonnet-4-6 规划前需求分析
Momus subagent gpt-5.5 计划文件审查
Explore subagent gpt-5.4-mini-fast 内部代码库搜索
Librarian subagent gpt-5.4-mini-fast 外部文档/开源代码搜索
Multimodal-Looker subagent gpt-5.5 PDF/图片/架构图分析
Sisyphus-Junior subagent claude-sonnet-4-6 category 委派的轻量执行器

主编排层

主编排层的四个 Agent 都以 primary 模式运行,可以直接接收用户请求并写入文件。

Sisyphus — 主编排器

默认模型:claude-opus-4-7 max

Sisyphus 是整个系统的入口,名字来源于神话中每天推石头的西西弗斯——代码应与高级工程师无异。它负责接收用户请求、解析意图,并将专项工作委派给合适的子 Agent。

Phase 0 — Intent Gate(强制)

每条消息必须先分类意图并口头宣告路由决策,分为五类:

意图类型 说明 处理方式
Trivial 极简单任务 自己处理
Explicit 明确实现请求 进入 Context-Completion Gate
Exploratory 探索性问题 委派 Explore/Librarian
Open-ended 开放性问题 咨询 Oracle 或 Metis
Ambiguous 意图不明 先澄清再路由

Phase 0.5 — Turn-Local Intent Reset:每轮从当前消息重新分类,绝不自动延续"实现模式"。

Context-Completion Gate:只有同时满足以下三条才可进入实现阶段——消息含明确实现动词、范围具体、无阻塞依赖。

委派优先原则:核心理念是"DELEGATE. WORK YOURSELF ONLY WHEN IT IS SUPER SIMPLE"。委派任务时必须包含六段结构:TASK / EXPECTED OUTCOME / REQUIRED TOOLS / MUST DO / MUST NOT DO / CONTEXT

并行搜索:默认并行启动 Explore 和 Librarian(始终 run_in_background=true)做后台代码搜索。

失败保护:连续失败 3 次后,停止所有编辑 → 回滚 → 记录 → 强制咨询 Oracle。

硬性约束方面,Sisyphus 绝不使用 as any@ts-ignore 抑制类型错误,绝不在未被要求时提交代码,bugfix 遵循最小化修复原则,绝不同时重构。输出风格上无前言,直接开始工作,使用 todo 追踪进度,不总结已做的事。


Hephaestus — 深度执行者

默认模型:gpt-5.5 medium,maxTokens: 32000

Hephaestus 灵感来自 AmpCode deep mode,专为端到端任务完成设计。它的核心原则是不提前停止、不中途确认、完整交付。

实施前会彻底探索代码库,使用 Explore/Librarian 获取全面上下文,然后一次性完成任务。它根据模型路由到不同 prompt 构建器(gpt-5-5 / gpt-5-4 / gpt-5-3-codex / 默认)。

有几点限制需要注意:禁止使用 call_omo_agent,仅支持 OpenAI/GitHub Copilot/Venice/Vercel 等 GPT 系列模型(requiresProvider 限制),不适用于需要多 Agent 编排的场景(那是 Atlas 的职责)。

适合 Hephaestus 的场景:需要深度理解代码库后才能实现的复杂功能、跨多个文件的重构任务、需要完整端到端实现的新功能。


Prometheus — 战略规划师

默认模型:claude-opus-4-7 max

Prometheus 是战略规划顾问,核心约束是只写计划,绝不实现。它将所有"做 X"的请求解释为"为 X 创建工作计划"。

Interview Mode:通过提问收集需求,理解用户真实意图,再生成计划。

生成的计划文件保存在 .sisyphus/plans/*.md,包含任务分解(todo 列表)、依赖关系、验证标准(Agent 可执行的命令,不要求用户手动操作)和预估工作量。

文件写入限制通过 prometheus-md-only hook 在路径级别强制执行,只能写 .md 文件。

针对不同模型,Prometheus 有差异化的 prompt 策略:

模型 Prompt 策略
GPT XML 标签原则驱动
Gemini 激进工具调用强制 + 思考检查点
Claude(默认) 模块化组合 prompt

Prometheus 在整个规划链路中的位置:

text
用户请求 → Metis(需求分析)→ Prometheus(生成计划)→ Momus(审查计划)→ Atlas(执行计划)

Atlas — 计划执行器

默认模型:claude-sonnet-4-6,temperature: 0.1

Atlas 是 Master Orchestrator,专门执行 Prometheus 生成的 .sisyphus/plans/*.md 计划文件,通过 task() 协调专业 Agent 完成 todo 列表中的所有任务。

工作方式:读取 todo 列表路径 → 按顺序或并行分发任务 → 验证结果 → 标记完成,持续执行直到 todo 列表全部完成。支持顺序和并行任务执行,跨多个专业 Agent 协调。

Atlas 自身 deny task / call_omo_agent,不能再嵌套委派。

触发条件:用户提供 .sisyphus/plans/{name}.md 路径,或多任务需要多 Agent 编排。

Atlas 与 Sisyphus 的区别:

维度 Sisyphus Atlas
输入 用户自然语言请求 已有的计划文件
职责 动态规划 + 委派 执行已有计划
灵活性 高(动态调整) 低(严格按计划)

只读顾问层

只读顾问层的三个 Agent 全部 deny write / edit / apply_patch,只提供分析和建议,不修改任何文件。

Oracle — 架构顾问

默认模型:gpt-5.5 high,temperature: 0.1

Oracle 是只读战略技术顾问,高 IQ 推理专家,在复杂分析或架构决策时被主 Agent 调用。

核心决策框架:

原则 说明
简单偏向 最少复杂度满足实际需求,抵制假设性未来需求
利用现有 优先修改现有代码,新依赖需明确理由
开发者体验优先 可读性 > 理论性能
单一路径 只给一个主要建议,不提供多选项
匹配深度 简单问题简短回答,不过度分析

输出格式(三层结构)

  • Essential(必须输出):Bottom line(2-3 句结论)+ Action plan(≤7 步行动计划)+ Effort estimate(Quick/Short/Medium/Large)
  • Expanded(相关时输出):Why this approach(≤4 条理由)+ Watch out for(≤3 条风险)
  • Edge cases(适用时输出):Escalation triggers + Alternative sketch

Claude 模型启用 thinking(budgetTokens: 32000),GPT 模型 reasoningEffort: "medium"。

适用场景:复杂架构决策(技术选型、设计模式)、2+ 次修复失败后的深度调试、安全漏洞分析、性能瓶颈诊断。


Metis — 预规划顾问

默认模型:claude-sonnet-4-6,temperature: 0.3,thinking budgetTokens: 32000

Metis 以希腊智慧女神命名,在 Prometheus 规划前介入,识别隐藏意图和未说明需求,防止 AI 过度工程失败模式。

工作流程(强制顺序)

Phase 0 — 意图分类(MANDATORY FIRST STEP,绝不跳过)

类型 说明
Refactoring 代码重构,不改变行为
Build from Scratch 全新构建
Mid-sized 中等规模功能
Collaborative 需要用户协作确认
Architecture 架构级变更
Research 调研分析

Phase 1 — 意图特定分析:每种意图类型有专属工具建议和问题清单。

Phase 2 — 输出:意图分类 + 预分析发现 + 用户问题 + 风险识别 + Prometheus 指令(MUST/MUST NOT/PATTERN/TOOL)。

硬性约束:绝不跳过意图分类,绝不提问通用问题(如"What's the scope?"),QA/验收标准必须是 Agent 可执行的命令,不能要求用户手动操作。


Momus — 计划审查员

默认模型:gpt-5.5 xhigh,temperature: 0.1

Momus 以希腊讽刺之神命名(连神的作品都要挑剔),审查 .sisyphus/plans/*.md 计划文件的可执行性。

核心问题只有一个:有能力的开发者能否不卡壳地执行此计划?

审查项固定为四项,不多不少:

检查项 说明
引用验证 引用文件是否存在且内容相关
可执行性 每个任务是否有明确起点
关键阻塞 完全阻止工作的缺失信息或矛盾
QA 场景可执行性 每个任务是否有具体工具+步骤+预期结果

审批偏向宽松:有疑问时批准,80% 清晰就够了,每次拒绝最多列出 3 个阻塞问题,不评价方法是否最优,不提架构意见。

输出格式:[OKAY] + 1-2 句摘要,或 [REJECT] + 1-2 句摘要 + 最多 3 个具体阻塞问题。


搜索专家层

Explore — 内部代码搜索

默认模型:gpt-5.4-mini-fast,temperature: 0.1

Explore 是代码库上下文 grep 专家,回答"X 在哪里实现?"、"哪个文件包含 Y?"等问题。

每次响应必须包含:<analysis> 块(意图分析)、并行执行(≥3 个工具同时启动)、<results> 块(结构化结果,绝对路径 + 答案 + 后续步骤)。

工具选择策略:

场景 工具
语义搜索(定义/引用) LSP 工具
结构模式 ast_grep_search
文本模式 grep
文件模式 glob
历史演变 git 命令

所有路径必须是绝对路径,deny write / edit / apply_patch / task / call_omo_agent,允许额外工具:lsp_symbols、lsp_goto_definition、lsp_find_references、lsp_diagnostics、ast_grep_search。


Librarian — 外部文档搜索

默认模型:gpt-5.4-mini-fast,temperature: 0.1

Librarian 是开源代码库理解专家,专注外部库/文档研究,提供带 GitHub permalink 的证据支撑。

Phase 0 — 请求分类

类型 说明 工具组合
TYPE A(CONCEPTUAL) 概念理解 context7 + websearch + grep_app(并行)
TYPE B(IMPLEMENTATION) 实现参考 gh clone → git rev-parse HEAD → grep/read → 构建 permalink
TYPE C(CONTEXT) 历史背景 gh search issues/prs + git log/blame(并行)
TYPE D(COMPREHENSIVE) 综合研究 全部工具并行(≥6 个调用)

Phase 0.5(TYPE A/D)— 文档发现:官方文档 URL → 版本检查 → Sitemap 发现 → 定向调查。

每个声明必须包含 Claim(结论)、Evidence(带 permalink 的代码块)、Explanation(解释)三部分。每个代码声明必须附带 GitHub permalink,始终使用当前年份搜索,过滤过时结果。

Explore 与 Librarian 的区别:

维度 Explore Librarian
搜索范围 内部代码库 外部开源项目
主要工具 grep、LSP、ast_grep GitHub CLI、Context7、Web Search
输出格式 绝对路径 + 代码片段 GitHub permalink

特殊能力层

Multimodal-Looker — 多模态分析器

默认模型:gpt-5.5 medium,temperature: 0.1

Multimodal-Looker 是媒体文件解析专家,处理 Read 工具无法作为纯文本读取的文件,为主 Agent 节省上下文 token。

工作流程:接收文件路径 + 提取目标描述 → 用 Read 工具加载文件内容 → 只返回相关提取信息,无前言。

仅允许 read 工具(allowlist 模式,其他全部 deny),找不到目标内容时明确说明缺失内容。

适用场景:分析设计稿/原型图、读取 PDF 技术文档、理解架构图/流程图、处理截图中的信息。不适用于源代码/纯文本(用 Read)、需要后续编辑的文件。


Sisyphus-Junior — 轻量执行器

默认模型:claude-sonnet-4-6,temperature: 0.1,maxTokens: 64000

Sisyphus-Junior 是 Sisyphus 的轻量版,由 category 系统动态生成,直接执行委派任务,不再向下委派。

Todo 强迫症(NON-NEGOTIABLE):2 步以上立即创建 todo 列表,逐步标记完成,绝不批量完成,所有 todo 标记完成才算结束。

验证要求:LSP 诊断干净,构建通过。终止规则:首次成功验证后立即停止,不重复验证,最多状态检查 2 次。

硬性约束:deny task(不向下嵌套委派),GPT 模型额外 deny apply_patch,允许 call_omo_agent(可启动 Explore/Librarian),支持 prompt_append 注入领域特定指令(category 定制化)。Claude 模型 thinking budgetTokens: 32000,GPT 模型 reasoningEffort: "medium"。

Sisyphus-Junior 与 Sisyphus 的区别:

维度 Sisyphus Sisyphus-Junior
角色 编排器 执行器
委派能力 ✅ 可以委派 ❌ 不再委派
适用场景 复杂多步骤任务 单一明确任务
定制化 固定行为 category 动态注入
maxTokens 64000

协作流程

标准开发流程

text
用户请求
  └─ Sisyphus(主编排器)
       ├─ [规划流程]
       │    Metis(需求分析 → 生成 Prometheus 指令)
       │      → Prometheus(Interview Mode → 生成计划文件)
       │        → Momus(审查计划 → [OKAY]/[REJECT])
       │          → Atlas(读取计划文件 → 协调执行所有 todo)
       │
       ├─ [深度实现流程]
       │    Hephaestus(深度探索 → 自主端到端实现)
       │
       ├─ [委派执行流程]
       │    Sisyphus-Junior(category 委派 → 直接执行 → 验证)
       │
       ├─ [只读咨询]
       │    Oracle(架构/调试咨询,三层结构输出)
       │    Metis(规划前需求分析)
       │    Momus(计划审查)
       │
       └─ [信息搜索(始终后台并行)]
            Explore(内部代码搜索,≥3 工具并行)
            Librarian(外部文档搜索,permalink 引用)
            Multimodal-Looker(PDF/图片/架构图分析)

失败恢复流程

text
任务失败
  → 第 1-2 次:Sisyphus 自动重试
  → 第 3 次:停止所有编辑 → 回滚 → 记录 → 强制咨询 Oracle → 根据建议重新规划

工具权限速查

Agent read write edit task call_omo_agent LSP ast_grep
Sisyphus
Hephaestus
Prometheus 仅.md 仅.md
Atlas
Oracle
Metis
Momus
Explore
Librarian
Multimodal-Looker
Sisyphus-Junior

感谢阅读,如果这篇文章对你有帮助,欢迎继续浏览同栏目内容。

返回 AI使用笔记