记忆后端——记忆存在哪里
Hermes 功能详解第5篇:记忆提供方。内置记忆、Honcho、各种记忆后端任你选。
记忆后端——记忆存在哪里
嘿,朋友们!今天咱们来聊聊一个特别接地气的话题:Hermes 的记忆到底存哪儿了?
你可能已经用过 /remember 或者让 Agent 记住了一些事情,但有没有好奇过——这些记忆是放在云端、本地,还是某个神秘的小黑盒里?别急,咱们一层层扒开看。
记忆的“家”:本地文件
Hermes 默认把记忆存在你电脑上的 ~/.hermes/ 目录里。你可以把它理解成 Agent 的“日记本”——所有长期记忆、技能索引、配置文件,都安安静静躺在这个文件夹里。
想亲眼看看?打开终端,输入:
ls ~/.hermes/
你会看到一堆文件和文件夹,其中就有记忆相关的存储。放心,这些数据不会上传到任何云端,除非你主动配置了外部服务。
记忆的“外挂”:外部记忆后端
除了内置的 MEMORY.md 和 USER.md,Hermes 还自带 8 个外部记忆后端插件,能给 Agent 提供跨会话的持久知识。同一时间只能启用一个外部后端,内置记忆始终和它一起工作。
hermes memory setup # 交互式选择 + 配置
hermes memory status # 查看当前启用了什么
hermes memory off # 关闭外部后端
也可以手动在 ~/.hermes/config.yaml 里指定:
memory:
provider: openviking # 或者 honcho, mem0, hindsight, holographic, retaindb, byterover, supermemory
启用后,Hermes 会自动把后端上下文注入系统提示词、在每轮对话前预取相关记忆、在回复后同步对话内容,并给 Agent 加上后端专属的记忆工具。内置记忆照常工作,外部后端只是“叠加”上去的。
顺带一提,每个后端的数据都是按 profile 隔离的,不同 profile 之间互不串味。
另外,记忆后端正在陆续搬到插件目录里,由各自的维护者在自己的仓库发布。对你来说没啥变化:后端名字、memory.<name> 配置、数据目录和工具都照旧。如果某个你配置过的后端不再随 Hermes 一起发布,hermes update 会自动为用到它的 profile 装上对应的目录插件;走桌面端更新的话,Agent 首次启动时也会做同样的事(除非 security.allow_lazy_installs 被设成了 false,那它会打印一行 hermes plugins install <name> 让你自己装)。
记忆的“备份”:checkpoints
Hermes 还藏了一个“后悔药”机制——checkpoints。它会在 ~/.hermes/checkpoints/ 里存下一些关键时刻的快照,方便你随时用 /rollback 回到之前的状态。
想看看有多少“后悔药”?
hermes checkpoints
这个命令会给你一个状态总览,还能帮你清理或清空旧快照。相当于给记忆上了个保险,再也不怕手滑改坏东西了。
记忆的“搬运工”:backup 和 import
好记性不如烂笔头,烂笔头不如备份!Hermes 提供了超简单的备份方案:
# 备份整个 Hermes 家目录(包括记忆)到 zip
hermes backup
# 从 zip 恢复
hermes import backup-file.zip
这招特别适合换电脑或者折腾配置前——先备份,随便折腾,出问题一键还原。
记忆的“体检”:prompt-size
好奇你的记忆占了多少“脑容量”?Hermes 有个贴心小工具:
hermes prompt-size
它会给你展示系统提示词 + 工具定义 + 记忆索引的字节级明细,让你清楚知道每次对话“脑子里”装了多少东西。而且这个命令完全离线运行,不会泄露任何隐私。
记忆的“开关”:ignore-rules
有时候你可能想“失忆”一下——比如测试时不想让 Agent 自动加载记忆和规则。这时候用:
hermes --ignore-rules chat
这个参数会跳过 AGENTS.md、SOUL.md、记忆和预加载技能的自动注入。相当于让 Agent 以“出厂状态”跟你聊天,特别适合排查问题。
小结
所以,Hermes 的记忆默认存在本地,有备份、有快照、有体检工具,还有“失忆开关”。一切都是透明、可控的——你的数据,你做主!
下次再有人问“记忆存哪儿”,你就可以拍着胸脯说:就在我电脑里,清清楚楚,明明白白!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/memory-providers