每天一个开源项目#89 Hermes Agent:24万星的技能、记忆与Cron中枢

10 阅读9分钟

Trending 排名:#3 | 日期:2026-09-04 | Stars:241,090 | Forks:49,412 | 语言:Python | License:MIT

📋 项目概览

项目名一句话StarsForks语言License版本
NousResearch/hermes-agent把技能、记忆、调度和多平台入口放进同一个 Agent 底座里241,09049,412PythonMIT0.21.0 / v2026.8.31

🔥 为什么值得关注

大多数 Agent 项目都卡在同一个地方:会聊天,不会干活;能生成一段回答,却接不住第二天、下周、下个月还要重复出现的那类任务。真正麻烦的不是模型本身,而是状态怎么存、流程怎么复用、后台任务怎么跑、不同入口怎么共享同一套能力。Hermes Agent 盯的就是这部分。

它不是把聊天壳子再套厚一点。仓库里的 skillsmemorycrongatewayprofilessessionstool registry 都是独立模块,边界也画得很清楚。你能看出它想做的不是“一次性问答机器人”,而是一个可以长期运行、还能把经验沉淀下来的 Agent 操作层。这个方向很现实。也很难。

我最喜欢的一点,是它没有把“自进化”说成玄学。学到的东西可以变成 skill,跨会话的记忆走独立存储,重复任务交给 cron,消息入口则通过 gateway 分发到 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Email、SMS、Feishu、WeCom 等平台。每一层都能单独看、单独换、单独坏,不用把所有希望都押在一次 prompt 上。

🏗️ 核心特性

  1. 技能不是口头承诺,而是可落地的工作流单元。

    Hermes 把 skill 当成可复用流程,而不是一段散文式提示词。hermes skills 相关命令都在帮助把经验固化下来,仓库里也能看到 skill 目录、加载逻辑和管理命令是分开的。

    hermes skills list --enabled-only
    hermes skills browse
    hermes skills search tdd
    
  2. 记忆和会话是两回事。

    会话是聊天记录,记忆是跨会话沉淀。README 里说得很直白:它会记住偏好、上下文和你反复纠正过的东西;hermes memory 则负责外部记忆提供器的配置和状态查看。

    hermes memory status
    hermes sessions stats
    hermes sessions list
    
  3. Cron 不是附带的小功能,而是一个真的调度器。

    hermes cron create 接受 duration、every 语句和标准 cron 表达式。源码里还有 .tick.lock 这种文件锁,避免多个进程同时跑同一轮 tick。这个细节很有意思,说明它把“后台一直跑”当成正经问题,而不是 UI 按钮。

    hermes cron create "0 9 * * *" "检查昨日任务"
    hermes cron status
    hermes cron list
    
  4. 多入口接入,但核心还是一套。

    CLI、ACP、Desktop、Gateway 走的是同一个核心循环。hermes gateway run 把消息平台拉进来,hermes acp 让编辑器也能接上,hermes chat -q 则适合脚本化调用。入口很多,内核没散。

    hermes gateway run
    hermes acp --check
    hermes chat -q "解释当前仓库的目录结构"
    

下面这张小表更能说明它的体量不是玩具级的:

指标数值说明
tracked files11,327Git 跟踪文件总数
tests/ 文件3,807测试相关文件规模
apps/ 文件2,360桌面端、TUI、壳层应用
website/ 文件813文档站与静态内容
skills/ 文件330内置技能包
gateway/ 文件112消息网关实现
cron/ 文件58调度器与任务执行
生产文本行2,136,816不含 tests
测试文本行1,244,583pytest 与验证代码
主线版本0.21.0pyproject.toml
最新 Releasev2026.8.312026-08-31

🔬 技术架构深度解析

Hermes 的结构不是“一个很大的聊天脚本”,更像一层 Agent 运行底座。入口多,核心收口很紧。

CLI / Desktop / ACP / Gateway
          │
          ▼
   hermes_cli / ui-tui / gateway
          │
          ▼
      AIAgent loop
  ┌───────┼────────┬───────────┐
  │       │        │           │
  ▼       ▼        ▼           ▼
prompt   model    tool     session / memory
builder  router  registry     store
  │       │        │           │
  │       │        ├─ terminal / file / browser
  │       │        ├─ delegate / cron / sessions
  │       │        └─ skills / memory / messaging
  │       │
  │       └─ provider pools / fallback chain / exact pins
  │
  └─ identity / rules / skill loading / context file scan

这里最值钱的不是“功能多”,而是它把控制面拆开了。

  • agent/prompt_builder.py 负责系统提示词组装,里面明确提到 prompt caching 不能乱动。
  • hermes_cli/commands.py 是命令注册中心,slash command 的定义从这里统一派生。
  • tools/registry.py 负责工具注册,所有工具都按同一套路挂进去。
  • cron/scheduler.py 负责定时任务和锁。
  • gateway/run.py 负责把同一个 Agent 核心放到消息平台上。

这套切法看起来朴素,实际上挺硬。因为一旦你把“聊天、工具、记忆、调度、网关”揉成一个文件,后面每加一个入口都会把状态再搅一遍。Hermes 没走那条路,它把每个面都留下了单独的入口和边界。维护成本高一点,但可控得多。

另一个值得提的点,是它对“学习”的定义很克制。README 里会说它会根据经验创建 skills、用 memory 记住用户偏好;但源码真正做的,是把这些变化放到宿主层、配置层和持久化层里,不让模型自己乱改自己的规则。这个差别很重要。前者是故事,后者才是系统。

关键工程信号

观察点证据说明
目录规模tests/ 3,807 个文件回归和验证压得很重
语言结构Python 75.37%,TypeScript 22.04%主体在 Python,前端壳层在 TS
版本节奏v2026.8.31,5 个 release 连着在 8 月下旬放出不是慢节奏维护
最近提交主题reasoning、skills、delegation、FTS 索引、共享调度器最近几天还在做控制面优化

📖 README 核心内容摘要

README 的主线其实很清楚:一个 Agent 内核,多个入口。CLI、桌面端、消息网关、ACP 编辑器接入都围绕同一套能力展开。安装页先给出 Linux/macOS/WSL2 的一行脚本,再给出 Windows 原生安装器,说明这个项目不是只给终端党玩的。

README 还把能力边界讲得很实在:

  • 可以换模型和 provider,hermes model 负责切换;
  • 可以把技能沉淀下来,hermes skills 负责管理;
  • 可以把记忆交给外部 provider,hermes memory 负责配置;
  • 可以把重复工作挂成计划任务,hermes cron 负责调度;
  • 可以把同一套 Agent 接到多个平台上,hermes gateway 负责入口。

这几个入口凑在一起,说明它的设计哲学不是“一个强 prompt 搭配一套工具”,而是“把流程、状态、入口和生命周期都收进系统里”。这也是它和很多轻量 Agent 壳最大的差别。

常见用法也很直接:

hermes
hermes chat -q "总结当前仓库的架构"
hermes model
hermes gateway run

如果你只看 README,容易把它当成一个功能很多的 CLI。读完源码会发现,它更像一套长期运转的 agent 工作台。

🚀 快速上手

安装命令来自官方 README:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

装好以后,先跑一次初始化,再做一个最小可用验证:

hermes setup
hermes chat -q "解释当前目录下这个项目大概做什么"

如果你更想验证入口是否正常,也可以直接看状态:

hermes model
hermes memory status
hermes cron status

这几个命令都能很快告诉你,它到底是装好了,还是只是看起来装好了。

📊 增长速度与社区热度

今天这仓库在 GitHub Trending 排到第 3 位。快照里它有 774 颗今日 Stars,累计 241,090 Stars、49,412 Forks。按仓库创建时间粗算,生命周期平均大约是 591 Stars/天;今天的 774 颗已经高于这个平均线,热度不是靠历史遗产撑着。

社区活跃度也挺硬。GitHub 搜索接口在同一时刻给出的公开活动是 13,262 个 open issues、26,049 个 open PRs,合计 39,311 个打开项。顶层贡献者里,teknium1 已经有 9,662 次贡献,OutThisLifekshitijk4poor 也都超过两千次。最近几条提交更是很“工程化”:修 reasoning、修 prompt 路由、修 delegate child 的调度、修 FTS 索引、修共享 HTTPX transport。

如果只看发布节奏,8 月 17 日到 8 月 31 日之间已经连着放了 5 个 release。这个节奏说明它不是一时兴起的玩具,而是在持续把运行边界磨平。

全量 Trending 榜单

RankRepoLanguageStars今日 Stars
1fmtlib/fmtC++25,309963
2mattpocock/skillsShell248,3261,601
3NousResearch/hermes-agentPython241,092774
4DietrichGebert/ponytailJavaScript124,0272,128
5anthropics/skillsPython173,834281
6affaan-m/ECCJavaScript247,563751
7JuliusBrussee/cavemanGo103,270543
8blader/humanizerPython41,9191,208
9google-research/timesfmPython30,8271,618
10averygan/reclipHTML8,61088
11bannedbook/fanqiangKotlin52,497522
12addyosmani/agent-skillsJavaScript92,140264
13ByteByteGoHq/system-design-10188,556171
14magnitudedev/magnitudeTypeScript2,096161
15Imbad0202/academic-research-skillsPython46,138496
16Gitlawb/openclaudeTypeScript32,455451
17debpalash/VoiceStudioPython16,7711,672
18f/prompts.chatHTML169,193168
19obra/superpowersShell281,538462

🎯 适用场景

场景适合度备注
日常开发助手很适合需要记忆、技能和重复操作沉淀时尤其顺手
团队内自动化很适合Cron、gateway、profiles、memory 可以拼成一条稳定链路
多入口协作很适合CLI、消息平台、编辑器接入共用一套核心
复杂长期任务适合背景任务、子代理、会话恢复都能派上用场
一次性问答一般如果只是临时查个问题,它会显得有点重

💡 总结

Hermes Agent 最吸引人的地方,不是它又接了多少平台,而是它真的把 Agent 该有的几个硬问题拆开了:技能怎么沉淀,记忆怎么长期保留,任务怎么后台跑,入口怎么共享同一套核心。源码看下来,它对边界的控制比很多同类项目更老练。

它不是最轻的那类工具,也不是给新手随手试试的玩具。可一旦你真的需要一个能长期运转、能记住东西、还能把工作流固定下来的 Agent 底座,Hermes 就很像那个会越用越顺手的项目。