给 AI Agent 装上记忆层,官方 MCP 接入 Codex,跨会话记住你的项目、偏好和踩过的坑
⭐ 61K Star · Apache-2.0 · 官方支持 Codexmem0(读作 "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,记忆全部存在你自己的机器上,隐私可控。
https://mcp.mem0.ai/mcp
| 项目 | 说明 |
|---|---|
| 输入 | 对话消息、显式文本;按 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 服务 |
config.toml 加一段 MCP 配置 → 重启 Codex 即可用。想纯本地就走第 4 步的自托管方案。进入 Mem0 官网注册,在控制台(Dashboard)生成一个 API Key,先把它设为环境变量,后面几种用法都要它。
# macOS / Linux
export MEM0_API_KEY="你的APIKey"
# Windows PowerShell
$env:MEM0_API_KEY="你的APIKey"
先装 SDK,然后存一条记忆、再检索出来,感受一下「记得住」是什么效果。
pip install mem0ai
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 | 给记忆打标签(如项目名、分类),检索时可按它过滤 |
Codex 从 ~/.codex/config.toml 读取 MCP 服务(注意是 TOML 不是 JSON)。加入下面这段,然后在启动 Codex 的终端里导出 MEM0_API_KEY,重启 Codex 即可。之后 Codex 会自动决定何时存记忆、何时查记忆。
[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」里添加。想要「记忆协议 Skill + Mem0 SDK Skill + 生命周期 hooks」完整体验,可以克隆官方仓库当插件市场加载(仓库自带 marketplace 清单);想数据全留本地,就用自托管的 OpenMemory。
# 一行给编程助手装 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],否则会重复注册。接好之后,你在一个项目里跟 Codex 说过的技术栈、命名习惯、踩过的坑,会被自动记下来。下次换个新对话,Codex 不用你再解释,张口就能接着上次的上下文写代码。
以下为 mem0 官方在长期记忆基准(LOCOMO / LongMemEval / BEAM)上公布的对比数据,供参考:
| 指标 | 表现 |
|---|---|
| 准确率(对比全量上下文/OpenAI 记忆) | 显著更高,LongMemEval 提升到 94.4 |
| Token 用量 | 相比塞全量上下文大幅降低(官方称约省 90%) |
| 响应延迟 | 只检索相关记忆,p95 延迟明显下降 |
| 安全合规 | 云端服务通过 SOC 2 Type 1、HIPAA 合规 |
全塞历史又贵又慢,还容易超上下文。mem0 只把「值得记住」的信息抽出来存,检索时只取回最相关的几条,既省 token 又更准。
官方 MCP 兼容 Codex、Claude Code、Cursor、Windsurf、VS Code、OpenCode 等所有支持 MCP / Skills 标准的工具。
确认写的是 ~/.codex/config.toml(TOML 格式,不是 JSON),且在启动 Codex 的同一个终端里导出了 MEM0_API_KEY,改完要重启 Codex。
不必。云端托管最省事;对隐私敏感就用自托管的 OpenMemory,记忆全存本机。云端服务本身通过 SOC 2、HIPAA 合规。
想几分钟上手、不想运维 → 用云端托管 MCP;想数据不出内网 / 自己掌控 → 用 OpenMemory 自托管(需自备向量库和 LLM)。
直配 MCP 最快,只有记忆读写能力;装插件(sideload)额外带记忆协议 Skill、SDK Skill 和生命周期 hooks,体验更完整。两者别同时开,会重复注册。
mem0 会自动更新 / 去重记忆,也提供 update / delete / 按范围批量清理接口,可以随时管理。
项目基于 Apache-2.0 协议开源,可免费使用与商用;云端 Platform 的付费额度按官方计费方案。