开发与工程 long-term-memorycognitive-memorytemporal-knowledge-graphmcp-serverlangchainself-hosted

OpenMemory 认知记忆引擎

为 LLM 与 AI 智能体提供真实长期记忆的自托管认知记忆引擎,本地优先,支持 Python 与 Node。

FollowAgents 评估 · FARS-2.1
不推荐
41/ 100 五分制 2.1 / 5
1 2 3 4 5 6
1信任安全7 / 29 · 1.2/5

证据显示:README 强调本地优先、自托管,但未提供权限模型细节;MCP 测试显示租户隔离,但未提及用户确认机制;数据流透明度部分,README 提到可解释痕迹,但未详细说明数据流向;敏感数据处理方面,SECURITY.md 建议避免存储敏感个人信息,但未提供加密等具体措施;依赖安全方面,SECURITY.md 建议定期更新和扫描,但未提供具体依赖清单或漏洞扫描结果;外部影响方面,连接器需要令牌,但未说明权限范围;回滚方面,未提及任何回滚机制;来源归属方面,README 和 LICENSE 提供了版权和贡献者信息,但发布者未验证。扣分原因:缺乏用户确认、回滚机制,权限模型不明确,依赖安全措施仅为建议。

2可靠稳定5 / 14 · 1.8/5

证据显示:README 和测试文件在功能描述上基本一致,但 README 提到项目正在重写,可能引入不一致;依赖可用性方面,README 提供了 PyPI 和 npm 包,但未提供版本兼容性说明;失败消息方面,测试中显示了错误处理,但未提供用户友好的错误消息。扣分原因:项目重写状态可能导致不一致,依赖可用性未充分说明,失败消息未详细描述。

3适用触发9 / 18 · 2.5/5

证据显示:README 明确了目标受众(LLM 应用开发者)和多种使用场景(SDK、服务器、MCP);能力边界方面,README 列出了功能,但未明确限制;触发精度方面,MCP 工具名称明确,但未说明触发条件;环境适配方面,支持多种部署方式(本地、Docker、云),但未提供详细配置说明。扣分原因:能力边界和触发精度描述不足。

4规范维护8 / 18 · 2.2/5

证据显示:README 结构清晰,包含安装、使用、架构等章节;安装说明提供了 pip 和 npm 命令;命名稳定性方面,包名和工具名在 README 中一致,但项目处于重写状态,可能变化;示例和 FAQ 方面,README 提供了多个示例,但无 FAQ;已知限制方面,README 提到项目正在重写,但未列出其他限制;许可证为 Apache-2.0,但版权年份为 2025;版本变更日志缺失;维护责任方面,README 提供了贡献指南,但未明确维护者。扣分原因:缺少 FAQ、版本变更日志,已知限制不全面。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性方面,README 提供了清晰的 API 示例和 MCP 工具;边际价值方面,与 RAG 对比,强调独特功能;成本效益方面,本地优先、自托管,降低云成本。扣分原因:未提供性能基准或实际使用案例。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的功能声明部分有测试支持(如 MCP 租户隔离测试),但未提供所有声明的测试;跨来源验证方面,测试文件与 README 部分一致,但未提供外部验证;事实与推断分离方面,README 区分了功能描述和架构图,但未明确标注哪些是推断。扣分原因:测试覆盖不全面,缺乏外部验证。

证据充分度: 评估于 2026年8月11日 审查版本 9fdfc2ac0931
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 项目处于重写状态,存在破坏性变更和潜在 bug,生产使用需谨慎。
  • 发布者身份未验证,依赖安全措施仅为建议,未提供具体漏洞扫描结果。
  • 缺少用户确认和回滚机制,权限模型不明确,敏感数据处理缺乏具体加密措施。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OpenMemory 是一个自托管的认知记忆引擎,为 LLM 与 AI 智能体提供真实的长期记忆,而非简单的 RAG 或向量数据库。它采用多区块记忆(情景、语义、程序、情感、反思)与时间知识图谱,支持复合评分、衰减机制和可解释的召回轨迹。项目提供 Python 与 Node SDK、独立服务器、MCP 服务器、CLI 工具以及 VS Code 扩展,支持从 GitHub、Notion、Google Drive 等数据源导入。当前项目处于重写阶段,可能包含破坏性变更。

OpenMemory 为 LLM 应用提供持久化记忆存储。它通过 Memory 类提供 addsearchdelete 等异步方法,并支持按用户 ID 区分记忆。内置多区块记忆分类器、时间知识图谱(记录事实的有效期),以及复合评分(结合显著性、新近度和共激活)。更提供 opm CLI 命令、MCP 服务器(通过 HTTP 暴露 /mcp 端点)与 LangChain、CrewAI、AutoGen、Streamlit 等集成。可从 GitHub 等外部源摄取数据。

  1. 构建聊天机器人的开发者:需要让 ChatGPT 风格的助手记住用户偏好,如 '用户喜欢深色模式'。
  2. 使用 LangChain 的工程师:希望在对话链中无缝集成持久记忆,不需要额外部署。
  3. 需要多用户记忆的组织:通过后端服务器为每个用户隔离记忆,并提供仪表盘。
  4. 使用 Claude Code 或 Cursor 的开发者:通过 MCP 服务器让 IDE 助手查询和存储代码相关记忆。
  5. 构建个人知识系统的用户:从 Notion、Google Drive 导入数据,并利用时间查询追溯事实变化。

这个 Agent 有哪些优点和局限?

优点
  • 多区块记忆分类,超越简单向量检索,理解事实、事件、偏好等。
  • 时间知识图谱支持'何时为真'的查询,自动关闭过期事实。
  • 自托管、本地优先,可选择 SQLite 或 Postgres,避免供应商锁定。
  • 提供可解释的召回轨迹,显示哪些节点被召回及原因。
  • 支持多种嵌入提供方(OpenAI、Gemini、Ollama等)和合成回退。
局限
  • 项目正处于重写阶段,存在破坏性变更和潜在 bug。
  • 部署需要配置多个组件(Python/Node 环境、Docker、后端服务器),相对复杂。
  • 暂时缺少对部分平台(如 ChatGPT 原生集成)的明确支持,仅通过 OpenAI API 适配。
  • 部分功能(如迁移工具)仅支持特定来源(Mem0、Zep、Supermemory),可能无法覆盖所有现有系统。
  • 需要自行管理安全和数据隐私,虽然提供自托管,但加密功能在路线图中尚未实现。

如何安装或部署这个 Agent?

Python SDK: pip install openmemory-py。Node SDK: npm install openmemory-js。后端服务器: git clone https://github.com/CaviraOSS/OpenMemory.git; cd OpenMemory; cp .env.example .env; cd packages/openmemory-js; npm install; npm run dev。Docker 部署: docker compose up --build -d,可选 UI profile:docker compose --profile ui up --build -d

如何使用这个 Agent?

Python: from openmemory.client import Memory; mem = Memory(); await mem.add("user prefers dark mode", user_id="u1"); results = await mem.search("preferences", user_id="u1")。Node: const { Memory } = require("openmemory-js"); const mem = new Memory(); await mem.add("user likes spicy food", { user_id: "u1" }); const results = await mem.search("food?", { user_id: "u1" })。CLI: opm serve 启动服务器,然后 opm add "user prefers dark mode" --user u1 --tags prefs 添加记忆,opm query "preferences" --user u1 查询。

这个 Agent 与同类方案有什么区别?

与 Mem0、Zep、Supermemory 等记忆系统相比,OpenMemory 强调多区块记忆和可解释性,而不仅仅是向量检索。代码示例显示其与 LangChain 和 Pinecone 的差异,OpenMemory 提供了更轻量的本地优先方案。

常见问题

OpenMemory 与向量数据库或 RAG 有何不同?
OpenMemory 不仅存储嵌入,还分类记忆类型(情景、语义等),保留时间信息,并使用复合评分与衰减机制,提供更接近人类记忆的行为。
部署 OpenMemory 需要什么运行时?
需要 Python 和/或 Node.js 环境。后端服务器可以用 Docker 启动,包含 API 和 MCP 服务器。
OpenMemory 如何与我的现有 LLM 应用集成?
可通过 Python/Node SDK 直接嵌入应用,也可通过 MCP 服务器供 Claude Code、Cursor 等使用,或者通过 OpenAI 兼容 API 注册器使用。
数据存储在何处?是否安全?
数据默认存储在本地 SQLite 数据库中,可以配置为 Postgres。自托管意味着你拥有数据,但当前没有内置加密功能(路线图中计划)。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents