mem0ai/mem0
The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.
mem0ai/mem0
The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.
Mem0(读作 mem-zero)是面向 AI Agent 与助手的长期记忆层:从对话里抽出用户偏好、事实与确认过的动作,按用户 / 会话 / Agent 分层存储,下次检索相关片段再注入上下文。它不是完整 Agent 框架,而是可插入现有应用的记忆基础设施;同一套心智模型覆盖 Python/JS SDK、自托管 Docker 栈,以及托管平台。
user_id / 会话 / Agent 作用域保留状态,支持个性化而不是把整段历史塞进 promptpip install mem0ai 当库用、docker compose 自托管带 Dashboard、或 Mem0 Platform 零运维托管mem0 add / search),以及 Claude Code、Cursor、OpenCode 等 Agent Skills每次开新会话都要用户重申饮食禁忌、编码偏好或工单历史,既浪费 token,也让助手显得「失忆」。Mem0 把对话压成可检索的事实条目,查询时只取回相关几条,而不是整段 transcript。库模式适合原型;团队要数据不出域可自托管;不想养向量库与 LLM 抽取流水线时用托管平台。官方 2026 年 4 月基准(LoCoMo 92.5、LongMemEval 94.4)来自托管栈的专有优化,开源 SDK 方向接近,但分数不应直接对标。
OPENAI_API_KEY(默认 LLM 为 gpt-5-mini,嵌入为 text-embedding-3-small)mem0 init --agent --agent-caller <name>开源 Python 库(仓库主路径)
pip install mem0ai增强混合检索(BM25 + 实体抽取)可装 NLP 额外依赖:
pip install mem0ai[nlp]python -m spacy download en_core_web_smNode SDK
npm install mem0aiCLI
npm install -g @mem0/cli# 或:pip install mem0-cli自托管服务
cd server && make bootstrap# 或:cd server && docker compose up -d # Dashboard: http://localhost:3000自托管默认开启鉴权;从旧版升级需设置 ADMIN_API_KEY、走向导,或仅本地开发设 AUTH_DISABLED=true。
开源库默认把向量存在 /tmp/qdrant、历史在 ~/.mem0/history.db。最小验证:
from mem0 import Memory
m = Memory() # 需要 OPENAI_API_KEYm.add("I love hiking on weekends", user_id="alice")print(m.search("What does Alice like to do?", filters={"user_id": "alice"}))托管平台请改用 MemoryClient(不要和开源的 Memory 混用):
from mem0 import MemoryClient
client = MemoryClient(api_key="your-api-key")client.add( [{"role": "user", "content": "I'm a vegetarian and allergic to nuts."}], user_id="user123",)print(client.search("What are my dietary restrictions?", filters={"user_id": "user123"}))CLI 等价操作:mem0 add "..." --user-id alice,再 mem0 search "..." --user-id alice。
search 返回 results,其中含抽出的事实(例如「喜欢周末徒步」或「对坚果过敏」)与分数http://localhost:3000,确认 Dashboard 能登录并发出 API KeyMemory ≠ MemoryClient:前者是 OSS 本地/自托管引擎,后者走托管 API;导错类会在缺 Key 或缺本地 Qdrant 时报错。Memory() 无法工作;本地模型需按文档换成 Ollama 等。/tmp/qdrant,进程或机器重启后可能丢失;生产应换成持久化 Qdrant / pgvector 等。