我曾询问是否存在一种以本地优先的 Markdown 记忆服务器。你们给出了约 20 个建议。以下是我逐一调研后的发现。
摘要
全面回顾以本地优先的 AI 智能体记忆系统,对比了 mem0、Hindsight 和 mnem 等选项,最终推荐 Engram,因为它独特地结合了本地存储和人类可读的 Markdown 文件。
一周前,我在此发帖询问是否存在一种特定的东西:一种完全本地的智能体记忆系统,以可读文件的形式存储记忆——不是数据库,不是云服务,仅仅是我可以打开、阅读和编辑的文件。很多人回复了建议。我逐一查看了所有这些建议。以下是详细分析。 --- **首先,其中一些并不是记忆系统** 在进行实际比较之前,值得指出几个频繁出现但属于不同工具的东西:ChromaDB 是一个向量数据库——你可以在它之上构建记忆系统,但它本身不是记忆系统。qmd 是一个文档搜索引擎,没有写入流水线,也没有记忆生命周期管理。ContextKeep 执行上下文压缩。LCM 保留会话上下文,而非跨会话的持久化记忆。这并不是批评——它们都是有用的工具。只是不是我询问的对象。 --- **成熟的主流选项** **mem0** 是市场领导者,实至名归——生态系统成熟,提供多种语言的 SDK,基于图的记忆系统支持实体提取,已在生产规模中得到验证。如果云基础设施不是顾虑因素,这可能是大多数人的正确选择。其权衡之处在于:默认使用 OpenAI,倾向于其托管服务,并将所有数据存储在数据库中。你的智能体的记忆在很大程度上是不透明的,且不在你的本地机器上。 **Hindsight** 是我的帖子中最常见的建议,通常推荐是合理的。它提供知识图谱、实体解析,并能处理相互矛盾的记忆。这是一个扎实的项目。但它需要 Postgres 和向量数据库才能运行,且存储方式为 SQL——你不能直接阅读智能体知道什么,必须通过查询。 **Zep** 在这一领域拥有最长的历史记录,背后有真正的企业级部署支撑。支持多模态记忆,结构化知识提取。与 Hindsight 类似的基础设施要求,默认以云为先。 **Honcho** 采取更学术化的角度——持续学习,有状态架构。目前更偏向研究级而非生产就绪,且 AGPL 许可证加上对云的依赖限制了自由使用的程度。 --- **OpenClaw 特定选项** **memory-lancedb-pro** 是 OpenClaw 生态系统中最强的记忆插件——混合检索,适当的衰减模型,积极维护。如果你已经在使用 OpenClaw,这很可能是你的首选。但它不是一个独立的服务器。 **GBrain** 类似——以 MCP 为先,OpenClaw 集成不错,但在该生态系统之外特别用处不大。 --- **最有趣的新进入者** **mnem** 是最有技术野心的新加入者。Rust 编写,单二进制文件,捆绑嵌入器——无 Python,无 Ollama,无外部依赖。其卖点是“智能体记忆的 git”:分支你的记忆状态,对比差异,跨智能体合并,回滚不良写入。使用 GraphRAG 进行检索。在与 mem0 的基准测试中表现良好。仅两周历史,因此测试覆盖率较薄。对我用法的另一个限制:它使用内容寻址的图节点而非可读文件,因此你仍然无法打开存储库查看内部内容。但确实值得关注。 --- **我最初询问的空白** 在查看所有内容后,以下是我在单个软件包中找不到的东西:完全本地 + 人类可读的文件存储 + 智能去重 + 重要性衰减 + 无需任何基础设施要求的独立服务器。一些项目具备其中两三个特性。没有人具备所有特性——这就是我发布原始帖子的原因。去重很重要,因为如果没有它,智能体会不断写入冗余记忆。衰减很重要,因为旧上下文的权重不应与新上下文相同。可读文件很重要,如果你想知道你的智能体实际上认为它知道什么,并在它出错时进行纠正。完全本地既关乎成本,也关乎隐私——如果你的智能体正在积累有关你项目和决策的知识,这些数据可能不应该离开你的机器。 --- **实际填补空白者:Obsidian68 的 Engram** github.com/Obsidian68/Engram 这不在你们的任何建议中——我在继续浏览列表时单独发现了它。全新项目,几乎没有任何星标。但它是唯一一个符合所有四个条件的项。记忆以 Markdown 文件形式存入文件夹。你可以在 VS Code 中打开它,阅读智能体确切知道什么,直接编辑条目,删除错误内容——智能体会在下次会话中看到更改。完整的 REST API 和 MCP 服务器。写入时智能去重。重要性衰减,因此旧记忆会随时间自然减轻权重。完全在 Ollama 上运行——无 API 密钥,无外部调用,没有任何数据离开你的机器。隐私方面值得强调。这一领域中大多数成熟选项要么将智能体的记忆放在托管服务上,要么通过外部 API 路由。Engram 从设计上就是本地的,而非通过配置实现。诚实的警告:仅一周历史,文档稀疏,尚无 SDK,存在粗糙边缘。但对于本地开发和个人智能体设置,它解决了我正在寻找的确切问题,且该领域中没有其他项目以相同方式实现。附注:GitHub 上有很多不同项目命名为“Engram”。请专门搜索 Obsidian68/Engram。 --- **总结** - 生产环境,云可接受 → mem0 - 知识图谱,实体解析 → Hindsight 或 Zep - 记忆版本控制和分支 → mnem - OpenClaw 特定 → memory-lancedb-pro - 本地,可读文件,完全私密,零基础设施 → Engram (Obsidian68) 感谢原始帖子中的所有建议——我逐一查看了每一个。
相似文章
我曾以为Markdown记忆对智能体足够用了。结果它变成了提示债。
作者反思了将扁平化Markdown文件用作智能体长期记忆的局限性,随着记忆增长,这导致了提示债,并提倡使用基于图的记忆表示方法,动态检索相关上下文。
@yyyole: Agent memory的创业方向好火爆! 很多团队都在做,大概有下面几种比较主流的思路: 第一种最粗暴:context路线,把上下文增长。 第二种最常见:RAG / 向量库路线,接一个向量库把历史内容 embedding 后做检索。 第…
介绍Agent memory创业的几种主流思路,并推荐EverMind团队的开源项目EverOS,它提供以Markdown为源的本地记忆操作系统,支持双轨记忆、多模态摄取和自演化能力。
寻求反馈:一个AI智能体和人类都能使用的记忆系统
作者介绍了Noosphere,一个面向AI智能体和人类的开源记忆与维基层,正在寻求对其基于Postgres的结构化记忆、Redis缓存的召回机制以及可人工编辑的维基页面的反馈。
@svpino:开源总有办法!这是一个面向 Mac 用户的开源、本地优先的 LLM 智能体记忆层
一个面向 macOS 的开源、本地优先的 LLM 智能体记忆层,可捕捉用户活动并保存为 Markdown 文件
Show HN: Mnemo – 适用于任何LLM的本地优先AI记忆层(Rust, SQLite, petgraph)
Mnemo是一个开源、本地优先的记忆层,适用于任何LLM,它使用SQLite和petgraph将实体和关系提取到持久化知识图谱中,提供自动上下文注入以增强对话。