Hermes Agent:让代理把会话经验沉淀成记忆和技能
Hermes Agent 作為個人代理運行,具有持久內存、計劃工作、工具使用以及訊息傳遞和本地服務整合。
秒懂
- 它是什麼?
- 可自托管的 AI agent,提供跨会话记忆、技能生成、多终端 gateway、模型切换和工具扩展。
- 適合誰用?
- Hermes Agent 适合愿意维护代理运行环境、希望让任务经验跨会话复用的个人开发者和自动化团队;它不适合把长期记忆当作无需审查的事实库,也不适合未准备好管理多平台凭证的人。首轮应在隔离账号中运行 `hermes setup`,测试记忆检索、技能生成、工具权限和 gateway 消息路由,再决定保存哪些私人上下文。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
Hermes 把代理记忆当成运行机制
和 AI 代理共事过一段时间的人,大多都体会过那种说不清的别扭:昨天才一起定好的方案、刚理清楚的项目约束、你反复强调过的偏好,今天重开一个会话就全部归零。你又得把背景从头讲一遍,它又得重新猜你的意思。多数工具把这种失忆当成理所当然,最多给你一个导出聊天记录的按钮了事。Nous Research 做的 Hermes Agent 把这件事当成要修的缺陷,而不是该忍受的代价。它给出的答案不是更长的上下文,也不是更聪明的模型,而是一个能跨过会话边界的学习循环。它甚至直说,自己是唯一内置学习循环的 agent。Nous Research 以 MIT 许可证发布它,还运营着一个公开 Discord,大家在那里交换自己写好的技能。这个循环会同时做几件事:在难任务后写出一个技能,在空闲时提醒自己把学到的东西留下来,翻找过去的对话好让上个月的一条信息在对的时机冒出来,并且慢慢建立起你习惯怎么工作的模型。这个循环到底怎么运转,为什么值得看,关键不在存储,而在它会随时间变化。
FTS5 检索连接过去的会话
Hermes 的学习循环不是把聊天记录存进数据库。它的记忆分几层在动。最底层是代理自己打理的记忆库,配合周期性提醒:空闲时它会被推着把刚学到的东西沉淀成可被检索的知识,而不是让经验随会话结束散掉。往上一层是技能的自发生成,完成一件够复杂的任务后,它会把这次的做法提炼成一个可复用的 skill,下次遇到类似场景直接调用。技能不是写完就锁死,它会在使用过程中自我改进,越用越贴手。再往上是跨会话的回放,靠 FTS5 做全文检索,配合 LLM 对历史对话做摘要,你不用记得三个月前在哪次对话里提过什么,它能在需要时把那段上下文捞回来。更特别的是它引入了 plastic-labs 的 Honcho 做辩证式用户建模,不是单纯记标签,而是在多轮对话里逐步加深「你是谁、你习惯怎么工作」的画像。这些技能兼容 agentskills.io 的开放标准,社区做的技能能直接接进来,agentskills.io 上的 Skills Hub 也给你一处找更多技能的地方。你可以用 `/skills` 列出已安装的内容,而开放标准意味着一个人写的技能在另一套环境里也能直接跑,不用改。README 里还提到可以派生相互隔离的子 agent 来并行处理任务流,也能写 Python 脚本通过 RPC 调用工具,把一长串多步流程压缩成不占用上下文的回合。这样攒下来的,是一个和你处得越久、越像搭档而不是陌生人的代理。
Gateway 把聊天入口接到后台环境
另一个容易被忽略的设计选择是,Hermes 默认不把计算绑在你的本地机器。它可以装在 5 美元一个月的 VPS 上,也能跑在 GPU 集群,甚至挂在几乎空闲不花钱的 Serverless 上。它支持七个终端后端:local、Docker、SSH、Singularity、Modal、Daytona 和 Vercel Sandbox。其中 Modal 和 Daytona 提供的是 Serverless 持久化,环境空闲时休眠、被需要时唤醒,两次会话之间基本不烧钱。好处很实在:你人在外面用手机,也能让它继续在云端虚拟机里干活。它用一个统一的 gateway 进程同时接上 Telegram、Discord、Slack、WhatsApp、Signal 和命令行,语音留言能被转写成文字,跨平台的对话还能接着上一段继续,桌面上开的线程在聊天软件里能无缝接上。你不需要打开专属界面,在常用的聊天软件里发句话就能驱动它。通过这一个 gateway,agent 能接到 Telegram、Discord、Slack、WhatsApp、Signal 和 Email,把它打开只要两条命令:`hermes gateway setup` 然后 `hermes gateway start`。在任何聊天里你都能跑共用的斜杠命令:`/new` 开一条新线程,`/model` 换 provider,`/stop` 停掉当前任务。这个 gateway 还内置 cron 调度器,把任务投递到任意平台,日报、夜间备份、每周审计都能用自然语言描述后无人值守地跑起来。本地那套终端 UI 也没省,完整 TUI 支持多行编辑、斜杠命令自动补全、会话历史、中途打断改方向、工具输出实时流式显示,该有的都在,不再绑在一台设备上。
Provider 切换与工具权限分开配置
模型绑定是另一个常被悄悄收走的自由。Hermes 在这点上刻意做成开放:你可以用 Nous Portal、OpenRouter、OpenAI,也可以接自己的端点,以及一长串其他 provider。切换模型只需要在命令行敲 `hermes model`,没有代码改动,也没有把工作锁死在某个厂商里。如果你不想自己东拼西凑去收集 web 搜索、图像生成、TTS、云浏览器各自的 API key,Nous Portal 一个订阅把它们包了:300 多个模型任选,外加一条 Tool Gateway 把 Firecrawl 的搜索、FAL 的生图、OpenAI 的语音、Browser Use 的云浏览器都从同一个订阅里路由出去,连额外账号都不用开。装好后的第一次配置,`hermes setup --portal` 走 OAuth 登录、把 Nous 设成 provider、顺手打开 Tool Gateway,一条命令搞定;`hermes portal info` 随时能看接上了什么。真要自己带 key 也行,gateway 是按后端隔离的,不是全有或全无。底层还有四十多个工具组成的 toolset,也能接任意 MCP 服务器扩展能力。跑起来之后,`hermes tools` 决定哪些工具保持开启,`hermes config set` 直接写单项配置,不用手动改文件。如果你是从 OpenClaw 过来的,`hermes claw migrate` 一次就把你的设置、记忆、技能和 API key 都迁进来。上手门槛很低:一行 curl 装好 uv、Python 3.11、Node.js、ripgrep、ffmpeg 全套,`hermes` 就能开聊;原生 Windows 上同样的命令还会顺带拉进一个便携版 Git Bash,让代理能跑 shell 命令而不碰你系统里的 Git,要是杀毒软件误报这个自带二进制,安装器还会一步步带你核验。
七种终端后端对应不同的部署取舍
README 列出 local、Docker、SSH、Singularity、Modal、Daytona 和 Vercel Sandbox 七种终端后端。前四种更接近持续运行的主机或容器,后两种支持持久化的 Serverless 环境,空闲时休眠,需要任务时唤醒。Vercel Sandbox 则提供另一种隔离执行位置。选择时要把文件持久化、网络出口、GPU、冷启动和任务时长放进同一张表。
Hermes 的安装器在 Linux、macOS、WSL2 和 Termux 之间有不同路径,Windows 原生安装会准备 Python 3.11、Node.js、ripgrep、ffmpeg 和便携 Git Bash。Windows 杀毒软件可能隔离 uv.exe,README 给出用 GitHub CLI 验证签名的步骤。测试应检查安装目录、shell 执行、工具权限和升级后环境是否仍可复用。
自动化和研究接口不能共用同一信任假设
Hermes 内置 cron 调度器,可以把日报、备份和审计任务投递到消息平台;它也能派生相互隔离的子 agent,并通过 Python RPC 调用工具。README 还提到批量轨迹生成和轨迹压缩,用于研究工具调用模型。无人值守任务与交互对话的风险不同,前者必须明确触发时间、目标平台、文件权限和失败通知。
先在测试账号运行 `hermes gateway setup`、`hermes gateway start` 和 `hermes tools`,再验证 `/new`、`/model`、`/stop` 的路由效果。记忆、技能、API key 和聊天内容需要按敏感度分层保存。MIT 许可证覆盖代码使用,不能替代对模型服务、消息平台和远程执行环境的安全审查。
編輯結論
Hermes Agent 适合愿意维护代理运行环境、希望让任务经验跨会话复用的个人开发者和自动化团队;它不适合把长期记忆当作无需审查的事实库,也不适合未准备好管理多平台凭证的人。首轮应在隔离账号中运行 `hermes setup`,测试记忆检索、技能生成、工具权限和 gateway 消息路由,再决定保存哪些私人上下文。
社群筆記