OpenMemory (Deprecated)
OpenMemory(已废弃)
相关源文件
本章引用的主要源码文件:
openmemory/Makefileopenmemory/README.mdopenmemory/api/.env.exampleopenmemory/api/README.mdopenmemory/api/alembic/versions/add_config_table.pyopenmemory/api/alembic/versions/afd00efbd06b_add_unique_user_id_constraints.pyopenmemory/api/app/mcp_server.pyopenmemory/api/app/models.pyopenmemory/api/app/routers/__init__.pyopenmemory/api/app/routers/backup.pyopenmemory/api/app/routers/config.pyopenmemory/api/app/routers/memories.pyopenmemory/api/main.pyopenmemory/api/tests/__init__.pyopenmemory/api/tests/test_mcp_server.pyopenmemory/docker-compose.ymlopenmemory/ui/.env.exampleopenmemory/ui/Dockerfileopenmemory/ui/components/form-view.tsxopenmemory/ui/store/profileSlice.ts
OpenMemory 是一个面向大语言模型(LLM)的本地开源个人记忆层,通过将记忆存储在用户本地机器上,提供了隐私保护和可移植性 openmemory/README.md:1-5。它内置了模型上下文协议(MCP)服务器和基于 React 的仪表盘,用于管理已存储的事实和配置。
[!WARNING]
停用通知:OpenMemory 目前正在逐步停用。建议用户迁移到自托管服务器,以获得带有仪表盘的本地记忆功能 openmemory/README.md:3-3。
系统概览
OpenMemory 将 FastAPI 后端(MCP 服务器和 REST API)与 Next.js 前端(UI)相结合。它利用核心 Mem0 逻辑执行事实提取和向量搜索,同时维护自己的本地 SQLite 数据库,用于存储用户、应用和记忆状态历史等关系型数据 openmemory/api/main.py:5-13, openmemory/api/app/models.py:85-103。
代码实体映射
下图展示了 OpenMemory 服务组件与底层代码实体之间的关系。
OpenMemory 组件架构
来源:openmemory/api/main.py:5-13, openmemory/api/app/mcp_server.py:43-62, openmemory/api/app/models.py:85-109
OpenMemory 概览与迁移
OpenMemory 已被废弃,推荐使用 Mem0 自托管服务器。自托管服务器提供了更健壮的架构、改进的仪表盘功能,以及与核心 Mem0 生态系统更好的对齐。
有关迁移的详细信息,包括如何使用 make bootstrap 启动新服务器,请参见 OpenMemory 概览与迁移。
OpenMemory MCP 服务器
OpenMemory MCP 服务器实现了模型上下文协议,允许 AI 代理(如 Claude Desktop 或 Cursor)与记忆层进行交互。它暴露了诸如 add_memories、search_memory 和 delete_memories 等工具 openmemory/api/app/mcp_server.py:64-150。该服务器通过 get_memory_client_safe 使用延迟初始化,以在启动时即使外部依赖(如 Ollama)不可用也能保持弹性 openmemory/api/app/mcp_server.py:46-52。
MCP 工具执行流程
下图展示了 AI 代理的自然语言请求如何通过 OpenMemory MCP 服务器的代码实体进行处理。
MCP 工具交互流程
来源:openmemory/api/app/mcp_server.py:64-146, openmemory/api/app/models.py:161-173
有关详细的 API 规范、SSE 传输方式和客户端设置说明,请参见 OpenMemory MCP 服务器。
配置与设置
OpenMemory 支持多种大语言模型(LLM)和嵌入向量提供者。虽然它默认使用 OpenAI(gpt-4o-mini),但设计上支持本地优先的配置,例如使用 Ollama 作为 LLM 和嵌入任务的提供者 openmemory/api/app/routers/config.py:49-74, openmemory/api/.env.example:5-15。
| 设置项 | 默认值 | 代码引用 |
|---|---|---|
| LLM 提供者 | openai | openmemory/api/app/routers/config.py:57 |
| LLM 模型 | gpt-4o-mini | openmemory/api/app/routers/config.py:59 |
| 嵌入向量提供者 | openai | openmemory/api/app/routers/config.py:66 |
| 默认端口 | 8765 | openmemory/README.md:120 |
配置通过数据库中的 Config 模型进行管理 openmemory/api/app/models.py:74-82。通过 config_router openmemory/api/app/routers/config.py:10-142 对配置进行更新会触发 reset_memory_client(),以立即应用新的提供者设置 openmemory/api/app/routers/config.py:176。
来源:openmemory/api/app/routers/config.py:49-142, openmemory/api/app/models.py:74-82, openmemory/README.md:74-97