mem0 使用教程

给 AI Agent 装上记忆层,官方 MCP 接入 Codex,跨会话记住你的项目、偏好和踩过的坑

⭐ 61K Star · Apache-2.0 · 官方支持 Codex

📖 项目简介

mem0(读作 "mem-zero")是一个通用记忆层(Universal Memory Layer),专门给 AI Agent 和大模型应用外挂一份「长期记忆」。它由 mem0ai 团队开源,采用 Apache-2.0 协议,在 GitHub 上已经拿下 61K+ Star,主力语言是 TypeScript + Python,全球超过 9 万名开发者在用。

大模型本身是「无状态」的——每开一个新对话,它就把你之前说过的一切忘光。mem0 的做法是:在对话过程中自动抽取值得记住的信息(你的项目结构、技术栈、编码偏好、踩过的坑),压缩成一条条紧凑的「记忆」存起来;下次对话时再用多信号语义检索把最相关的几条记忆取回来喂给模型。这样既让 AI 跨会话「记得你」,又因为只塞相关记忆、不再重复灌全部上下文,顺带省 token、降延迟

对 Codex 用户来说,mem0 提供了官方托管的 MCP 服务,在 ~/.codex/config.toml 里加几行配置就能接入,Codex 会自己决定什么时候「存记忆 / 查记忆」。想把数据完全留在本地的,还可以用它的自托管版 OpenMemory,记忆全部存在你自己的机器上,隐私可控。

核心亮点

🧠
跨会话长期记忆
自动记住用户偏好、项目上下文,换对话、换设备都不丢
🔗
官方 MCP 接入 Codex
云端托管 MCP,配置几行就用,无需本地部署
💰
省 token、降延迟
只检索相关记忆而非灌全量上下文,响应更快更省钱
🔒
可完全本地部署
自托管版 OpenMemory,记忆存本机,数据隐私可控

🧩 它能做什么、输出什么

项目说明
输入对话消息、显式文本;按 user / agent / app / run 等维度归档
核心能力add(存记忆)、search(语义检索)、get / update / delete(增删改查)、按范围批量清理
输出结构化的「记忆条目」(含内容 + memory_id + 元数据),供模型检索复用
接入方式Python / Node SDK、REST API、MCP 服务、Agent Skills;兼容 Codex / Claude Code / Cursor / Windsurf / VS Code / OpenCode
部署形态云端托管(Mem0 Platform)或自托管本地版(OpenMemory)

🖥️ 环境要求

环境建议配置
操作系统Windows / macOS / Linux 均可
运行环境接 MCP 需 Node.js 14+(用 npx);用 Python SDK 需 Python 3.9+;用 Codex 需已安装 Codex CLI 或 Codex App
硬件纯客户端,普通电脑即可;用云端托管时本地无算力压力,也无需 GPU
自托管(OpenMemory)建议装 Docker;需要一个向量库 + 一个 LLM(可用本地或云端模型)
关键依赖Mem0 Platform 账号 + API Key(MEM0_API_KEY);自托管版需自备 LLM / Embedding 服务

🚀 如何使用

💡
最省事的路径:注册 Mem0 拿到 API Key → 在 Codex 的 config.toml 加一段 MCP 配置 → 重启 Codex 即可用。想纯本地就走第 4 步的自托管方案。
1

注册账号,拿到 API Key

进入 Mem0 官网注册,在控制台(Dashboard)生成一个 API Key,先把它设为环境变量,后面几种用法都要它。

bash # macOS / Linux export MEM0_API_KEY="你的APIKey" # Windows PowerShell $env:MEM0_API_KEY="你的APIKey"
2

Python SDK 快速上手(跑通存记忆 + 查记忆)

先装 SDK,然后存一条记忆、再检索出来,感受一下「记得住」是什么效果。

bash pip install mem0ai
python from mem0 import MemoryClient client = MemoryClient() # 自动读取 MEM0_API_KEY # 存记忆:告诉它你的偏好 client.add( [{"role": "user", "content": "我的项目用 React + Tailwind,代码里不要写注释"}], user_id="me", ) # 查记忆:新对话里检索相关记忆 results = client.search("这个项目的技术栈是什么?", user_id="me") print(results)

常用参数说明:

参数作用
user_id按用户归档记忆,最常用;不同用户互不干扰
agent_id / run_id按 Agent / 单次运行归档,做多智能体或会话隔离时用
metadata给记忆打标签(如项目名、分类),检索时可按它过滤
3

接入 Codex(官方 MCP,最快)

Codex 从 ~/.codex/config.toml 读取 MCP 服务(注意是 TOML 不是 JSON)。加入下面这段,然后在启动 Codex 的终端里导出 MEM0_API_KEY,重启 Codex 即可。之后 Codex 会自动决定何时存记忆、何时查记忆。

toml [mcp_servers.mem0] url = "https://mcp.mem0.ai/mcp" bearer_token_env_var = "MEM0_API_KEY"
⚠️
codex mcp add 只支持 stdio 类型,HTTP 服务必须像上面这样直接写进 config.toml,或在 Codex App 的「Plugins → 连接自定义 MCP → Streamable HTTP」里添加。
4

进阶:装完整插件 / 纯本地部署

想要「记忆协议 Skill + Mem0 SDK Skill + 生命周期 hooks」完整体验,可以克隆官方仓库当插件市场加载(仓库自带 marketplace 清单);想数据全留本地,就用自托管的 OpenMemory。

bash # 一行给编程助手装 Mem0 Skill(Codex / Claude Code / Cursor 等通用) npx skills add https://github.com/mem0ai/mem0 --skill mem0 # 或:克隆仓库作为 Codex 插件市场加载 git clone https://github.com/mem0ai/mem0.git ~/codex-plugins/mem0-source codex plugin marketplace add ~/codex-plugins/mem0-source
⚠️
装了插件(会自动注册 mem0)就别再手动加第 3 步的 [mcp_servers.mem0],否则会重复注册。
5

结合 Codex 的实际效果

接好之后,你在一个项目里跟 Codex 说过的技术栈、命名习惯、踩过的坑,会被自动记下来。下次换个新对话,Codex 不用你再解释,张口就能接着上次的上下文写代码。

一次配置,长期受益:新对话直接接上,既省去重复解释,又因为只带相关记忆而更省 token、响应更快。

🎯 典型应用场景

💻
AI 编程助手
记住项目结构、技术栈、编码规范,跨会话不用重讲
🤖
客服 / 智能体
记住用户历史与偏好,提供连贯的个性化服务
📝
个人助理
长期记住你的习惯、日程、常用信息
🧩
多智能体协作
按 agent/run 隔离记忆,多个 Agent 共享或独立记忆
📚
知识问答 / RAG
把用户对话沉淀成可检索的长期知识
🔒
隐私敏感场景
用 OpenMemory 本地部署,记忆不出本机

📈 性能表现

以下为 mem0 官方在长期记忆基准(LOCOMO / LongMemEval / BEAM)上公布的对比数据,供参考:

指标表现
准确率(对比全量上下文/OpenAI 记忆)显著更高,LongMemEval 提升到 94.4
Token 用量相比塞全量上下文大幅降低(官方称约省 90%)
响应延迟只检索相关记忆,p95 延迟明显下降
安全合规云端服务通过 SOC 2 Type 1、HIPAA 合规
🧠
原理:单遍分层蒸馏把长对话压成紧凑记忆 + 多信号检索只取回最相关的几条,因此比「每次灌全部历史」既准又快又省 token。

常见问题

Q: 它和直接把长对话全塞给模型有什么区别?

全塞历史又贵又慢,还容易超上下文。mem0 只把「值得记住」的信息抽出来存,检索时只取回最相关的几条,既省 token 又更准。

Q: 支持哪些编程助手 / 客户端?

官方 MCP 兼容 Codex、Claude Code、Cursor、Windsurf、VS Code、OpenCode 等所有支持 MCP / Skills 标准的工具。

Q: Codex 里加了配置却没生效?

确认写的是 ~/.codex/config.toml(TOML 格式,不是 JSON),且在启动 Codex 的同一个终端里导出了 MEM0_API_KEY,改完要重启 Codex。

Q: 必须联网 / 用云服务吗?数据安全怎么办?

不必。云端托管最省事;对隐私敏感就用自托管的 OpenMemory,记忆全存本机。云端服务本身通过 SOC 2、HIPAA 合规。

Q: 云端托管和自托管(OpenMemory)怎么选?

想几分钟上手、不想运维 → 用云端托管 MCP;想数据不出内网 / 自己掌控 → 用 OpenMemory 自托管(需自备向量库和 LLM)。

Q: 直接配 MCP 和装完整插件有什么不一样?

直配 MCP 最快,只有记忆读写能力;装插件(sideload)额外带记忆协议 Skill、SDK Skill 和生命周期 hooks,体验更完整。两者别同时开,会重复注册。

Q: 记忆会无限增长、越来越乱吗?

mem0 会自动更新 / 去重记忆,也提供 update / delete / 按范围批量清理接口,可以随时管理。

Q: 开源免费吗?可以商用吗?

项目基于 Apache-2.0 协议开源,可免费使用与商用;云端 Platform 的付费额度按官方计费方案。