Product
Hermes Agent
NousResearch 开源的 agent 运行时:profile + auth pool + IM gateway + skill plugin + cron,用一个壳承载多 channel、多 model 的自动化工作流。
1. 核心产品 / 服务
Hermes Agent 是 NousResearch 发布的开源 agent 运行时(hermes-agent),可本地运行,也可作为常驻服务部署在服务器上。
核心架构:
- CLI 入口:
hermeswrapper,背后跑hermes_cli.main(Python venv);gateway 和定时任务可作为后台服务常驻。 - Profile 系统:
hermes profile create/use/alias管理多个独立配置,支持--clone-all复制凭据,可用来做"OAuth 订阅 vs 便宜 provider"的隔离。 - Auth pool:provider 凭据集中存储,单一 source of truth;支持 API key / OAuth / PKCE 多种类型。
- Model routing 分层(
config.yaml):model:主对话模型(hermes chat和 IM gateway 走这个)auxiliary.*小任务(approval / compression / flush_memories / mcp / session_search / skills_hub / web_extract / vision)各自指定 provider+modeldelegation.*subagent 调用单独路由compression.*历史压缩单独路由
- IM Gateway:原生 Lark/Feishu 集成,Telegram、Slack 通过 channel adapter 接入。
- Cron:定时任务文件支持 per-job provider/model/base_url override(CLI 不暴露这几个字段,要直接改 JSON)。
- Skill plugin:以
skills/<category>/<name>/SKILL.md注册 skill;scanner 不 follow symlink,必须是真实拷贝。
Provider 覆盖:原生支持 Anthropic(含 OAuth 订阅 token)、Moonshot Kimi(kimi-coding / kimi-coding-cn,K2.5/K2.6 已在内置 model list)、DeepSeek 直连、openrouter 接所有其余模型。
2. 服务对象 & 痛点
主要用户:需要同时跑多个定时任务、多个 IM channel、多个 sub-agent,并希望把这些装进同一个运行时的个人开发者和小团队。
痛点 / 设计动机:
- Claude Code 这类终端 coding CLI 通常是单 session、单 channel、单 model 的;自动化工作流往往是多 channel + 多 cron + 多 model
- 订阅 OAuth quota(Anthropic Pro/Max)和按量计费要分开烧——主对话用订阅,subagent 和压缩走便宜 provider
- 多个 IM bot 共用一套 auth pool 和 skill 库,避免每个 channel 重复配
3. 竞争格局
| 维度 | Hermes Agent | Claude Code | OpenClaw | Anthropic Claude Agent SDK | Cursor agents | Aider |
|---|---|---|---|---|---|---|
| 定位 | 多 channel agent 运行时 | 终端 coding CLI | 多 user 协作 agent 平台 | 嵌入式 SDK | IDE 内 coding agent | git-aware coding CLI |
| 部署 | 本地或服务器常驻 | 本地 CLI | 本地 + 服务器 daemon | 嵌入式 lib | IDE | 本地 CLI |
| Channel | Lark / TG / Slack | 终端 only | Lark / WhatsApp / WeCom | 调用方自己接 | IDE 内 | 终端 only |
| Provider | 多家 + OAuth + auth pool | Anthropic only | 多家 | Anthropic | Anthropic / OpenAI / 自家 | 多家 |
| Profile / 多账号 | 原生 | 无 | 部分 | N/A | 单一 | 单一 |
| Skill plugin | 原生 | Skills (近期) | Skill | 用户自己实现 | Composer | 无 |
| Cron / 定时 | 内置 | 无 | 内置 | N/A | 无 | 无 |
| 适用场景 | 自动化工作流 | 写代码 | 团队 IM agent | 集成到产品里 | IDE 写代码 | 改 repo |
差异化关键:多 IM channel + cron + 多 model routing 三件事捏一起,并且可对订阅 OAuth quota 做细粒度路由。Claude Code 和 Aider 没有这个抽象层;OpenClaw 更偏团队多用户场景;Anthropic Agent SDK 是 lib 级别,需要自己组装。
4. 独特观察
- OAuth 订阅 + auxiliary 分离是省钱关键:主 model 可接 Anthropic OAuth(吃订阅额度),auxiliary/delegation/compression 指向 openrouter 上的 deepseek / minimax-m2.7 这种便宜模型。subagent 8 并发 × OAuth = 容易撞 rate limit,所以 delegation 走便宜 provider 是必要防护。
- Cron 默认跑主 model 的陷阱:如果主 model 是 OAuth,每日 cron 会烧订阅 quota 而且容易触发 Anthropic 异常检测——必须对每个任务显式 override provider/model(CLI 不暴露这几个字段)。这是个容易忽略的隐式风险。
- PKCE state = code_verifier 的小 trick:hermes 把 PKCE
code_verifier直接塞到 OAuthstate参数里(agent/anthropic_adapter.py),所以授权回调粘贴回的state == verifier。中途死掉还能手动调 token endpoint 换 token——少见但聪明的实现。 - Skill scanner 不 follow symlink:开发中的 skill 必须以真实目录拷贝进 skills 目录才会被识别,
ln -s会被静默忽略。 - Kimi 接入零改源码:Moonshot Kimi 已经原生支持,包括自动 base-URL 切换(看 key 前缀
sk-kimi-→api.kimi.com/coding,普通sk-→ 配置 base_url),tool schema sanitize 也自动跑。hermes auth add kimi-coding一行就接上 K2.5/K2.6。 - 本地 patch 会被 update 冲掉:对上游 repo 的本地修改都会被
hermes update覆盖,因此定制最好写成幂等 patch 脚本,每次 update 后重跑。 - vs OpenClaw 的取舍:OpenClaw 更适合"团队多用户协作"的场景(dmPolicy / allowFrom / 多用户隔离);Hermes 更适合需要 profile + auth pool + cron 的单人运营场景——见 openclaw-hermes-updates。
- Kimi 在 Hermes 路径:直连 Moonshot 比走 openrouter 更便宜(OpenRouter 不一定 pass-through prompt-caching 折扣),但 OpenRouter 上的 Kimi 也比直连 Moonshot 便宜(第三方 provider 内卷)——具体看 workload 是不是 cache 友好。
5. Financials
N/A — 开源项目;运行时本身无公开的独立商业化或融资信息。
6. People & Relationships
- 发布方: NousResearch(开源 hermes-agent repo)
- 常见模型路由:
- 主对话:Anthropic Claude(OAuth 订阅)
- 辅助 / subagent:deepseek / minimax / glm 等 via openrouter
- 直连:kimi (Moonshot) for coding / 长上下文
- 生态对照: tinyfish(如果不想自建 web automation 的对照选项)
Sources
- 内部研究笔记 — Hermes 配置架构、profile、auth pool、OAuth PKCE、cron override 风险
- 内部研究笔记 — Kimi/Moonshot 原生支持,base-URL 自动切换,tool schema sanitize
- 内部研究笔记 — Feishu gateway 访问控制 + 上游 update 覆盖问题
- 内部研究笔记 — Skill scanner 不 follow symlink
- Internal research notes
Last compiled: 2026-05-09