Hermes Agent 评测:一个把记忆和技能循环写进核心的个人代理
Hermes Agent 作为个人代理运行,具有持久内存、计划工作、工具使用以及消息传递和本地服务集成。
秒懂
- 它是什么?
- Nous Research 的 Hermes Agent 主打持久记忆、技能自改进和跨平台消息网关。本文基于仓库文档与发布记录,分析它的架构、安装方式、适用场景和真实局限。
- 适合谁用?
- Hermes Agent 适合愿意投入时间配置、需要跨平台消息入口和持久记忆的独立开发者,也适合在云端 VPS 上跑无人值守任务的研究者。它不适合只想装一个聊天机器人的用户,因为安装后的模型配置、工具开关和网关设置都需要命令行操作,学习曲线明显。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库在最近一天内有新的提交。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题,为谁而做
大多数聊天式 AI 代理没有跨会话记忆,每次对话都从零开始。Hermes Agent 的定位是个人代理,它把记忆、定时任务、工具调用和消息平台集成打包成一个常驻进程。目标用户是愿意自己跑服务的开发者,不是只想在网页里聊两句的普通用户。README 里强调它可以跑在 $5 VPS 上,也可以跑在 GPU 集群上,这意味着它面向的是能操作服务器的人。它解决的问题很具体:你不在电脑前时,代理能通过 Telegram 或 Discord 接收指令,按 cron 执行计划任务,并把结果推送到任意平台。这不是一个演示项目,而是一个需要部署和维护的系统。
记忆不是存储,而是一个循环
README 用了「closed learning loop」这个说法。机制上,代理会定期收到提示,主动把重要信息写进记忆库。复杂任务完成后,它会自主创建技能,这些技能在后续使用中会自我改进。跨会话回忆靠的是 SQLite 的 FTS5 全文搜索,再配合 LLM 摘要。此外,它兼容 Honcho 的辩证用户建模,也支持 agentskills.io 开放标准。这意味着技能不是写死的脚本,而是可以导出、分享、被其他兼容工具使用的格式。这个设计把记忆从被动存储变成了主动维护的过程。但注意,文档没有说明记忆库的容量上限或清理策略,长期运行后 FTS5 索引膨胀是潜在问题。
安装与首个命令:一条 curl 和几条配置
Linux、macOS、WSL2、Termux 上执行 `curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash`。Windows 原生用 PowerShell 执行 `iex (irm https://hermes-agent.nousresearch.com/install.ps1)`。安装器会处理 uv、Python 3.11、Node.js、ripgrep、ffmpeg,Windows 还会下载一个约 45MB 的便携 Git Bash(MinGit),装在 `%LOCALAPPDATA%\hermes\git`,不碰系统 Git。装完后 `source ~/.bashrc`,然后运行 `hermes` 开始对话。首次使用需要选模型,命令是 `hermes model`,支持 Nous Portal、OpenRouter、OpenAI 或自定义端点。工具开关用 `hermes tools`,配置项用 `hermes config set` 和 `hermes config get`。网关用 `hermes gateway` 启动,这是连接 Telegram 等平台的关键。整个流程没有图形界面,全部是命令行。
七种终端后端,但服务器无状态是卖点也是坑
Hermes 支持本地、Docker、SSH、Singularity、Modal、Daytona、Vercel Sandbox 七种终端后端。其中 Daytona 和 Modal 提供 serverless 持久化,环境空闲时休眠,唤醒按需计费,这让它适合跑在云上而不是笔记本里。但文档没有说明不同后端之间的迁移成本。如果你从本地切到 Modal,记忆库和技能文件是自动同步还是需要手动导出,README 里没有细节。另一个实际问题是,SSH 和 Singularity 后端需要额外的认证和配置,对新手不友好。如果你只是想在单机上跑定时任务,本地后端就够用,没必要碰 serverless。
Windows 原生支持,但杀毒软件会误报
原生 Windows 安装不需要 WSL,这是个亮点。但 README 专门用一节讲 Windows Defender 和 Bitdefender 会把 `uv.exe` 当恶意软件隔离。原因是 Astral 的 uv 是 Rust 写的未签名二进制,ML 杀毒引擎容易误判。项目给出了验证方法:用 GitHub CLI 的 `gh attestation verify` 对比哈希。这个细节说明项目对 Windows 用户是认真的,但也暴露了依赖链的脆弱性。如果你所在团队有统一的安全策略,禁止运行未签名二进制,那 Hermes 在 Windows 上可能根本跑不起来。相比之下,Linux 上没有这个问题。
定时任务与并行子代理:自动化能跑多远
内置 cron 调度器支持自然语言描述任务,比如「每天报告」「每周审计」,结果可以推送到任意平台。这意味着你可以让代理在凌晨跑备份,早上把结果发到 Slack。另一个机制是子代理,可以生成隔离的并行工作流,Python 脚本还能通过 RPC 调用工具,把多步流程压缩成零上下文成本的单次调用。这对批量数据处理或研究任务有价值。但 README 没有给出 cron 表达式的具体语法,也没有说明子代理的资源隔离级别。如果子代理共享同一个 Python 环境,依赖冲突可能会发生。文档里提到的「batch trajectory generation」和「trajectory compression」说明它面向训练数据生成,但这部分对普通用户不是重点。
替代方案:与 Honcho 和 agentskills.io 的关系
Hermes 不是孤立项目,它明确集成 Honcho 做用户建模,兼容 agentskills.io 标准。Honcho 是 plastic-labs 的项目,侧重对话式用户模型,Hermes 把它作为记忆的一部分。agentskills.io 是技能开放标准,Hermes 生成的技能可以符合该标准,这意味着技能可以在不同代理间迁移。真正的替代方案是直接使用 Honcho 加一个普通代理框架,比如 LangChain 或 AutoGPT,但那些没有内置消息网关和定时调度。另一个替代是 n8n 这类自动化平台,它有图形化界面和丰富的集成,但没有持久记忆和技能自改进。Hermes 的差异在于把记忆循环和技能生成做成了核心,而不是插件。如果你只需要自动化流程,n8n 更直观;如果你需要代理能记住你并自己改进工具,Hermes 更对路。
维护成本和许可边界
MIT 许可,意味着你可以自由修改和商用,但文档没有提供贡献指南或代码结构说明,二次开发需要自己读源码。维护成本体现在几个地方:模型提供商可能变化,`hermes model` 切换不涉及代码改动,但不同模型的工具调用能力差异可能影响技能质量。记忆库和技能是本地文件,没有自动备份机制,你得自己处理。发布节奏看,v0.20.4 到 v0.20.6 间隔不到十天,更新频繁,这既是好事也是负担,升级可能引入行为变化。README 提到 Termux 上需要安装 `.[termux]` 额外包,因为完整 `.[all]` 包含 Android 不兼容的语音依赖,这说明依赖管理已经出现平台分叉。长期跑的话,建议定期检查 FTS5 索引大小和技能目录,但文档没有给出具体命令,这需要你自己探索。
编辑结论
Hermes Agent 适合愿意投入时间配置、需要跨平台消息入口和持久记忆的独立开发者,也适合在云端 VPS 上跑无人值守任务的研究者。它不适合只想装一个聊天机器人的用户,因为安装后的模型配置、工具开关和网关设置都需要命令行操作,学习曲线明显。也不适合对依赖链敏感的环境,它捆绑 uv 和 MinGit,Windows 上还可能触发杀毒软件误报。采用前先验证三件事:你的模型提供商是否在支持列表内,Telegram 或 Discord 的 bot token 能否正常创建,以及 $5 VPS 的内存是否够跑 Python 3.11 加 FTS5 索引。MIT 许可意味着你可以改代码商用,但记忆和技能数据存在本地,备份策略得自己定。这个项目的核心判断是:它把记忆和技能循环当作基础设施,而不是附加功能,这一点在同类工具里少见,但代价是初始配置和持续维护都由你承担。
社区笔记