OpenMemory MCP:大模型的记忆中枢
人工智能(AI)技术发展迅速,大型语言模型(LLMs)极大地简化了许多任务。然而,它们面临一个基本限制:会话之间无法保留记忆。
人工智能(AI)技术发展迅速,大型语言模型(LLMs)极大地简化了许多任务。然而,它们面临一个基本限制:会话之间无法保留记忆。
如果能够拥有一个本地的、便携的 LLM “记忆层”,完全掌控您的数据,会怎样呢?
今天,我们将介绍 OpenMemory MCP,一个基于 Mem0(AI 代理的记忆层)构建的私有、本地优先的记忆层。它支持跨 MCP 兼容客户端(如 Cursor、Claude Desktop、Windsurf、Cline 等)实现持久化、上下文感知的 AI。
本指南将详细说明如何安装、配置和运行 OpenMemory MCP 服务器,同时涵盖其内部架构、流程、底层组件以及实际应用案例和示例。
让我们开始吧。
涵盖内容
简而言之,本文将详细探讨以下主题:
•什么是 OpenMemory MCP 服务器及其重要性?•逐步设置和运行 OpenMemory 的指南。•仪表板可用功能(及其背后的技术)。•安全性、访问控制和架构概述。•实际应用案例及示例。
1. 什么是 OpenMemory 及其重要性?
OpenMemory MCP 是一个为 MCP 客户端设计的私有、本地记忆层。它提供了存储、管理和跨平台利用 AI 记忆的基础设施,同时确保所有数据存储在本地系统上。
简单来说,它是一个基于向量的记忆层,适用于使用标准 MCP 协议的任何 LLM 客户端,并与 Mem0 等工具无缝协作。
核心功能:
•跨会话存储和调用任意文本片段(记忆),确保 AI 无需从零开始。•底层使用向量存储(Qdrant)进行基于相关性的检索,而非仅限于关键词匹配。•完全运行在您的基础设施上(Docker + Postgres + Qdrant),数据不会外传。•支持在应用或记忆级别暂停或撤销客户端访问权限,并为每次读写操作生成审计日志。•提供仪表板(基于 Next.js 和 Redux),展示谁在读写记忆以及状态变更历史。
🔁 工作原理(基本流程)
核心流程如下:
1.通过单一 docker-compose
命令启动 OpenMemory(API、Qdrant、Postgres)。2.API 进程托管一个使用 Mem0 的 MCP 服务器,通过 SSE(Server-Sent Events)支持标准 MCP 协议。3.LLM 客户端通过 SSE 流连接到 OpenMemory 的 /mcp/...
端点,调用 add_memories()
、search_memory()
或 list_memories()
等方法。4.向量索引、审计日志和访问控制等其他功能由 OpenMemory 服务自动处理。
您可以观看官方演示并在 mem0.ai/openmemory-mcp[1] 上了解更多!
2. 逐步设置和运行 OpenMemory
本节将指导您如何在本地设置和运行 OpenMemory。
项目包含两个主要组件:
•api/ - 后端 API 和 MCP 服务器•ui/ - 前端 React 应用程序(仪表板)
步骤 1:系统要求
在开始之前,请确保您的系统已安装以下内容,并附上文档链接以便参考:
•Docker 和 Docker Compose•Python 3.9+ — 后端开发所需•Node.js — 前端开发所需•OpenAI API 密钥 — 用于 LLM 交互•GNU Make — 构建自动化工具,用于设置过程
请确保 Docker Desktop 已运行,然后继续下一步。
步骤 2:克隆仓库并设置 OpenAI API 密钥
通过以下命令克隆位于 github.com/mem0ai/mem0[2] 的仓库:
git clone https://github.com/mem0ai/mem0.git
cd openmemory
接下来,将您的 OpenAI API 密钥设置为环境变量:
export OPENAI_API_KEY=your_api_key_here
注意:此命令仅为当前终端会话设置密钥,关闭终端窗口后失效。
步骤 3:设置后端
后端运行在 Docker 容器中。在根目录运行以下命令启动后端:
# 复制环境文件并编辑以更新 OPENAI_API_KEY 和其他密钥
make env
# 构建所有 Docker 镜像
make build
# 启动 Postgres、Qdrant 和 FastAPI/MCP 服务器
make up
.env.local
文件遵循以下格式:
OPENAI_API_KEY=your_api_key
设置完成后,API 将在 http://localhost:8000
上运行。您可以在 Docker Desktop 中查看运行中的容器。
以下是一些其他有用的后端命令:
# 运行数据库迁移
make migrate
# 查看日志
make logs
# 进入 API 容器 shell
make shell
# 运行测试
make test
# 停止服务
make down
步骤 4:设置前端
前端是一个 Next.js 应用程序。启动前端只需运行:
# 使用 pnpm 安装依赖并运行 Next.js 开发服务器
make ui
安装成功后,访问 http://localhost:3000
查看 OpenMemory 仪表板,仪表板将指导您在 MCP 客户端中安装 MCP 服务器。
仪表板界面如下所示:
MCP 客户端通过 SSE 通道连接到 GET /mcp/{client_name}/sse/{user_id}
,绑定两个上下文变量(user_id
和 client_name
)。
在仪表板中,您将找到基于您选择的客户端(如 Cursor、Claude、Cline、Windsurf)的一行安装命令。例如,在 Cursor 中安装的命令如下:
npx install-mcp i https://mcp.openmemory.ai/xyz_id/sse --client cursor
如果尚未安装 install-mcp
,系统会提示您安装,然后您只需为服务器提供一个名称。
注意:上述为示例命令,请忽略具体内容。打开 Cursor 设置,在侧边栏检查 MCP 选项以验证连接。
在 Cursor 中打开新聊天,输入类似“我希望它记住我的 GitHub 简介信息”的提示。这将触发 add_memories()
调用并存储记忆。刷新仪表板,进入“Memories”选项卡查看所有记忆。
记忆会自动分类(通过 GPT-4o 分类),作为可选标签。
您还可以连接其他 MCP 客户端,如 Windsurf。
每个 MCP 客户端可调用以下四种标准记忆操作:
•add_memories(text)
→ 将文本存储在 Qdrant,插入/更新 Memory 行和审计条目•search_memory(query)
→ 嵌入查询,运行向量搜索(带可选 ACL 过滤),记录每次访问•list_memories()
→ 检索用户的所有存储向量(按 ACL 过滤)并记录列表操作•delete_all_memories()
→ 清除所有记忆
所有响应通过同一 SSE 连接流式传输。仪表板显示所有活动连接、访问记忆的应用程序以及读写详情。
3. 仪表板功能(及其背后的技术)
OpenMemory 仪表板包含三个主要路由:
•/
– 仪表板首页•/memories
– 查看和管理存储的记忆•/apps
– 查看连接的应用程序
以下是仪表板提供的主要功能概览:
1) 安装 OpenMemory 客户端
•获取您的唯一 SSE 端点或使用一行安装命令。•在 MCP Link 和不同客户端选项卡(Claude、Cursor、Cline 等)之间切换。
2) 查看记忆和应用统计
•查看存储的记忆数量。•查看连接的应用程序数量。•输入任意文本以实时搜索所有记忆(去抖动处理)。•相关代码位于 ui/components/dashboard/Stats.tsx
,功能包括:•从 Redux 读取(profile.totalMemories
、profile.totalApps
、profile.apps[]
)。•在挂载时调用 useStats().fetchStats()
填充存储。•渲染“总记忆数”和“连接的应用总数”,显示最多 4 个应用图标。
3) 刷新或手动创建记忆
•刷新按钮:重新调用当前路由的相应获取器。•创建记忆按钮:打开 CreateMemoryDialog
模态框。
4) 过滤面板
•可选择:•包含哪些应用•包含哪些类别•是否显示归档项目•按哪列排序(记忆、应用名称、创建时间)•一键清除所有过滤器。
5) 检查和管理单个记忆
•点击任意记忆可:
•归档、暂停、恢复或删除记忆•查看访问日志和相关记忆•支持选择多个记忆并执行批量操作。
🖥️ 背后技术:关键组件
以下是涉及的主要前端组件:
•ui/app/memories/components/MemoryFilters.tsx
:处理搜索输入、过滤对话框触发器、批量操作(如归档/暂停/删除),并管理行选择状态。•ui/app/memories/components/MemoriesSection.tsx
:加载、分页和显示记忆列表的主容器。•ui/app/memories/components/MemoryTable.tsx
:渲染记忆表格(ID、内容、客户端、标签、创建日期、状态)。每行通过 MemoryActions
提供操作(编辑、删除、复制链接)。•状态管理和 API 调用使用以下钩子:•useStats.ts
:加载高级统计数据,如总记忆数和应用数。•useMemoriesApi.ts
:处理记忆的获取、删除和更新。•useAppsApi.ts
:检索应用信息和每个应用的记忆详情。•useFiltersApi.ts
:支持获取类别和更新过滤器状态。
这些组件共同打造了一个响应式、实时的仪表板,让您完全掌控 AI 记忆层。
4. 安全性、访问控制和架构概述
在处理 MCP 协议或任何 AI 代理系统时,安全性至关重要。以下是简要讨论。
🎯 安全性
OpenMemory 遵循隐私优先原则,所有记忆数据存储在您的本地基础设施中,使用 Docker 化的组件(FastAPI、Postgres、Qdrant)。
敏感输入通过 SQLAlchemy 的参数绑定安全处理,防止注入攻击。每次记忆交互(添加、检索、状态变更)都会通过 MemoryStatusHistory
和 MemoryAccessLog
表记录以确保可追溯性。
虽然未内置认证,但所有端点需要 user_id
,并可通过外部认证网关(如 OAuth 或 JWT)保护。
FastAPI 的 CORS 在本地/开发环境中为开放状态(allow_origins=["*"]
),但在生产环境中,您应收紧此设置以限制仅信任客户端访问。
🎯 访问控制
OpenMemory 注重细粒度访问控制。access_controls
表定义了应用与特定记忆之间的允许/拒绝规则。
这些规则通过 check_memory_access_permissions
函数强制执行,考虑记忆状态(活动、暂停等)、应用活动状态(is_active
)和 ACL 规则。
在实践中,您可以暂停整个应用(禁用写入)、归档或暂停单个记忆,或按类别或用户应用过滤器。暂停或非活动条目对工具访问和搜索不可见。这种分层访问模型确保您可以自信地控制记忆访问。
🎯 架构
以下是系统架构的简要概述,更多详情可参考代码库:
1.后端(FastAPI + FastMCP over SSE):•提供 REST 接口(/api/v1/memories
、/api/v1/apps
、/api/v1/stats
)和 MCP “工具”接口(/mcp/messages
、/mcp/sse/<client>/<user>
),代理通过 SSE 调用 add_memories
、search_memory
、list_memories
。•连接 Postgres 存储关系元数据,连接 Qdrant 进行向量搜索。2.向量存储(通过 mem0 客户端的 Qdrant):•所有记忆在 Qdrant 中进行语义索引,查询时应用用户和应用特定过滤器。3.关系元数据(SQLAlchemy + Alembic):•跟踪用户、应用、记忆条目、访问日志、类别和访问控制。•Alembic 管理架构迁移。•默认数据库为 SQLite(openmemory.db
),但可通过 DATABASE_URL
指向 Postgres。4.前端仪表板(Next.js):•Redux 提供实时可观察性界面。•Hooks + Redux Toolkit 管理状态,Axios 与 FastAPI 端点通信。•使用 Recharts 实现实时图表、轮播和 React Hook Form 处理表单。5.基础设施与开发工作流:•docker-compose.yml
(api/docker-compose.yml
)包含 Qdrant 服务和 API 服务。•Makefile 提供迁移、测试、热重载的快捷方式。•测试与后端逻辑共存(通过 pytest)。
这些组件共同打造了一个自托管的 LLM 记忆平台:
•⚡ 在关系数据库和向量索引中存储和版本化聊天记忆•⚡ 通过每个应用的 ACL 和状态转换(活动/暂停/归档)保护数据•⚡ 通过 Qdrant 进行语义搜索•⚡ 通过丰富的 Next.js UI 观察和控制
5. 实际应用案例及示例
熟悉 OpenMemory 后,您会发现它可用于任何需要 AI 跨交互记忆的场景,从而实现高度个性化。
以下是一些高级和创造性的使用方式:
✅ 多代理研究助手与记忆层
想象构建一个工具,其中不同 LLM 代理专注于不同研究领域(例如,一个处理学术论文,一个处理 GitHub 仓库,另一个处理新闻)。每个代理通过 add_memories(text)
存储其发现,主代理随后通过 search_memory(query)
检索所有先前结果。
技术流程:
•每个子代理为 MCP 客户端:•将检索数据的摘要添加到 OpenMemory。•使用 GPT 自动分类为记忆添加标签。•主代理打开 SSE 通道,使用 search_memory("最新扩散模型论文")
提取相关上下文。•仪表板显示每个代理存储的内容,您可通过 ACL 限制代理间的记忆访问。
提示:可添加 LangGraph 编排层,每个代理作为一个节点,跟踪记忆的写入/读取,可视化每个研究线程的知识流和来源。
✅ 具有跨会话持久记忆的智能会议助手
可构建一个会议记录工具(支持 Zoom、Google Meet 等),功能包括:
•通过 LLM 提取摘要。•跨会议记忆行动项。•在未来会议中自动检索相关上下文。
技术流程:
•每次会议后通过 add_memories(text)
存储会议记录和行动项。•下次会议前运行 search_memory("Project X 的未完成项")
。•相关记忆(按适当类别标记)显示在 UI 中,审计日志跟踪记忆的读取时间和内容。
提示:与 Google Drive、Notion、GitHub 等工具集成,存储的行动项可链接到实时文档和任务。
✅ 随使用进化的代理编码助手
您的 CLI 编码助手可通过存储使用模式、常见问题、编码偏好和项目特定提示来学习您的工作方式。
技术流程:
•当您询问“为什么我的 SQLAlchemy 查询失败?”,助手通过 add_memories
存储错误和修复。•下次您输入“再次遇到 SQLAlchemy 连接问题”,助手自动运行 search_memory("sqlalchemy join issue")
检索先前修复。•通过 /memories
仪表板检查所有存储记忆,暂停过时或错误的记忆。
提示:可连接到 codemod 工具(如 jscodeshift),根据存储的偏好自动重构代码,随代码库发展而演进。
在上述案例中,OpenMemory 的向量搜索(用于语义召回)、关系元数据(用于审计/日志记录)和实时仪表板(用于可观察性和即时访问控制)让您能够构建上下文感知的应用程序,感觉就像它们拥有记忆。
现在,您的 MCP 客户端拥有真正的记忆能力。
您可以跟踪每次访问、暂停所需内容并在一个仪表板中审计所有操作。最棒的是,所有内容都存储在您的本地系统上。
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!
在这个版本当中:
第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言
您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
五、AI产品经理大模型教程
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
更多推荐
所有评论(0)