OpenMemory (Deprecated)(中文译文)
原始 DeepWiki 页面:https://deepwiki.com/mem0ai/mem0/15-openmemory-deprecated
翻译时间:2026-05-27T08:45:02.136Z
翻译模型:deepseek-chat
原文字符数:6741
项目:Mem0 (mem0)
---
OpenMemory(已废弃)
相关源文件
以下文件被用作生成此 Wiki 页面的上下文:
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 组件架构
graph TD
subgraph "客户端空间"
MCP_Client["MCP 客户端(Claude/Cursor)"]
WebUI["Next.js 仪表盘(ui/)"]
end
subgraph "OpenMemory 服务器(api)"
FastAPI_App["FastAPI(main.py)"]
MCP_Logic["FastMCP(app/mcp_server.py)"]
DB_Session["SessionLocal(app/database.py)"]
Mem0_Client["记忆客户端(app/utils/memory.py)"]
end
subgraph "持久化层"
SQLite["SQLite(SQLAlchemy 模型)"]
VectorStore["向量存储(Mem0 核心)"]
end
MCP_Client -- "SSE/HTTP" --> MCP_Logic
WebUI -- "REST" --> FastAPI_App
FastAPI_App -- "包含" --> MCP_Logic
MCP_Logic -- "使用" --> Mem0_Client
MCP_Logic -- "写入" --> DB_Session
DB_Session --> SQLite
Mem0_Client --> VectorStore
来源: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 工具交互流程
sequenceDiagram
participant Agent as "AI 代理(Claude/Cursor)"
participant MCP as "app/mcp_server.py"
participant DB as "app/models.py(SQLAlchemy)"
participant Core as "Mem0 核心(memory.py)"
Agent->>MCP: "调用 add_memories(text, infer)"
MCP->>MCP: "get_memory_client_safe()"
MCP->>DB: "get_user_and_app()"
MCP->>Core: "memory_client.add(text, user_id, infer)"
Core-->>MCP: "返回提取结果"
MCP->>DB: "创建 Memory 和 MemoryStatusHistory"
DB-->>MCP: "提交变更"
MCP-->>Agent: "JSON 响应(成功/失败)"
来源: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