Memory OS实战教程:5个步骤让你的Hermes Agent记住每一个会话

【免费下载链接】memory-os A 7-layer memory operating system for Hermes Agent — persistent memory with Qdrant, structured facts, fabric recall, auto-curated wiki, and surgical context injection. Runs locally, any LLM provider. 【免费下载链接】memory-os 项目地址: https://gitcode.com/gh_mirrors/me/memory-os

你是否曾经因为AI助手忘记之前的对话而感到沮丧?🤔 每次都要重复解释项目背景、技术栈和决策过程?Memory OS正是为了解决这个问题而生——这是一个为Hermes Agent设计的7层记忆操作系统,能让你的AI助手真正记住每一个会话,成为你长期的协作伙伴!✨

Memory OS通过持久化记忆、结构化事实存储、智能上下文注入等技术,让你的Hermes Agent拥有类似人类的长期记忆能力。最棒的是,这一切都运行在你的本地机器上,支持任何LLM提供商(OpenRouter、OpenAI、Anthropic、Ollama等),无需云端订阅,完全掌控你的数据!

🚀 为什么需要Memory OS?

传统的Hermes Agent有一个致命缺陷:会话失忆症。你花费数小时教导它你的偏好、解决复杂问题,但下次会话时它就像初次见面一样。这导致:

  • 每次对话都要重复上下文
  • 重要的决策和讨论被遗忘
  • 缺乏结构化的事实存储
  • 无法跨会话学习和进化

Memory OS通过7层架构解决了这些问题,让AI助手真正成为你的长期记忆伙伴。让我们开始实战之旅吧!🎯

📦 第一步:快速安装与配置

安装Memory OS非常简单,只需一条命令即可完成完整设置:

curl -sSL https://raw.githubusercontent.com/ClaudioDrews/memory-os/main/setup.sh | bash

这条命令会自动安装所有组件:Docker服务栈(Redis + Qdrant + Worker)、Icarus插件、SQLite数据库、Wiki知识库和环境变量配置。所有步骤都是幂等的,可以安全地重复运行。

安装前的准备工作

确保你的系统满足以下要求:

  • Docker 和 Docker Compose v2
  • Python 3.11+
  • Hermes Agent v0.14.0+
  • OpenRouter API密钥(或本地Ollama用于嵌入)

如果你更喜欢手动控制安装过程,可以参考详细的安装指南,其中包含了每个步骤的验证检查点。

Memory OS架构图

🔧 第二步:核心组件深度解析

Memory OS的7层架构是其强大记忆能力的核心。让我们深入了解每一层的功能:

第1层:工作空间记忆

  • 文件位置$HERMES_HOME/memories/
  • 包含文件MEMORY.mdUSER.mdCREATIVE.md
  • 功能:每轮对话都会注入系统提示

这一层存储了代理的环境事实、工具特性和项目约定。通过智能的§分隔符系统,确保不同写入器不会冲突。

第2层:会话记忆

  • 数据库state.db(SQLite + FTS5)
  • 功能:全文搜索你的整个对话历史

使用FTS5全文搜索引擎,让你可以快速检索过去的任何对话内容。无论你想查找几周前的技术讨论还是几个月前的项目决策,都能轻松找到。

第3层:结构化事实存储

  • 数据库memory_store.db
  • 特性:HRR + FTS5 + 信任评分 + 实体解析

这一层存储了带有信任评分的持久化事实,通过自动反馈循环随时间训练信任分数。实体解析确保相同概念的不同表述被正确关联。

第4层:Fabric跨会话记忆

  • 组件:Icarus插件(深度修改版)
  • 功能:LLM驱动的会话提取 + 多源上下文注入

Icarus插件位于icarus/目录,提供了16个强大的记忆工具:fabric_recallfabric_writefabric_brief等。它能够智能地从对话中提取关键学习点,并在需要时精准注入。

第5层:向量数据库

  • 技术:Qdrant(4096维余弦 + BM25稀疏向量)
  • 检索策略:4级回退机制:混合搜索 → 密集向量 → 词法搜索 → SQLite回退

Qdrant提供了高效的语义搜索能力,每周的衰减扫描器和语义去重(余弦相似度>0.92时合并)确保记忆质量随时间提升。

第6层:LLM Wiki知识库

  • 结构:自动策划的知识库:concepts/、entities/、comparisons/
  • 流程:通过wiki-continuous-ingest持续摄入Qdrant

这是一个自我进化的知识库系统,能够自动组织和链接你的知识,形成结构化的知识网络。

第7层:Ground Truth层级(最关键!)

  • 文件SOUL.mdrulebook.md
  • 作用:告诉代理注入的记忆是权威的

这是Memory OS最关键的创新!如果没有这一层,即使前6层完美地捕获和注入了记忆,代理仍然会忽略它们,重新发现已经存在的知识。Ground Truth层级确保代理实际使用注入的上下文。

🛠️ 第三步:环境配置与优化

正确的配置是Memory OS高效运行的关键。以下是核心配置要点:

环境变量设置

.env文件中配置以下关键变量:

# 必需的环境变量
HERMES_AGENT_NAME=hermes  # 代理的唯一标识符
MEMORY_OS_WIKI_PATH=/path/to/your/vault/wiki  # Wiki知识库路径

# 嵌入后端配置(默认为OpenRouter)
EMBEDDING_API_BASE=https://openrouter.ai/api/v1
EMBEDDING_MODEL=qwen/qwen3-embedding-8b

# 可选配置
MEMORY_OS_HERMES_HOME=/home/your-user/.hermes
MEMORY_OS_FABRIC_DIR=/home/your-user/vault/fabric

数据库初始化

运行数据库设置脚本创建必要的SQLite数据库:

python setup/setup_db.py

这个脚本会创建两个核心数据库:

  • state.db:会话历史、谱系、反思预算
  • memory_store.db:事实、实体、记忆银行

Docker服务启动

进入docker目录并启动所有服务:

cd docker
docker compose up -d

使用docker compose ps检查所有服务(qdrant、redis、worker)是否都处于"healthy"状态。

📚 第四步:实际使用与验证

安装配置完成后,让我们验证Memory OS是否正常工作:

验证服务状态

# 检查Docker服务
docker compose ps

# 测试Qdrant健康状态
curl -s http://localhost:6333/healthz  # 应该返回"ok"

# 验证Icarus插件
hermes plugins list | grep icarus  # 应该显示插件信息

测试记忆功能

启动Hermes Agent,开始一个新的会话。你会发现代理现在能够:

  1. 回忆过去的决策(通过Icarus Fabric)
  2. 搜索你的知识库文档(通过Qdrant)
  3. 交叉引用提到的事实(通过fact_store)
  4. 智能注入相关上下文(无需手动提示)

添加知识内容

创建你的第一个Wiki文档:

mkdir -p ~/vault/wiki/raw
echo "# 我的项目笔记" > ~/vault/wiki/raw/project-notes.md
echo "## 技术栈选择" >> ~/vault/wiki/raw/project-notes.md
echo "- Python 3.11+" >> ~/vault/wiki/raw/project-notes.md
echo "- FastAPI后端" >> ~/vault/wiki/raw/project-notes.md
echo "- React前端" >> ~/vault/wiki/raw/project-notes.md

Worker会自动检测并索引新文件,将它们添加到Qdrant向量数据库中。

🔍 第五步:高级功能与维护

智能上下文注入机制

Memory OS的pre_llm_call钩子会从四个来源进行外科手术式的精准召回:

  • Fabric跨会话记忆
  • Qdrant向量搜索
  • 会话历史
  • 结构化事实

每个来源都有相关性阈值控制,每次会话都有去重机制,防止相同上下文重复出现。社交结束过滤器会跳过琐碎消息,确保LLM只获得它需要的内容——不多不少。

维护脚本

Memory OS提供了一系列维护脚本,位于scripts/目录:

  • decay_scanner.py:每周扫描并归档过时的记忆
  • semantic_dedup.py:语义去重(余弦相似度>0.92时合并)
  • wiki_continuous_ingest.py:持续摄入Wiki内容到Qdrant
  • bulk_wiki_ingest.py:批量导入现有Wiki内容

性能优化技巧

  1. 调整Qdrant配置:根据你的硬件调整向量维度和服务参数
  2. 优化嵌入模型:选择适合你用例的嵌入模型
  3. 定期运行维护脚本:保持记忆库的清洁和高效
  4. 监控服务状态:使用提供的健康检查端点

🎯 实战案例:项目协作记忆

假设你正在开发一个Web应用项目,Memory OS如何帮助你?

第一次会话:技术选型讨论

  • :我们需要选择后端框架,有什么建议?
  • 代理:基于你之前的项目经验,你通常使用FastAPI。考虑到这个项目的API复杂度,FastAPI可能是好选择。
  • 记忆存储:这次讨论被记录在会话记忆和Fabric中

第二次会话:数据库设计

  • :我们应该使用PostgreSQL还是MongoDB?
  • 代理:根据上次的技术选型讨论,你选择了FastAPI。FastAPI与PostgreSQL的集成更成熟,而且你之前提到过对关系型数据库的偏好。
  • 记忆注入:代理自动注入了上次的技术栈选择上下文

第三次会话:部署策略

  • :如何部署这个应用?
  • 代理:考虑到FastAPI后端和React前端的技术栈,以及你之前对PostgreSQL的选择,Docker Compose可能是合适的部署方案。你之前在其他项目中成功使用过这个方案。
  • 记忆进化:代理不仅记得技术选择,还能关联到你的历史项目经验

🚨 常见问题与解决方案

Q:Qdrant集合显示0个点

A:检查Wiki路径配置和Worker服务状态。运行scripts/test_ingestion.py验证摄入流程。

Q:Fabric条目被截断

A:这是Icarus插件的默认行为。修改icarus/state.py中的提取逻辑,或调整上下文长度限制。

Q:记忆工具报告"Icarus写入冲突"

A:确保Icarus插件写入CREATIVE.md而不是MEMORY.md。检查文件权限和路径配置。

Q:上下文注入不工作

A:验证Ground Truth层级是否正确配置。检查SOUL.mdrulebook.md中的修改是否应用。

Q:每周衰减扫描器总是显示"0已归档"

A:调整衰减阈值或检查Qdrant中的点时间戳。可能需要手动触发重新索引。

📈 性能对比:Memory OS vs 其他方案

特性 Memory OS mem0 Zep Letta
本地记忆基础设施
无记忆订阅费
提供商无关 部分 部分 部分
Hermes原生集成
结构化事实+信任评分 部分
自我策划Wiki
智能衰减+归档
Ground Truth层级

🎉 开始你的记忆之旅

Memory OS不仅仅是一个插件,它是一个完整的记忆操作系统。通过7层协同工作,从平面文件到向量数据库,再到外科手术式的上下文注入,它让你的Hermes Agent真正成为你的长期协作伙伴。

记住,最关键的创新是第7层:Ground Truth层级。没有这一层,即使前6层完美地捕获和注入了记忆,代理仍然会忽略它们。有了这一层,注入的记忆被明确标记为权威,代理必须使用提供的上下文。

现在就开始吧!克隆仓库,运行它,感受真正的记忆能力带来的不同。你的Hermes Agent终于可以停止忘记了!🚀

专业提示:定期查看layers/目录下的各层深度解析文档,了解每个组件的详细工作原理和优化技巧。

【免费下载链接】memory-os A 7-layer memory operating system for Hermes Agent — persistent memory with Qdrant, structured facts, fabric recall, auto-curated wiki, and surgical context injection. Runs locally, any LLM provider. 【免费下载链接】memory-os 项目地址: https://gitcode.com/gh_mirrors/me/memory-os

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐