Hermes Agent记忆插件选型指南:8大智能体记忆方案深度对比
1 引言
现代AI助手在对话关闭后便“遗忘”一切,除非用某种机制将信息持久化在上下文窗口之外。AI智能体记忆提供商(Agent Memory Providers)正是为此而生——它们作为插件接入智能体框架,实现跨会话的事实与摘要存储,同时保持核心轻量化。

本指南对比了 Hermes Agent 支持的八种外部记忆后端:Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory。这些提供商也通过社区或官方集成出现在 OpenClaw 及其他智能体工具链中。
ℹ️ Hermes 内置的 MEMORY.md / USER.md 机制与外部提供商并行运行,二者是叠加而非替代。同一时间仅能激活一个外部提供商。
2 外部依赖的本质:隐私、成本与自托管可行性
除 Holographic 外,每个提供商至少需要一次外部服务调用——用于记忆提取的 LLM、用于语义搜索的嵌入模型,或用于存储的数据库(如 PostgreSQL)。这些依赖直接影响:
- 隐私:
数据是否离开你的基础设施 - 成本:
API 调用费用 + 基础设施维护 - 自托管完整度:
能否完全脱离第三方服务运行
若提供商支持 Ollama 或任何 OpenAI 兼容端点,可将 LLM 与嵌入调用路由至本地模型,实现完全数据主权。
3 在 Hermes Agent 中激活外部记忆
hermes memory setup # 交互式选择器 + 配置向导hermes memory status # 检查当前激活状态hermes memory off # 禁用外部提供商
或手动编辑 ~/.hermes/config.yaml:
memory: provider: openviking # 可选:honcho, mem0, hindsight, holographic, retaindb, byterover, supermemory
4 提供商核心指标对比
|
|
|
|
|
|
|
|---|---|---|---|---|---|
| Honcho |
|
|
|
|
|
| OpenViking |
|
|
|
|
|
| Mem0 |
|
|
|
|
|
| Hindsight |
|
|
|
|
reflect 跨记忆综合推理 |
| Holographic |
|
|
无 |
|
|
| RetainDB |
|
|
|
|
|
| ByteRover |
|
|
仅需 LLM
|
|
|
| Supermemory |
|
|
|
|
|
5 各提供商深度解析
🔷 Honcho —— 多智能体系统的会话建模
定位: 多智能体协作、跨会话上下文、用户-智能体对齐。
Honcho 将对话抽象为“对等方”(peers)之间的消息交换。每个 Hermes 配置文件包含一个用户对等方和一个 AI 对等方,共享同一工作区(workspace)。它构建双层上下文:
- 基础层:
会话摘要 + 用户表征 + 对等方卡片 - 辩证补充层:
LLM 驱动的推理( dialectic机制)
外部依赖详解:
-
LLM:用于摘要、用户表征推导、辩证推理(支持 OpenAI 兼容端点 → 可接入 Ollama) -
嵌入模型:用于语义搜索(默认 openai/text-embedding-3-small,可通过LLM_EMBEDDING_BASE_URL替换为本地 vLLM+BGE) -
存储:PostgreSQL + pgvector + Redis
关键配置参数:
contextCadence:1 # 基础层刷新所需的最小对话轮次(默认1)dialecticCadence:2 # 辩证推理调用的最小轮次间隔(推荐1-5)dialecticDepth:1 # 每次`.chat()`的传递次数,限制1-3recallMode:hybrid # hybrid(自动+工具) / context(仅注入) / tools(仅工具)writeFrequency:async # async / turn / session / N
工具集:honcho_profile, honcho_search, honcho_context, honcho_reasoning, honcho_conclude
🔷 OpenViking —— 文件系统即记忆
定位: 完全自托管的知识管理,结构化浏览。
OpenViking 将记忆存储在本地文件系统层级中,采用分层加载策略。无需数据库,所有数据以人类可读形式保存。
外部依赖:
-
VLM(视觉-语言模型):语义处理与记忆提取(支持 OpenAI/Anthropic/DeepSeek/vLLM 等) -
嵌入模型:向量搜索(支持 OpenAI/Jina/Voyage/Ollama) openviking-server init
向导可自动检测硬件并推荐 Ollama 模型(如 Qwen3-Embedding 8B + Gemma 4 27B),实现零 API 密钥完全本地化。
安装配置:
pip install openvikingopenviking-server init # 交互式向导,自动配置Ollama本地模型openviking-serverhermes memory setup # 选择 "openviking"echo"OPENVIKING_ENDPOINT=http://localhost:1933" >> ~/.hermes/.env
🔷 Mem0 —— 零配置的自动记忆管理
定位: 开箱即用的自动化记忆提取与去重。
每次 add 操作触发 LLM 调用,读取对话内容,提取离散事实,去重后存储。托管云 API 处理一切基础设施;开源版允许完全自托管。
外部依赖:
-
LLM:记忆提取(默认 gpt-4.1-nano,支持 Ollama/vLLM/LM Studio 等 20+ 提供商) -
嵌入模型:检索(默认 text-embedding-3-small,支持 Ollama/HuggingFace 等 10+ 提供商) -
存储:库模式使用本地 Qdrant ( /tmp/qdrant),服务器模式使用 PostgreSQL+pgvector
完全本地化配置示例:
from mem0 import Memoryconfig = { "llm": {"provider": "ollama", "model": "llama3.1"}, "embedder": {"provider": "ollama", "model": "nomic-embed-text"}, "vector_store": {"provider": "qdrant", "path": "./qdrant_data"}}mem = Memory.from_config(config)
🔷 Hindsight —— 知识图谱 + 跨记忆综合推理
定位: 实体关系建模,高阶洞察生成。
Hindsight 构建知识图谱(实体-关系-记忆),检索时并行运行四种策略:
-
语义搜索(向量) -
关键词/BM25 -
图谱遍历(相关实体) -
时序召回
然后使用 倒数排名融合(RRF, Reciprocal Rank Fusion) 合并结果,并可选交叉编码器重排序。
独特工具 reflect: 对多条记忆进行综合推理,生成新洞察(例如:“记忆A和B结合暗示用户更喜欢异步沟通”)。
外部依赖:
-
LLM:事实/实体提取 + reflect综合推理(支持 Ollama 等,但reflect需要支持工具调用的模型,如qwen3:8b) -
嵌入模型与重排序器:已捆绑( hindsight-all包内置本地模型) -
PostgreSQL:也捆绑于嵌入式 Python 中,无需外部安装
完全本地化配置:
hermes memory setup # 选择 hindsight,模式选 local# 设置环境变量指向本地 Ollamaexport HINDSIGHT_API_LLM_PROVIDER=ollamaexport HINDSIGHT_OLLAMA_BASE_URL=http://localhost:11434
🔷 Holographic —— 零依赖的纯本地记忆
定位: 极端隐私保护,无需任何基础设施。
使用 HRR(全息降维表示,Holographic Reduced Representations) 代数对记忆进行编码。HRR 是一种将符号结构表示为高维向量的方法,支持可逆的捆绑(binding)与解绑(unbinding)操作,无需神经网络或嵌入模型。
核心原理:
-
每个记忆项编码为一个向量,通过循环卷积(circular convolution)绑定到上下文标签 -
检索时通过相似性(向量点积)召回 -
信任评分:基于记忆的访问频率与 recency 进行指数衰减加权
零依赖: 无 LLM、无嵌入、无数据库、无网络。代价是检索质量低于基于语义嵌入的方案,且不支持抽象推理。
适用场景: 隐私敏感、离线环境、极简部署(如边缘设备)。
🔷 RetainDB —— 增量压缩的云端服务
定位: 高频更新场景下的记忆压缩存储。
RetainDB 采用增量压缩技术:每次更新时仅存储变更(delta),而非重写整个记忆。检索时混合使用向量 + BM25 + 重排序。
外部依赖: 完全托管于 RetainDB 云端(月费 $20)。服务端使用 Claude Sonnet 进行记忆提取。无自托管选项,数据必须发送至第三方服务器。
🔷 ByteRover —— 人类可读的上下文树
定位: 本地优先,审计友好的记忆存储。
ByteRover 将记忆存储为 Markdown 层级树: 领域(domain)→ 主题(topic)→ 子主题 → 文件。所有知识以纯文本形式保留,完全可读可编辑。
技术特点:
-
无需嵌入模型:检索使用 MiniSearch 全文搜索(轻量级倒排索引) -
无需向量数据库:上下文树即存储 -
LLM 仅用于记忆策展(将新内容归类到树的合适位置)及搜索回退
外部依赖: 仅需 LLM(18+ 提供商,包括 Ollama)。可选云同步用于团队协作。
完全本地化示例:
brv providers connect openai-compatible --base-url http://localhost:11434/v1hermes memory setup # 选择 byterover
🔷 Supermemory —— 企业级上下文隔离
定位: 大型企业的记忆治理。
Supermemory 提供上下文隔离(按不同的 context 隔离记忆,避免交叉污染)和会话图谱导入(批量导入历史对话)。混合检索(语义+关键词)加用户画像自动构建。
自托管限制: 仅作为企业计划附加项,部署于 Cloudflare Workers,需要提供 PostgreSQL+pgvector 以及 OpenAI API 密钥(强制)。无 Docker/裸机自托管路径。
6 选型决策树
你的首要需求是?│├─ 完全自托管 + 无需任何外部服务?│ └─ Holographic(零依赖,但检索质量一般)或 ByteRover(仅需本地 LLM)│├─ 需要知识图谱 + 高阶推理?│ └─ Hindsight(支持 reflect 综合推理)│├─ 需要多智能体协作 + 跨会话用户建模?│ └─ Honcho(辩证建模 + 对等方抽象)│├─ 需要最低配置门槛,自动管理记忆?│ └─ Mem0(自动提取去重)│├─ 希望存储为人类可读文件,便于审计?│ └─ ByteRover(Markdown 树 + 全文检索)│├─ 企业级上下文隔离且接受 Cloudflare 绑定?│ └─ Supermemory│└─ 高频更新 + 接受全托管付费? └─ RetainDB
7 技术深度补充:两种值得关注的底层机制
1. HRR 代数(Holographic)
HRR 通过向量循环卷积实现符号绑定。给定两个向量 a 和 b,其绑定结果 c = a ⊛ b 定义为:
c_k = Σ_i a_i * b_{(k-i) mod n}
解绑时使用近似逆卷积。整个操作 O(n log n) 可使用 FFT 加速。Holographic 利用此机制在无训练、无嵌入的情况下实现可解释的记忆编码。
2. RRF(倒数排名融合,Hindsight 使用)
对于多个检索源的排名列表,RRF 综合分数为:
RRF_score(d) = Σ_{s} 1 / (k + rank_s(d))
其中 k 通常取 60。RRF 无需归一化不同来源的原始分数,对离群值鲁棒,在多策略召回中广泛使用。
8 配置实战:将提供商完全本地化
以 Mem0 + Ollama + Qdrant 本地为例:
# mem0_local_config.pyfrom mem0 import Memoryconfig = { "llm": { "provider": "ollama", "config": { "model": "llama3.1:8b", "base_url": "http://localhost:11434", } }, "embedder": { "provider": "ollama", "config": { "model": "nomic-embed-text", "base_url": "http://localhost:11434", } }, "vector_store": { "provider": "qdrant", "config": { "path": "./qdrant_data", # 本地持久化 } }}memory = Memory.from_config(config)# 添加记忆(自动提取)memory.add("用户喜欢用 Python 处理数据,讨厌 JavaScript", user_id="alice")# 检索results = memory.search("编程语言偏好", user_id="alice")
此配置不调用任何外部 API,所有模型与向量库运行在本机。
9 总结
|
|
|
|---|---|
|
|
Holographic |
|
|
ByteRover |
|
|
Hindsight |
|
|
Honcho |
|
|
Mem0
|
|
|
Supermemory |
|
|
RetainDB |
选择记忆提供商本质是权衡:隐私 vs 智能、控制 vs 便利、成本 vs 功能。请根据你的数据主权要求和运维能力做出决策。
夜雨聆风