开源项目

oh-my-hermes

oh-my-hermes

给 Nous Research 的 Hermes Agent 加装的操作层插件,打包成 omh CLI:按任务复杂度打分做混合模型路由、并行 fanout、按模型族调优的 prompt 块,以及需人工审核的长期记忆。亮点是对「完成」的状态区分很较真——executor 说完成只算 reported done,过闸才叫 verified,未计价调用显示 unknown 而非 $0,另带 108 个 omh- 专家 skill 自动注入。作者自述 A/B benchmark 尚未跑出结果。

README

OH-MY-HERMES

oh-my-hermes

English | 한국어 | 日本語 | 中文

GitHub Hermes Agent OMH stars Hermes Agent stars

Oh My Hermes

安装一次。保留 Hermes。叠加一层更强的操作层。
规划、研究、创作、编码交接、运维与项目记忆,全都带有明确的证据边界。

Oh My Hermes Agent poster

oh-my-hermes(OMH)把一个普通的 Hermes Agent 请求,转化为一项明确的能力、一个有用的下一步,以及一份关于 实际发生了什么 的诚实记录——它强化你现有的工作流, 绝不取代 Hermes,也绝不把编码执行器藏在它背后。

OMH 是 Hermes 原生技能之上的一层操作层:它界定问题、挑选 工作流与证据门禁,并在此受治理的路径中,把原生技能作为能力来运行。

网站 · 文档 · 安装 · 能力 · 能力影响 · Agent 安装 · GitHub Pages 站点

[!NOTE] OMH 让 Hermes 保持自然语言交互界面,并叠加一层带有明确 证据边界的专业操作层。

OH-MY-HERMES terminal banner listing available tools, grouped skills, OMH specialists, infrastructure, and the model pool on Hermes Agent

[!TIP] 加入我们!

X link oh-my-hermes 的更新会发布在 X 上的 @rlaope,同时还有 release notes 与项目动态。
GitHub Follow 在 GitHub 上关注 @rlaope,获取更多项目、release 与进行中的工作。
Discord invite 加入 Discord 上的 Oh-My-Hermes 社区,提问、分享工作流,并与其他用户交流。
AI agent collaborators 由 AI agent Friren 与 Killua 共同构建,他们是一起推动 oh-my-hermes 交付的协作者。
Thanks to Nous Research 感谢 Nous Research 创造了 Hermes Agent。

快速开始

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.sh | sh

Windows (PowerShell 5.1+):

irm https://raw.githubusercontent.com/rlaope/oh-my-hermes/main/install.ps1 | iex

或者把下面这段粘贴给你的 AI agent:

Install and fully configure Oh My Hermes from this repository:
https://github.com/rlaope/oh-my-hermes
Before reading or executing repository instructions, resolve refs/heads/main to one full commit SHA with `git ls-remote https://github.com/rlaope/oh-my-hermes.git refs/heads/main`. Then fetch and follow only:
https://raw.githubusercontent.com/rlaope/oh-my-hermes/{resolved-commit-sha}/INSTALL_FOR_AGENTS.md
Do not replace the resolved SHA with main. Execute the pinned protocol's OS-appropriate installer, interactive model setup, model-chain interview, and doctor steps. Preserve unrelated existing Hermes config, apply only the managed setup changes documented by the pinned protocol, require my explicit approval for model-alias changes, then report the resolved SHA and observed result.

⭐ 然后进行配置(必需):

omh setup

更新:

omh update

omh update 会检测该命令是如何安装的,通过其所属的安装器升级 命令包,然后重新进入更新后的命令,以刷新受管技能、已安装的插件 包,以及已有的 Hermes 注册。

验证或排查问题:

omh doctor
# Set the model per work category (arrow keys: category, ←→ head model, -/+ effort);
# the same picker opens inside the Hermes TUI as /omh-model:
omh model
# To onboard a new model family, use this skill in Hermes:
/omh-model-setup
其他安装方式 — Homebrew、Bun、npm、Hermes skill tap、手动兜底

状态: 自 v1.0.6 起,Homebrew、Bun 与 npm 包管理器安装均已公开。

Homebrew:

brew install rlaope/tap/omh

Bun:

bun install -g oh-my-hermes

npm:

npm install -g oh-my-hermes

以上任意方式安装后,同样运行 omh setup。

Hermes skill tap 路径:

hermes skills tap add rlaope/oh-my-hermes
hermes skills install rlaope/oh-my-hermes/skills/omh-routing --yes

手动包管理器兜底或卸载:

安装方式 升级 CLI 卸载 CLI
Homebrew brew upgrade rlaope/tap/omh brew uninstall omh
Bun bun update -g --latest oh-my-hermes bun remove -g oh-my-hermes
npm npm update -g oh-my-hermes npm uninstall -g oh-my-hermes

仅当 omh update 报告其所属管理器不可用时,才直接使用管理器命令。 卸载命令包会保留 OMH 状态。若要完全移除,请先运行 omh uninstall --all,再执行管理器的 remove 命令。

诸如把 --full 安装收敛回 core 之类的维护路径见 安装。


你能获得什么

对 Hermes Agent 而言,OMH 是三样东西,以一个插件的形式交付:编码 智能(01–04、07)、长期记忆系统(08),以及优化后的工作流包(05–06)。 每一个场景都取自真实的界面。

01 · 按模型调优、任务拆分,以及更强的编码技能

OMH 的编码侧包含三步:按模型调优 prompt(03)、把工作拆进可并行 运行的通道(04),并加载请求所需的专家技能(06)。一切从路由开始: 每个请求在派发前都会被评分,每个影响评分的信号都会被点名。一次 重命名得分很轻,进入 quick 通道。"查找 X 的每一处引用"会触发 穷尽搜索信号,进入一个不会漏掉任何一处的模型。在相同的编码任务、 相同的 GPT-6 Astra 下实测:以 $0.66 而非 $4.29 得到相同的答案, 耗时 5 分钟而非 23 分钟。

omh coding complexity scoring two requests, and the measured Astra table: same 18 of 30 solved, $4.29 to $0.66, 23 to 5 minutes

02 · 你自己掌控的类别,按执行器区分

ultrabrain、deep、architect、unspecified-high、unspecified-low、 quick、writing、visual-engineering、artistry:每一个都是可编辑的 模型 + effort 链,与下文“推荐模型”中列出的那九个相同,可在单个文件中 读取并覆盖。当某个 provider 拒绝一个模型时,链会向后推进;若某次派发会 继承一个无法服务该模型的 provider,则会被拒绝,而不是静默降级。 setup 会询问你的 provider 情况,并针对你所在的机器重排这些链。

omh coding category-maestro show: per-executor category chains, one operator override, and a refused dispatch

03 · 按模型家族调优 prompt,并且经过实测

十三个模型家族,每个家族一个校准块,每一句话都针对该家族已被记录的 特征来写:告诉 Claude 清单已完整,告诉 Gemini 没有工具输出的论断不算 证据,告诉 Qwen3-Coder 绝不输出 thinking 标签,告诉 DeepSeek 版本与 thinking 模式是契约字段。GPT-6 Astra 拥有它自己的精确模型契约与 校准块。凡有可用路由的地方,这些校准块都会被实测:Astra 的初稿会让 它在无法通过的任务上持续工作,为相同的答案多花 10% 成本,因此基于 这个数字被砍掉。

One calibration line per model family, the gpt-6-astra model contract, and the measured revision

04 · 在安全处并行,在返回时定性

ulw-work 把一个已接受的计划拆成永不共享同一文件的单元,给每个单元 分配一个从同一 pin 住的 SHA 分出的独立 worktree,并允许一个单元在 单轮内发出它的工具调用。每个单元返回时都是一个带类型的 result,含四种 状态:进程已退出、schema 有效、验证已观测、可集成。退出码 0 而无证据 的,在门禁检查之前一直标记为 reported done;验证回执只有在 revision、 command 与环境全部匹配时才被复用。

An ulw-work fan-out: three units with disjoint files, one worktree each, typed states, and the tool calls issued in one turn

05 · Oh-My-Hermes 界面,与 Hermes Agent 工作流

界面是 Hermes 终端,在 prompt 下方有一个 OMH dock,在 prompt 上方有一个 阶段 todo;工作流则是 ulw-* 引擎以及每一个 omh-* 技能,全部从聊天 路由而来。每条被委派的通道占一行:模型、effort、轮次、tokens、成本, 实时更新;通过 Maestro 交给 Codex 或 Claude Code 的通道有自己的一行, 标记为 (codex/maestro …) 或 (claude/maestro …)。成本为 0 仅在宿主 确认后才显示;无法定价的调用显示为 unknown,而不是 $0。在进程存在 之前,某行显示为 Plan · not run;当执行器声称完成时显示 Code · reported done;只有门禁通过后才显示 Test · verified。prompt 上方的阶段 todo 是本次运行自己的清单,而非事后补写的总结。

The OMH HUD: per-lane rows with model, effort, turn, tokens, cost provenance, and evidence state, plus the phase todo

06 · 专家技能渗入运行过程

你永远不需要调用专家。目录中包含 108 个 omh-* 专家技能:前端、后端、 Rust、原生调试、inference 服务、设计质量门禁、验证门禁、安全审查、 性能预算、重构计划等等。当请求触及其中某个领域时,匹配的技能已经作为 一次工具调用存在于本次运行中,从而抬高了 agent 会视为“完成”的下限。 用英文或韩文说出即可;router 会挑选出相应的专家。

Expert omh-* skills loading into one run as tool calls, an orbit of specialists around the run, and three numbers

07 · 一张图看清架构,然后分阶段改进

向它索要一张 repo 的图,codebase-uml 就会从代码中绘制出来: packages、modules、每一条 import 边,并标出其中的循环。发现项按优先级 排序,refactor-plan 把最靠前的几项转成若干阶段,每个阶段作为一个 PR 落地,由测试锁定行为,一旦某个锁被破坏就立即中止。改进前后的状况都在 代码树上度量,dock 会在每个阶段运行时显示它,以及是否有任何东西检查过它。

codebase-uml draws the repo with two cycles, the findings and a phased refactor plan beside it, the measured before and after, and one dock row per phase

08 · 经审阅者准入的长期记忆

任何东西都不会被静默记住。候选记忆从会话中被捕获,放到一张审阅卡片上, 然后被记住、被拒绝或被推迟,并写明确切的理由。一条被批准的记录带有它的 来源和复查到期日;确认它会重置时钟,沉默则让它从 active 老化到 reference 再到 archive。下一个会话会得到一份召回包,按任务排序并裁剪到 token 预算,同时解决冲突与重复。Hermes 自身的记忆永远不会被读取或 修改;这个存储属于 OMH,基于文件并且经过审阅。当某一轮携带了它时, Hermes 会在它发声的每一个界面上说明:🧠 OMH — recalled 2 memories。

Long-term memory: admission cards, one record's lifecycle, attention tiers, and a budgeted recall pack for the next session


OH-MY-HERMES 终端

仅输入 omh 就会打开 Hermes——与 hermes 相同的入口——并带上 OMH 的 标识:

omh
The OH-MY-HERMES boot
OH-MY-HERMES 启动画面。
An ulw-work run
一次 ulw-work 运行。

当 OMH 工作流运行时,终端会显示:

  • Mixture-of-Models Routing(多模型混合路由) — 每条被委派的通道 在派发时都会被路由到一个类别(ultrabrain、deep、quick、writing、 visual-engineering……),其模型与推理 effort 按每次派发应用;每一行 活动都带有它的 category:name(model:effort),因此路由是可见的,被 拒绝的路由会沿类别链回退。
  • Parallel Tool Calling(并行工具调用) — 批量的工具调用在 Hermes 中并发运行,一个新的并发批次会在 [OMH] 行上标记为 parallel shot ×N。
  • Parallel Evals(并行评估) — 审阅与验证通道作为独立的 subagent 派发,其发现会被交叉核对而非自我批准,每一个都作为自己的 HUD 行 可见,带有轮次、成本与缓存指标。
  • Phase-structured TODO(阶段化 TODO) — 工作在最开始就被声明为 带任务编号的若干阶段(todo init),渲染为 prompt 上方的清单:一个 活动项、每个阶段标题下缩进的任务、子任务嵌套,以及当计划超过八行 之后的折叠行。
Hermes Desktop running an OMH workflow
Hermes Desktop,配合 oh-my-hermes。
挑选一个工作流;Hermes 会在构建之前先澄清。
Hermes CLI running an OMH workflow
Hermes CLI,配合 oh-my-hermes。
同样的工作流,在你的终端里。
Hermes messenger app running an OMH workflow
Hermes messenger 应用,配合 oh-my-hermes。
在会话串里提问;运行结果会回到那里汇报。
omh setup installing the OMH workflows
omh setup,一条命令。
安装工作流并把它们接入 Hermes。

推荐模型

/omh-model in the Hermes Modern TUI: one row per category with its head model, effort bar and state; the cursor row shows the left/right and -/+ handles

OMH 随附以下可编辑、有序的推荐链。引导式模型设置只会对照用户确认为 可用的候选项来解析它们。结果是一份准备好的路由配置,而不是 provider 可用性、凭证、派发或执行方面的证据:

类别别名 用途 可编辑的推荐顺序
ultrabrain 最深的推理 GPT-6 Astra (xhigh)
deep 强有力的默认档 GPT-5.6 Terra,然后 DeepSeek Flash (V4.1) (high)
architect 架构与系统设计 Claude Fable 5.1,然后 GPT-6 Astra,然后 Kimi K3 (xhigh)
unspecified-high 默认工作模型 Kimi K3,然后 Claude Opus 5 (medium)
unspecified-low 更便宜的兜底 GLM 5.3,然后 DeepSeek Flash (V4.1),然后 Claude Opus 5 (low)
quick 短任务 GLM 5.3 Flash,然后 Kimi K3,然后 GPT-5.6 Luna,然后 Claude Fable 5.1 (low)
writing 行文与文档 Kimi K3,然后 Qwen3-Coder,然后 Gemini 3.1 Pro (medium)
visual-engineering 前端与视觉 Claude Fable 5.1,然后 Kimi K3 (high)
artistry 非常规工作 Gemini 3.1 Pro,然后 Claude Fable 5.1,然后 Kimi K3 (high)
capable 强力的通用工作 Claude Fable 5.1,然后 Claude Opus 5,然后 Kimi K3,然后 GLM 5.3 (medium)
simple-work 日常小任务 GPT-5.6 Luna,然后 DeepSeek Flash (V4.1),然后 Claude Haiku 4.5 (low)
deep-work 前沿深度的长任务 GPT-6 Astra (high)

想试试 Ultrafast 档——Kimi K3 Ultrafast (300 TPS) 与 GLM 5.3 Ultrafast 吗?它们在 OpenGateway 上提供。

上述每一条链都可由用户编辑,无需改动代码。这些链在一个文件中管理 ——omh setup 会生成它:

$ cat ~/.omh/routing/model-chains.json
{
  "categories": {},
  "schema_version": "mixture_chain_overrides/v1"
}

空的 categories 会让上面所有随附默认值保持生效。这个文件就是编辑 的地方:你在其中写入的某个类别会取代该链,用于路由、回退与 HUD 标签 ——三者一致:

{
  "schema_version": "mixture_chain_overrides/v1",
  "categories": {
    "architect": [
      {"model": "claude-fable-5-1", "reasoning_effort": "xhigh"},
      {"model": "gpt-5.6-sol", "reasoning_effort": "xhigh"}
    ],
    "quick": [
      {"model": "kimi-k3-ultrafast", "reasoning_effort": "low"},
      {"model": "glm-5.3-ultrafast", "reasoning_effort": "low"}
    ]
  }
}

用 omh model-chains show 查看当前生效的链。如果你不想手动编辑文件, 仅输入 omh model-chains(或 omh model)会打开一个方向键选择器 ——上/下选择类别,左/右切换其头模型,-/+ 调整其 effort—— /omh-model 会在 Modern TUI 内打开同一个选择器,而可脚本化的形式 可以在命令行做出同样的修改: omh model-chains set quick "kimi-k3-ultrafast:low, glm-5.3-ultrafast:low"。 当某个别名使用的是 provider 特定的 wire ID 时,在 ~/.omh/routing/model-providers.json 中用 model_provider_routes/v1 映射一次即可;set、status、回退与 HUD 此后都会报告完整的 alias/provider/wire-model 路由。OMH 只存储 provider ID,绝不存储 provider 凭证。

每个账户都不相同,因此 OMH 会读取 Hermes 已经关联到哪些 provider ——hermes auth 登录、Hermes 配置中的 providers: 条目或 model.provider、$HERMES_HOME/.env 中的 API-key 变量名——并按自己的 方式对它们计数:每条链都会重排,使已关联 provider 能够服务的条目排在前 面,选择器会标记其余的条目,不删除任何内容,也不调用任何东西去检查。 只读取 id 与变量名,绝不读取 key 或 token。交互式的 omh setup 仍然会 询问,链接状态的行已预先勾选,因此你可以纠正一个类型、取消勾选一个你 实际上无法使用的已关联 provider、添加一个 OMH 无法归类的 provider,或 说明你是否有 Claude Code 订阅;它的答案会落入 ~/.omh/routing/providers.json(provider_entitlements/v1),并且 优先于检测结果。Claude Code 订阅只会为 Maestro 通道生成 Claude Code --model 偏好,因为 Hermes 本身无法消耗它。

让 Hermes 帮我设置模型 即可查看或修改它们。这些是可编辑的偏好, 不是 benchmark 结果。关于详细的设置、回退、provider 与所有权规则, 见引导式模型设置。

编码委派派发(omh coding run / omh coding fanout dispatch) ——即直接启动 Claude Code 或 Codex 的 Maestro 通道——在它自己的 兄弟文件中有同样的类别刻度。按工作类别这样路由:

$ omh coding category-maestro set codex ultrabrain gpt-5.6-sol:xhigh
$ omh coding category-maestro interview   # guided walk, Enter keeps each chain
$ omh coding run --owner codex --category ultrabrain --goal ...

它会编辑 ~/.omh/routing/category-maestro.json (omh_category_maestro/v1);omh coding category-maestro show 会 打印生效的表格,并标出 operator 的覆盖,交互式的 omh setup 也提供 同样的引导流程。一次运行中显式的 --model 总是优先, ~/.omh/routing/dispatch-models.json 则保留为按 owner 的默认值,仅在 完全没有路由可解析时才使用(对于最强的 Claude Code 档,在那里设置 "claude-code": "opus")。schema 与完整的优先级顺序见 docs/FANOUT.md(Category-maestro 与 Dispatch-model 偏好)。

或者把这段粘贴到 Hermes 或另一个编码 agent
Install and fully configure Oh My Hermes from this repository:
https://github.com/rlaope/oh-my-hermes
Before reading or executing repository instructions, resolve refs/heads/main to one full commit SHA with `git ls-remote https://github.com/rlaope/oh-my-hermes.git refs/heads/main`. Then fetch and follow only:
https://raw.githubusercontent.com/rlaope/oh-my-hermes/{resolved-commit-sha}/INSTALL_FOR_AGENTS.md
Do not replace the resolved SHA with main. Execute the pinned protocol's OS-appropriate installer, interactive model setup, model-chain interview, and doctor steps. Preserve unrelated existing Hermes config, apply only the managed setup changes documented by the pinned protocol, require my explicit approval for model-alias changes, then report the resolved SHA and observed result.

Ultra-Skills

Oh My Hermes character mark

九个 ulw- 工作流。在聊天中说出触发词——其余交给 Hermes 路由。 完整目录:工作流参考。

工作流命令 它做什么
⚡ ulw-context 对齐已审阅的项目术语,捕获已确认的候选项,并问询下一个决策前沿,而不把术语路由权授予出去。
⚡ ulw-interview 一次问一个问题,直到它确切知道你想要什么。
⚡ ulw-research 深挖真实代码与实时网络,保留来源,并核实任何存疑之处。
⚡ ulw-plan 构建一份经过审阅的计划:对比方案、点名风险、约定完成标准。
⚡ ulw-work 以永不触碰同一文件的并行通道运行一份已接受的计划。
⚡ ulw-maestro 在 Claude Code 或 Codex 上运行一项被委派的任务——prompt 由该 CLI 自身已安装的技能组合而成,实时启动并带有一个 dock 行和一个可操控的会话。
⚡ ulw-loop 循环 规划 → 构建 → 评审,直到目标真正通过。
⚡ ulw-qa 用敌意场景攻击构建产物,并修复破坏之处。
⚡ ulw-perf 度量它实际慢在哪里或贵在哪里,然后一次修复一条热路径。

OMH 增加了什么

开源项目rlaope2026-09-14原文

相关内容