Trending 排名:#3 | 日期:2026-09-04 | Stars:241,090 | Forks:49,412 | 语言:Python | License:MIT
📋 项目概览
| 项目名 | 一句话 | Stars | Forks | 语言 | License | 版本 |
|---|---|---|---|---|---|---|
| NousResearch/hermes-agent | 把技能、记忆、调度和多平台入口放进同一个 Agent 底座里 | 241,090 | 49,412 | Python | MIT | 0.21.0 / v2026.8.31 |
🔥 为什么值得关注
大多数 Agent 项目都卡在同一个地方:会聊天,不会干活;能生成一段回答,却接不住第二天、下周、下个月还要重复出现的那类任务。真正麻烦的不是模型本身,而是状态怎么存、流程怎么复用、后台任务怎么跑、不同入口怎么共享同一套能力。Hermes Agent 盯的就是这部分。
它不是把聊天壳子再套厚一点。仓库里的 skills、memory、cron、gateway、profiles、sessions、tool registry 都是独立模块,边界也画得很清楚。你能看出它想做的不是“一次性问答机器人”,而是一个可以长期运行、还能把经验沉淀下来的 Agent 操作层。这个方向很现实。也很难。
我最喜欢的一点,是它没有把“自进化”说成玄学。学到的东西可以变成 skill,跨会话的记忆走独立存储,重复任务交给 cron,消息入口则通过 gateway 分发到 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Email、SMS、Feishu、WeCom 等平台。每一层都能单独看、单独换、单独坏,不用把所有希望都押在一次 prompt 上。
🏗️ 核心特性
-
技能不是口头承诺,而是可落地的工作流单元。
Hermes 把 skill 当成可复用流程,而不是一段散文式提示词。
hermes skills相关命令都在帮助把经验固化下来,仓库里也能看到 skill 目录、加载逻辑和管理命令是分开的。hermes skills list --enabled-only hermes skills browse hermes skills search tdd -
记忆和会话是两回事。
会话是聊天记录,记忆是跨会话沉淀。README 里说得很直白:它会记住偏好、上下文和你反复纠正过的东西;
hermes memory则负责外部记忆提供器的配置和状态查看。hermes memory status hermes sessions stats hermes sessions list -
Cron 不是附带的小功能,而是一个真的调度器。
hermes cron create接受 duration、every 语句和标准 cron 表达式。源码里还有.tick.lock这种文件锁,避免多个进程同时跑同一轮 tick。这个细节很有意思,说明它把“后台一直跑”当成正经问题,而不是 UI 按钮。hermes cron create "0 9 * * *" "检查昨日任务" hermes cron status hermes cron list -
多入口接入,但核心还是一套。
CLI、ACP、Desktop、Gateway 走的是同一个核心循环。
hermes gateway run把消息平台拉进来,hermes acp让编辑器也能接上,hermes chat -q则适合脚本化调用。入口很多,内核没散。hermes gateway run hermes acp --check hermes chat -q "解释当前仓库的目录结构"
下面这张小表更能说明它的体量不是玩具级的:
| 指标 | 数值 | 说明 |
|---|---|---|
| tracked files | 11,327 | Git 跟踪文件总数 |
| tests/ 文件 | 3,807 | 测试相关文件规模 |
| apps/ 文件 | 2,360 | 桌面端、TUI、壳层应用 |
| website/ 文件 | 813 | 文档站与静态内容 |
| skills/ 文件 | 330 | 内置技能包 |
| gateway/ 文件 | 112 | 消息网关实现 |
| cron/ 文件 | 58 | 调度器与任务执行 |
| 生产文本行 | 2,136,816 | 不含 tests |
| 测试文本行 | 1,244,583 | pytest 与验证代码 |
| 主线版本 | 0.21.0 | pyproject.toml |
| 最新 Release | v2026.8.31 | 2026-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 次贡献,OutThisLife 和 kshitijk4poor 也都超过两千次。最近几条提交更是很“工程化”:修 reasoning、修 prompt 路由、修 delegate child 的调度、修 FTS 索引、修共享 HTTPX transport。
如果只看发布节奏,8 月 17 日到 8 月 31 日之间已经连着放了 5 个 release。这个节奏说明它不是一时兴起的玩具,而是在持续把运行边界磨平。
全量 Trending 榜单
| Rank | Repo | Language | Stars | 今日 Stars |
|---|---|---|---|---|
| 1 | fmtlib/fmt | C++ | 25,309 | 963 |
| 2 | mattpocock/skills | Shell | 248,326 | 1,601 |
| 3 | NousResearch/hermes-agent | Python | 241,092 | 774 |
| 4 | DietrichGebert/ponytail | JavaScript | 124,027 | 2,128 |
| 5 | anthropics/skills | Python | 173,834 | 281 |
| 6 | affaan-m/ECC | JavaScript | 247,563 | 751 |
| 7 | JuliusBrussee/caveman | Go | 103,270 | 543 |
| 8 | blader/humanizer | Python | 41,919 | 1,208 |
| 9 | google-research/timesfm | Python | 30,827 | 1,618 |
| 10 | averygan/reclip | HTML | 8,610 | 88 |
| 11 | bannedbook/fanqiang | Kotlin | 52,497 | 522 |
| 12 | addyosmani/agent-skills | JavaScript | 92,140 | 264 |
| 13 | ByteByteGoHq/system-design-101 | — | 88,556 | 171 |
| 14 | magnitudedev/magnitude | TypeScript | 2,096 | 161 |
| 15 | Imbad0202/academic-research-skills | Python | 46,138 | 496 |
| 16 | Gitlawb/openclaude | TypeScript | 32,455 | 451 |
| 17 | debpalash/VoiceStudio | Python | 16,771 | 1,672 |
| 18 | f/prompts.chat | HTML | 169,193 | 168 |
| 19 | obra/superpowers | Shell | 281,538 | 462 |
🎯 适用场景
| 场景 | 适合度 | 备注 |
|---|---|---|
| 日常开发助手 | 很适合 | 需要记忆、技能和重复操作沉淀时尤其顺手 |
| 团队内自动化 | 很适合 | Cron、gateway、profiles、memory 可以拼成一条稳定链路 |
| 多入口协作 | 很适合 | CLI、消息平台、编辑器接入共用一套核心 |
| 复杂长期任务 | 适合 | 背景任务、子代理、会话恢复都能派上用场 |
| 一次性问答 | 一般 | 如果只是临时查个问题,它会显得有点重 |
💡 总结
Hermes Agent 最吸引人的地方,不是它又接了多少平台,而是它真的把 Agent 该有的几个硬问题拆开了:技能怎么沉淀,记忆怎么长期保留,任务怎么后台跑,入口怎么共享同一套核心。源码看下来,它对边界的控制比很多同类项目更老练。
它不是最轻的那类工具,也不是给新手随手试试的玩具。可一旦你真的需要一个能长期运转、能记住东西、还能把工作流固定下来的 Agent 底座,Hermes 就很像那个会越用越顺手的项目。