Product

Hermes Agent

NousResearch 开源的 agent 运行时:profile + auth pool + IM gateway + skill plugin + cron,用一个壳承载多 channel、多 model 的自动化工作流。

1. 核心产品 / 服务

Hermes Agent 是 NousResearch 发布的开源 agent 运行时(hermes-agent),可本地运行,也可作为常驻服务部署在服务器上。

核心架构:

  • CLI 入口:hermes wrapper,背后跑 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+model
    • delegation.* 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 直接塞到 OAuth state 参数里(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