agentic_huge_data_base / wiki
页面 Mem0 · 15.1 OpenMemory 总览与迁移·DeepWiki 中文全文译文

15.1 · OpenMemory 总览与迁移(OpenMemory Overview and Migration)

长期记忆与上下文管理 · 聚焦本章的模块关系、源码依据与实现要点。

项目Mem0 章节15.1 状态全文译文 模块界面与交互、系统架构、安装与启动、接口与服务契约
源码线索
  • openmemory/Makefile
  • openmemory/README.md
  • openmemory/api/.env.example
  • openmemory/api/README.md
  • openmemory/docker-compose.yml
  • openmemory/ui/.env.example
  • openmemory/ui/Dockerfile
  • openmemory/ui/store/profileSlice.ts
  • scripts/oss-to-platform-migrate.sh
  • tests/test_oss_to_platform_migrate.py
模块标签
  • 界面与交互
  • 系统架构
  • 安装与启动
  • 接口与服务契约
  • 模型调用与提供方适配

章节正文

OpenMemory 总览与迁移

OpenMemory 概览与迁移

相关源文件

本章引用的主要源码文件:

  • openmemory/Makefile
  • openmemory/README.md
  • openmemory/api/.env.example
  • openmemory/api/README.md
  • openmemory/docker-compose.yml
  • openmemory/ui/.env.example
  • openmemory/ui/Dockerfile
  • openmemory/ui/store/profileSlice.ts
  • scripts/oss-to-platform-migrate.sh
  • tests/test_oss_to_platform_migrate.py

OpenMemory 是 Mem0 生态系统中早期的本地优先部署模型,旨在为大语言模型(LLM)提供私有、可移植且开源的记忆层 openmemory/README.md:1-5。它内置了模型上下文协议(MCP)服务器和基于 React 的专用用户界面,用于在本地管理记忆 openmemory/README.md:144-148

OpenMemory 现已废弃,并已被统一的 Mem0 自托管服务器 所取代 openmemory/README.md:3-3。本文档记录了旧版架构以供历史参考,并提供了迁移到现代自托管基础设施的说明。

系统架构

OpenMemory 架构遵循容器化的客户端-服务器模型。它使用 Docker Compose 来编排三个主要组件:向量数据库(Qdrant)、作为 MCP 服务器的 FastAPI 后端,以及 Next.js 前端 openmemory/docker-compose.yml:1-34

组件关系图

下图展示了旧版 OpenMemory 组件与外部 LLM 提供商之间的交互关系。

OpenMemory 旧版流程

Mem0 · 组件关系图 · 图 1
Mem0 · 组件关系图 · 图 1

来源:openmemory/docker-compose.yml:1-34openmemory/api/README.md:1-4openmemory/README.md:119-122

技术实现细节
组件代码实体/服务用途
后端openmemory-mcpFastAPI 应用程序,作为核心逻辑层和 MCP 服务器 openmemory/docker-compose.yml:8-10
前端openmemory-uiReact/Next.js 应用程序,用于记忆可视化和管理 openmemory/docker-compose.yml:24-30
向量存储mem0_storeQdrant 实例,用于存储和搜索高维记忆嵌入向量 openmemory/docker-compose.yml:2-3
关系存储openmemory.db通过 SQLAlchemy 和 Alembic 管理的 SQLite 数据库,用于元数据和配置 openmemory/api/README.md:43-51openmemory/Makefile:34-34

旧版配置

OpenMemory 严重依赖于在 api/ui/ 目录下的 .env 文件中定义的环境变量。

LLM 和嵌入器设置

默认情况下,系统会使用 OpenAI 的 gpt-4o-minitext-embedding-3-small openmemory/README.md:74-88。不过,它也支持通过 Ollama 使用本地替代方案。

代码实体映射:自然语言到配置

Mem0 · LLM 和嵌入器设置 · 图 2
Mem0 · LLM 和嵌入器设置 · 图 2

来源:openmemory/api/.env.example:1-16openmemory/README.md:78-89

废弃与迁移

OpenMemory 已被 Mem0 自托管服务器 所取代,后者提供了更强大的仪表盘、改进的多租户支持以及与核心 mem0 包更好的集成。

迁移脚本和工具

仓库中包含一个迁移脚本 oss-to-platform-migrate.sh,该脚本执行基于 Python 的迁移逻辑,将数据从本地实例迁移到平台或更新的自托管结构中 scripts/oss-to-platform-migrate.sh:1-10。此脚本处理匿名 ID 解析和遥测别名设置 scripts/oss-to-platform-migrate.sh:95-108

迁移步骤

要从旧版 OpenMemory 安装迁移到当前的自托管服务器:

  1. 停止旧版服务:使用 Makefile 关闭现有容器并移除卷 openmemory/Makefile:32-34
    make down
  1. 导航到服务器目录:新的自托管逻辑位于 server/ 目录下 openmemory/README.md:3-3
  2. 引导新服务器:使用引导命令初始化现代环境。
    cd server && make bootstrap
功能对比:OpenMemory 与自托管服务器
功能OpenMemory(旧版)Mem0 自托管(现代)
主要接口MCP 服务器 / 基础 UI高级仪表盘 / REST API
部署方式Docker Compose openmemory/docker-compose.yml:1-34带统一认证的 Docker Compose
认证模型基于环境的 USER openmemory/api/.env.example:2-2基于 JWT 的仪表盘认证
状态管理Redux (profileSlice.ts) openmemory/ui/store/profileSlice.ts:21-23统一的服务端状态

来源:openmemory/README.md:3-3openmemory/Makefile:29-34openmemory/ui/store/profileSlice.ts:1-20scripts/oss-to-platform-migrate.sh:1-40

旧版 MCP 客户端设置

对于仍在使用旧版系统的用户,OpenMemory MCP 服务器通常通过特定的 SSE(服务器发送事件)端点结构连接到客户端: http://localhost:8765/mcp/<client-name>/sse/<user-id> openmemory/README.md:135-141

这使得外部 LLM 客户端能够通过标准的模型上下文协议与本地记忆存储进行交互。

来源:openmemory/README.md:135-141openmemory/api/README.md:3-4