关于 Hermes Prime
Hermes Prime 通过只读的 stdio MCP 服务,向新的 Claude Code 会话提供带版本的规范卡片。它按需提供规范,不修改 CLAUDE.md,也不调用模型或网络服务。
主要功能
- 01通过 MCP 读取规范卡片
- 02列出可用范围
- 03使用可配置的 Markdown 片段
- 04只读服务,不调用模型或网络
适用场景
- 01在新的 Claude Code 会话中加载项目规范
- 02检查可用的规范范围
- 03使用自定义规范片段
MCP 相关
stdio MCP 服务提供 get_conventions 和 list_scopes。它返回规范卡片,不会修改 CLAUDE.md。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| scope_class | string | 否 | 可选的范围类别(例如,'session-init')。未知时回退到默认片段。 |
详细介绍
hermes-prime
将版本化的规范卡片交付给全新的 Claude Code 会话。
hermes-prime 由 Hermes Labs 开发。
Hermes Labs 是一家 Agent 基础设施公司,致力于构建自主系统的可靠性层。
Bash 接口会将卡片快照写入项目的 CLAUDE.md;只读 MCP 接口则通过 stdio 返回同一张卡片。这种机制让规范可供读取,但无法证明模型会遵守这些规范,也无法防止偏离。
这是一个轻量级传输工具,而非强制执行层。Hermes Labs 提供自用的规范卡片;你可以将其派生,或通过 HERMES_SESSION_INIT_FRAGMENT=/path/to/custom.md 选择其他片段。
两个接口共用同一片段:一个包含四个子命令的 Bash 工具,适用于基于 CLAUDE.md 的工作流;另一个是 Claude Code 原生 MCP 服务,不会修改 CLAUDE.md。两个接口都不会调用模型或网络服务。Bash 方式不会更改全局配置;注册 MCP 时使用用户选定的作用域。
痛点
不同会话之间,规范可能会脱离可见上下文。版本化卡片为新会话提供一个可供读取的具体文件,无需它从散落的笔记中重新归纳这些规范。
规范纪律通常散落在手册文档、反馈文件或会话结束后的复盘中——全新的会话从不会读取这些内容。hermes-prime 将它们打包成一张完整独立的卡片,供协调器打开。
有何不同
大多数“设置 Agent”工具要么(a)提供一个庞大的提示词文件让你复制粘贴,要么(b)安装一个每次会话都会运行的全局钩子,无论你是否需要。hermes-prime 按项目生效、以标记为锚点且支持幂等操作。未编辑的注入后缀可逐字节还原;已编辑的区块则使用文档所述的标记/备份回退方式。
该片段是快照,而非实时引用。重新注入即可刷新。标记(``)可确保取消注入时逐字节还原。
两种接口
| 接口 | 适用对象 | 机制 |
|---|---|---|
| MCP 服务(推荐用于 Claude Code) | Claude Code 用户 | 原生 MCP 工具——get_conventions / list_scopes。不修改 CLAUDE.md,也不创建快照。参见 mcp-server/。 |
Bash 二进制文件(CLAUDE.md 备用方案) | Claude Code 用户,以及明确会读取项目 CLAUDE.md 的其他工作流 | 在标记之间将片段注入 CLAUDE.md。采用快照语义——重新注入即可刷新。不包含其他 Agent 指令格式。 |
两者共用同一个 CLAUDE-fragment.md。它们是相互独立的接口;请选择适合你的 Agent 的方式。
MCP 服务(Claude Code 原生)
claude mcp add --scope local hermes-prime -- python3 "$PWD/mcp-server/hermes_prime_mcp.py"
在仓库根目录运行该命令。本地作用域会为当前项目加载服务。上次验证时使用的是 2026-09-11 的 Claude Code 2.1.268:claude mcp list 显示服务状态为 Connected。服务的 initialize 响应包含一条简短的 instructions 字符串,Claude Code 会将其展示给模型,以便全新会话知道应调用 get_conventions。只有在你打算让自己的所有项目会话都能使用同一命令时,才使用 --scope user。然后,在适用所选作用域的会话中调用 get_conventions。仅使用标准库,无第三方运行时依赖。完整的注册和移除说明、打包的 pip install hermes-prime-mcp 控制台脚本方式,以及 server.json MCP Registry 清单,均见 mcp-server/README.md。
安装(Bash 二进制文件)
git clone https://github.com/hermes-labs-ai/hermes-prime.git
cd hermes-prime
ln -s "$PWD/bin/hermes-session-init" /usr/local/bin/hermes-session-init
hermes-session-init --check
也可以创建符号链接到 ~/bin/。无需安装软件包——它由一个 Bash 脚本和一个 Markdown 片段组成。
快速开始
# Require the fragment; report optional companion tools as information
hermes-session-init --check
# Print the fragment to stdout (pipe-friendly)
hermes-session-init --print
# Inject the fragment into a project's CLAUDE.md (idempotent, backs up existing)
hermes-session-init --inject ~/Documents/projects/some-project
# Remove the fragment cleanly (anchored on the marker)
hermes-session-init --uninject ~/Documents/projects/some-project
功能说明
| 子命令 | 行为 | 退出码 |
|---|---|---|
--check | 只要求片段文件存在。将 hermes-ground、hermes-rubric-blinded 和手册列为可选的参考资料。 | 0 表示片段存在 / 1 表示片段缺失 |
--print | 将 CLAUDE 片段打印到 stdout。可用于通过管道传递给 --append-system-prompt,也可用于检查。 | 0 |
--inject <project> | 将片段追加到 <project>/CLAUDE.md 中的标记之间。将现有的 CLAUDE.md 备份为 CLAUDE.md.bak.<timestamp>。具有幂等性:重复运行不会产生变化。 | 0 |
--uninject <project> | 移除由 --inject 添加的确切后缀,将预先存在的内容按字节还原,或移除由注入创建的 CLAUDE.md。如果编辑过代码块,则回退为保留行的标记移除方式;如果标记已不存在,则使用最新的备份。 | 0 表示成功 / 1 表示未找到 |
注意:
hermes-ground是 Hermes Labs 的内部 grounding 工具。它并未公开发布;此约定仅描述它所触发的编排器行为。
注入的内容
一个简短的 Markdown 块,包含:
- Grounding 触发条件 — 编排器应调用
hermes-ground进行外部事实核查的 7 种情况。 - 独立自包含的约定 — 校准、rubric 传递、grounding 和命名规范。
- 工具映射 — 功能类别、Hermes Labs 实现和手动回退方案。
- 最常在会话中途忘记的规则 — 在某个路径下的文件实际存在之前,不要使用名词短语标签。
完整内容请参见 CLAUDE-fragment.md。该片段就是约定。
初步评估
evals/ 中有三项诚实的评估:
- E1 — 约定回忆测试: 注入片段后,新启动的
claude --print会话能否正确识别hermes-ground是外部 grounding 工具?与未注入的会话相比如何? - E2 — 幂等性压力测试: 连续注入 5 次,断言大小变化 ≤ 2 个字符。
- E3 — 取消注入往返测试: 注入 → 取消注入 → 要求前后原始哈希完全相同。
运行方式:bash evals/preliminary-bootstrap-eval.sh。协议见 evals/EVAL-PROTOCOL.md。运行记录见 evals/runs/。根据既定约定,空结果会未经删改地发布。
与其他 Hermes Labs 工具的关系
hermes-prime 是 Hermes Labs 开源工具中用于传递约定的一种方式。
它不会取代配套工具,也不保证这些工具会被调用。
hermes-rubric— 以证据为先的评分;“每个可交付成果都须经过 BLINDed rubric”这一约定指向此工具。hermes-blind— 一个需单独调用的多轮恢复脚手架。
状态
源代码版本 0.2.1-alpha.1 — 尚未发布的 alpha 候选版本。 尚无公开的 0.2.1-alpha.1 标签或 GitHub Release,且此分支未授权发布。
MCP 发行版是一个独立的分发渠道,并且已公开:hermes-prime-mcp
0.2.1a2 已发布至 PyPI,MCP Registry 中的条目
io.github.hermes-labs-ai/hermes-prime 0.2.1-alpha.1 状态为 active(两者均于
2026-09-18 核实)。如今无需检出代码即可运行 uvx --from hermes-prime-mcp hermes-prime-mcp。
上文的“尚未发布”指的是代码仓库,而非软件包。
机制测试套件包含 11 项 Bash 断言和 13 项 MCP 测试。E1 是由作者运行的一项三问题对照/处理观察;它只是初步的约定回忆证据,不能证明该工具能防止偏差或提升下游任务表现。
如果 E1 在更大规模的测试中得出空结果,我们会将其发布,而不是掩盖。这与 Hermes Labs 其他开源工具遵循的既定约定相同。
本地机制门禁
在请求任何推送或发布之前,请运行本地机制门禁:
./scripts/local-ci.sh
它会运行 ShellCheck、包含 11 项断言的 Bash 测试套件、包含 13 项测试的 MCP 测试套件,以及片段大小和标记检查。托管工作流(.github/workflows/ci.yml)会在 macOS 和 Ubuntu 上运行相同的测试套件。退出代码为 0 仅表明当前代码树通过了这些指定检查;这不代表获得推送、发布或公开发布的授权。
许可证
MIT。请参阅 LICENSE。
由 Hermes Labs 构建。
关于 Hermes Labs
Hermes Labs 是一家 Agent 基础设施公司,致力于为自主系统构建可靠性层。本仓库是其产品组合中的一个小型机制;其声明仅限于上述检查实际验证的行为。
企业部署和 AI 可靠性项目请联系:
[email protected] · hermes-labs.ai
关于命名。Hermes Labs 以希腊信使之神赫尔墨斯(Hermes)命名——他是通信与诠释的守护神,也是穿梭于不同世界、传递意义的使者。这个名字与我们的工作之间的联系是诠释学:这门以赫尔墨斯命名的阐释理论,是一家 Agent 基础设施公司的哲学基石,而语言正是其底层基础。我们与 NousResearch 的 Hermes LLM 系列或其 hermes-agent 框架并无关联——公司不同,业务也不同。
创始人:Rolando(Roli)Bosch。
网站:hermes-labs.ai
引用:Bosch, R. (2026). Hermes Labs:面向生产环境 Agent 和 LLM 应用的 AI 可靠性工程。https://hermes-labs.ai
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。