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
安装一次。保留 Hermes。叠加一层更强的操作层。
规划、研究、创作、编码交接、运维与项目记忆,全都带有明确的证据边界。
oh-my-hermes(OMH)把一个普通的
Hermes Agent
请求,转化为一项明确的能力、一个有用的下一步,以及一份关于
实际发生了什么 的诚实记录——它强化你现有的工作流,
绝不取代 Hermes,也绝不把编码执行器藏在它背后。
OMH 是 Hermes 原生技能之上的一层操作层:它界定问题、挑选
工作流与证据门禁,并在此受治理的路径中,把原生技能作为能力来运行。
网站 · 文档 · 安装 · 能力 · 能力影响 · Agent 安装 · GitHub Pages 站点
[!NOTE] OMH 让 Hermes 保持自然语言交互界面,并叠加一层带有明确 证据边界的专业操作层。
![]()
[!TIP] 加入我们!
oh-my-hermes的更新会发布在 X 上的 @rlaope,同时还有 release notes 与项目动态。在 GitHub 上关注 @rlaope,获取更多项目、release 与进行中的工作。 加入 Discord 上的 Oh-My-Hermes 社区,提问、分享工作流,并与其他用户交流。 由 AI agent Friren 与 Killua 共同构建,他们是一起推动 oh-my-hermes交付的协作者。感谢 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 分钟。
02 · 你自己掌控的类别,按执行器区分
ultrabrain、deep、architect、unspecified-high、unspecified-low、
quick、writing、visual-engineering、artistry:每一个都是可编辑的
模型 + effort 链,与下文“推荐模型”中列出的那九个相同,可在单个文件中
读取并覆盖。当某个 provider 拒绝一个模型时,链会向后推进;若某次派发会
继承一个无法服务该模型的 provider,则会被拒绝,而不是静默降级。
setup 会询问你的 provider 情况,并针对你所在的机器重排这些链。
03 · 按模型家族调优 prompt,并且经过实测
十三个模型家族,每个家族一个校准块,每一句话都针对该家族已被记录的 特征来写:告诉 Claude 清单已完整,告诉 Gemini 没有工具输出的论断不算 证据,告诉 Qwen3-Coder 绝不输出 thinking 标签,告诉 DeepSeek 版本与 thinking 模式是契约字段。GPT-6 Astra 拥有它自己的精确模型契约与 校准块。凡有可用路由的地方,这些校准块都会被实测:Astra 的初稿会让 它在无法通过的任务上持续工作,为相同的答案多花 10% 成本,因此基于 这个数字被砍掉。
04 · 在安全处并行,在返回时定性
ulw-work 把一个已接受的计划拆成永不共享同一文件的单元,给每个单元
分配一个从同一 pin 住的 SHA 分出的独立 worktree,并允许一个单元在
单轮内发出它的工具调用。每个单元返回时都是一个带类型的 result,含四种
状态:进程已退出、schema 有效、验证已观测、可集成。退出码 0 而无证据
的,在门禁检查之前一直标记为 reported done;验证回执只有在 revision、
command 与环境全部匹配时才被复用。
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 是本次运行自己的清单,而非事后补写的总结。
06 · 专家技能渗入运行过程
你永远不需要调用专家。目录中包含 108 个 omh-* 专家技能:前端、后端、
Rust、原生调试、inference 服务、设计质量门禁、验证门禁、安全审查、
性能预算、重构计划等等。当请求触及其中某个领域时,匹配的技能已经作为
一次工具调用存在于本次运行中,从而抬高了 agent 会视为“完成”的下限。
用英文或韩文说出即可;router 会挑选出相应的专家。
07 · 一张图看清架构,然后分阶段改进
向它索要一张 repo 的图,codebase-uml 就会从代码中绘制出来:
packages、modules、每一条 import 边,并标出其中的循环。发现项按优先级
排序,refactor-plan 把最靠前的几项转成若干阶段,每个阶段作为一个 PR
落地,由测试锁定行为,一旦某个锁被破坏就立即中止。改进前后的状况都在
代码树上度量,dock 会在每个阶段运行时显示它,以及是否有任何东西检查过它。
08 · 经审阅者准入的长期记忆
任何东西都不会被静默记住。候选记忆从会话中被捕获,放到一张审阅卡片上,
然后被记住、被拒绝或被推迟,并写明确切的理由。一条被批准的记录带有它的
来源和复查到期日;确认它会重置时钟,沉默则让它从 active 老化到
reference 再到 archive。下一个会话会得到一份召回包,按任务排序并裁剪到
token 预算,同时解决冲突与重复。Hermes 自身的记忆永远不会被读取或
修改;这个存储属于 OMH,基于文件并且经过审阅。当某一轮携带了它时,
Hermes 会在它发声的每一个界面上说明:🧠 OMH — recalled 2 memories。
OH-MY-HERMES 终端
仅输入 omh 就会打开 Hermes——与 hermes 相同的入口——并带上 OMH 的
标识:
omh
![]() OH-MY-HERMES 启动画面。 |
![]() 一次 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,配合 oh-my-hermes。 挑选一个工作流;Hermes 会在构建之前先澄清。 |
![]() Hermes CLI,配合 oh-my-hermes。 同样的工作流,在你的终端里。 |
![]() Hermes messenger 应用,配合 oh-my-hermes。 在会话串里提问;运行结果会回到那里汇报。 |
![]() omh setup,一条命令。安装工作流并把它们接入 Hermes。 |
推荐模型
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 偏好)。
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
九个 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 |
度量它实际慢在哪里或贵在哪里,然后一次修复一条热路径。 |





