必须配置 LLM 才能运行,默认走 OpenAI 需要 API Key;混合检索需额外安装 nlp 依赖并下载 spaCy 模型 en_core_web_sm;自托管服务默认开启鉴权,需先设 ADMIN_API_KEY 或走 make bootstrap 创建管理员。

mem0
mem0aiApache-2.0活跃维护为 AI Agent 提供可持久化的长期记忆层,让智能体和应用能跨会话记住上下文,开箱即用、面向生产环境。
The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.
pip install mem0ai
pip install mem0ai[nlp] && python -m spacy download en_core_web_smREADME 未说明显存或 GPU 要求;默认调用 OpenAI 的 gpt-5-mini 与 text-embedding-3-small,计算在云端完成,本地只需能跑 Python 或 Node 环境。
给 AI Agent 和应用的即插即用记忆层,让上下文持久保存并跨会话记住用户偏好
为 AI Agent 提供可持久化的长期记忆层,让智能体和应用能跨会话记住上下文,开箱即用、面向生产环境。
核心能力
- 提供 User、Session、Agent 多层级记忆状态
- 单次 LLM 调用完成 ADD-only 记忆抽取,不覆盖旧记忆
- 语义、BM25 关键词与实体匹配多信号并行检索融合
- 支持时间感知检索,按当前状态与历史事件排序
- 提供 Python/Node SDK、CLI 与自托管服务三种用法
容易踩的坑
- ts-v3.3.1Mem0 Node SDK (v3.3.1)2026-09-25 · 2026-09-25 17:36 UTC
查看更新说明
Bug Fixes:
- Config (OSS):
ConfigManagerno longer injects OpenAI's defaultbaseURLandmodelinto non-OpenAI LLM providers. The defaults now apply only toopenaiandopenai_structured, so a DeepSeek, xAI, or other provider config without an explicitbaseURLormodelfalls back to that provider's own defaults and env vars (DEEPSEEK_API_BASE,XAI_API_BASE, ...) instead of pointing at OpenAI with an OpenAI model name (#7350) - Vector Stores: Turbopuffer filters now apply every operator (
eq,ne,gt,gte,lt,lte,in,nin). Only the range operators were read before, soeq,ne,in, andninwere silently dropped. A"*"value now matches anything instead of nothing, an array value is treated asin, and an unsupported operator throws (#6578) - Vector Stores: Turbopuffer
search()witheuclidean_squarednow maps the unbounded squared distance to1 / (1 + distance)instead of1 - distance, which went negative and inverted ranking for any distance above 1 (#6580) - Packaging:
pg,@types/pg, andnaturalare now optional peer dependencies, andpg/@types/pgaccept caret ranges instead of the exact8.11.3/8.11.0pins, so installingmem0aino longer pulls inpgor conflicts with an app's ownpgversion. The PGVector store now importspgonly when it is used, so install it alongsidemem0ai(npm install pg) if you use that store.@types/jestmoved from peer dependencies to dev dependencies (#7450)
- Config (OSS):
- v2.2.1Mem0 Python SDK (v2.2.1)最新正式版2026-09-25 · 2026-09-25 17:35 UTC
Bug Fixes:
- Core:
add()(MemoryandAsyncMemory) no longer reports records the vector store rejected as successfulADDevents. Only records that were actually inserted are written to history, entity-linked, and returned. If none of the extracted memories could be inserted,add()now raisesVectorStoreErrorinstead of returning memories that were never stored (#7066) - Core: Restore the context-manager protocol on
Memory(with Memory() as m:) andAsyncMemory(async with AsyncMemory() as m:), which closes the instance on exit (#7354) - LLMs: The AWS Bedrock Anthropic path now returns the first Converse content block that carries text instead of always reading
content[0]. Claude reasoning models can emit areasoningContentblock before the text block, which previously made the call fail with aKeyError(#6369) - Vector Stores: Turbopuffer filters now apply every operator (
eq,ne,gt,gte,lt,lte,in,nin). Onlygteandltewere read before, so any other operator was silently dropped and the query returned unfiltered results. An unsupported operator now raisesValueError(#6564) - Vector Stores: Turbopuffer
search()scores now respectdistance_metric. Witheuclidean_squared, the unbounded squared distance maps to1 / (1 + distance)instead of1 - distance, which went negative and inverted ranking for any distance above 1 (#6559) - Vector Stores: S3 Vectors
search()scores are now metric-aware. Witheuclidean, the distance maps to1 / (1 + distance)instead ofmax(0, 1 - distance), which collapsed most scores to 0 (#6547)
- Core:
- pi-agent-v0.3.2Mem0 Pi Agent Plugin (v0.3.2)2026-09-23 · 2026-09-23 19:12 UTC
查看更新说明
Improvements:
- Search: The memory policy,
mem0_memorytool description, and prompt guidelines no longer ask the agent to search before answering anything that may depend on earlier context or to run several searches per question. They now ask for a search before repeating investigation or when earlier decisions, fixes, commands, or results may help (#7420) - Skills:
context-loadermakes one search instead of 2-4 parallel searches, and uses the search skill description from the other coding-agent plugins (#7420) - Automatic recall: Injected memories are introduced as "Mem0 found these relevant memories from earlier work in this repository:", the same heading as the Python plugins. The old heading called them a shallow first pass and told the agent to search again (#7420)
- Search: The memory policy,
- ts-v3.3.0Mem0 Node SDK (v3.3.0)2026-09-23 · 2026-09-23 19:05 UTC
查看更新说明
New Features:
- Client: Add User Profiles to
MemoryClient:getProfile(),generateProfile(),getProfileSettings(),updateProfileSettings(),sampleProfiles(), andgetProfileJob(). A profile is a structured, always-current JSON summary of one user, shaped by a JSON Schema you configure per project and filled by an LLM from that user's memories. Generation is asynchronous. Every job POST carries anIdempotency-Key; to retry a lost request without starting a second job, pass the sameidempotencyKeyon each attempt (#7340)
- Client: Add User Profiles to
- v2.2.0Mem0 Python SDK (v2.2.0)2026-09-23 · 2026-09-23 19:03 UTC
查看更新说明
New Features:
- Client: Add User Profiles to
MemoryClientandAsyncMemoryClient:get_profile(),generate_profile(),get_profile_settings(),update_profile_settings(),sample_profiles(), andget_profile_job(). A profile is a structured, always-current JSON summary of one user, shaped by a JSON Schema you configure per project and filled by an LLM from that user's memories. Generation is asynchronous. Every job POST carries anIdempotency-Key; to retry a lost request without starting a second job, pass the sameidempotency_keyon each attempt (#7340)
Bug Fixes:
- Vector Stores: Guard against
Nonetimestamps in the Valkey vector store'sinsert()andupdate()paths.created_atandupdated_atfields that were present in the payload but set toNonepreviously passed the"created_at" not in payload/"updated_at" in payloadchecks and raisedTypeErrorwhendatetime.fromisoformat()receivedNone. Both paths now use.get()with a truthiness check soNonevalues fall through to the default, matching the Redis provider's behavior (#6993)
- Client: Add User Profiles to
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
New Memory Algorithm (April 2026)
| Benchmark | Old | New | Tokens | Latency p50 |
|---|---|---|---|---|
| LoCoMo | 71.4 | 92.5 | 7.0K | 0.88s |
| LongMemEval | 67.8 | 94.4 | 6.8K | 1.09s |
| BEAM (1M) | — | 64.1 | 6.7K | 1.00s |
| BEAM (10M) | — | 48.6 | 6.9K | 1.05s |
All benchmarks run on the same production-representative model stack. Single-pass retrieval (one call, no agentic loops) at a top_200 retrieval budget. Scores reflect Mem0's managed platform, which includes proprietary optimizations not available in the open-source SDK; open-source users should expect directionally similar gains but not identical numbers.
What changed:
- Single-pass ADD-only extraction -- one LLM call, no UPDATE/DELETE. Memories accumulate; nothing is overwritten.
- Agent-generated facts are first-class -- when an agent confirms an action, that information is now stored with equal weight.
- Entity linking -- entities are extracted, embedded, and linked across memories for retrieval boosting.
- Multi-signal retrieval -- semantic, BM25 keyword, and entity matching scored in parallel and fused.
- Temporal Reasoning -- time-aware retrieval that ranks the right dated instance for queries about current state, past events, and upcoming plans.
See the migration guide for upgrade instructions. The evaluation framework is open-sourced so anyone can reproduce the numbers.
Research Highlights
- 92.5 on LoCoMo -- +21 points over the previous algorithm
- 94.4 on LongMemEval -- +27 points, with 98.2 on assistant memory recall
- 64.1 on BEAM (1M) -- production-scale memory evaluation at 1M tokens
- Read the full paper
Introduction
Mem0 ("mem-zero") enhances AI assistants and agents with an intelligent memory layer, enabling personalized AI interactions. It remembers user preferences, adapts to individual needs, and continuously learns over time—ideal for customer support chatbots, AI assistants, and autonomous systems.
Key Features & Use Cases
Core Capabilities:
- Multi-Level Memory: Seamlessly retains User, Session, and Agent state with adaptive personalization
- Developer-Friendly: Intuitive API, cross-platform SDKs, and a fully managed service option
Applications:
- AI Assistants: Consistent, context-rich conversations
- Customer Support: Recall past tickets and user history for tailored help
- Healthcare: Track patient preferences and history for personalized care
- Productivity & Gaming: Adaptive workflows and environments based on user behavior
🚀 Quickstart Guide
Sign up as an agent
AI agents can mint a working Mem0 API key in under five seconds — no email, no dashboard, no OTP. Four commands end-to-end:
# 1. Install
npm install -g @mem0/cli # or: pip install mem0-cli
# 2. Sign up as an agent (replace `claude-code` with your name)
mem0 init --agent --agent-caller claude-code
# 3. Add a memory
mem0 add "I am using mem0"
# 4. Search
mem0 search "am I using mem0"
The human owner can claim the account later with mem0 init --email <their-email> — same key, memories preserved. Full guide: Sign up as an agent.
| Library | Self-Hosted Server | Cloud Platform | |
|---|---|---|---|
| Best for | Testing, prototyping | Teams running on their own infrastructure | Zero-ops production use |
| Setup | pip install mem0ai | docker compose up | Sign up at app.mem0.ai |
| Dashboard | -- | Yes | Yes |
| Auth & API Keys | -- | Yes | Yes |
| Advanced Features | -- | Teasers | All included |
Just testing? Use the library. Building for a team? Self-hosted. Want zero ops? Cloud.
Library (pip / npm)
pip install mem0ai
For enhanced hybrid search with BM25 keyword matching and entity extraction, install with NLP support:
pip install mem0ai[nlp]
python -m spacy download en_core_web_sm
Install sdk via npm:
npm install mem0ai
Self-Hosted Server
Note: Self-hosted auth is on by default. Upgrading from a pre-auth build? Set
ADMIN_API_KEY, register an admin through the wizard, orAUTH_DISABLED=truefor local dev only. See upgrade notes.
# Recommended: one command — start the stack, create an admin, issue the first API key.
cd server && make bootstrap
# Manual: start the stack and finish setup via the browser wizard.
cd server && docker compose up -d # http://localhost:3000
See the self-hosted docs for configuration.
Cloud Platform
- Sign up on Mem0 Platform
- Embed the memory layer via SDK or API keys
- Using hosted Qdrant vectors? See the Platform migration guide to import them into Mem0 Platform.
CLI
Manage memories from your terminal:
npm install -g @mem0/cli # or: pip install mem0-cli
mem0 init
mem0 add "Prefers dark mode and vim keybindings" --user-id alice
mem0 search "What does Alice prefer?" --user-id alice
See the CLI documentation for the full command reference.
Agent Skills
Teach your AI coding assistant (Claude Code, Codex, Cursor, Windsurf, OpenCode, OpenClaw, and any tool that supports the skills standard) how to build with Mem0. Two categories:
Reference skills — always on (SDK knowledge loaded into the assistant's context):
npx skills add https://github.com/mem0ai/mem0 --skill mem0
npx skills add https://github.com/mem0ai/mem0 --skill mem0-cli
npx skills add https://github.com/mem0ai/mem0 --skill mem0-vercel-ai-sdk
Pipeline skills — run on demand (execute an end-to-end workflow in an existing repo):
npx skills add https://github.com/mem0ai/mem0 --skill mem0-integrate
npx skills add https://github.com/mem0ai/mem0 --skill mem0-test-integration
npx skills add https://github.com/mem0ai/mem0 --skill mem0-oss-to-platform
Use /mem0-integrate to wire Mem0 into an existing repo via a test-first pipeline, then /mem0-test-integration to verify. Use /mem0-oss-to-platform to migrate an existing project from Mem0 OSS to the hosted Platform SDK. See the skills catalog or Vibecoding with Mem0 for the full picture.
Basic Usage
Mem0 requires an LLM to function, with gpt-5-mini from OpenAI as the default. However, it supports a variety of LLMs; for details, refer to our Supported LLMs documentation.
Mem0 uses text-embedding-3-small from OpenAI as the default embedding model. For best results with hybrid search (semantic + keyword + entity boosting), we recommend using at least Qwen 600M or a comparable embedding model. See Supported Embeddings for configuration details.
First step is to instantiate the memory:
from openai import OpenAI
from mem0 import Memory
openai_client = OpenAI()
memory = Memory()
def chat_with_memories(message: str, user_id: str = "default_user") -> str:
# Retrieve relevant memories
relevant_memories = memory.search(query=message, filters={"user_id": user_id}, top_k=3)
memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])
# Generate Assistant response
system_prompt = f"You are a helpful AI. Answer the question based on query and memories.\nUser Memories:\n{memories_str}"
messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]
response = openai_client.chat.completions.create(model="gpt-5-mini", messages=messages)
assistant_response = response.choices[0].message.content
# Create new memories from the conversation
messages.append({"role": "assistant", "content": assistant_response})
memory.add(messages, user_id=user_id)
return assistant_response
def main():
print("Chat with AI (type 'exit' to quit)")
while True:
user_input = input("You: ").strip()
if user_input.lower() == 'exit':
print("Goodbye!")
break
print(f"AI: {chat_with_memories(user_input)}")
if __name__ == "__main__":
main()
For detailed integration steps, see the Quickstart and API Reference.
🔗 Integrations & Demos
- ChatGPT with Memory: Personalized chat powered by Mem0 (Live Demo)
- Browser Extension: Store memories across ChatGPT, Perplexity, and Claude (Chrome Extension)
- Langgraph Support: Build a customer bot with Langgraph + Mem0 (Guide)
- CrewAI Integration: Tailor CrewAI outputs with Mem0 (Example)
📚 Documentation & Support
- Full docs: https://docs.mem0.ai
- Community: Discord · X (formerly Twitter)
- Contact: [email protected]
Citation
We now have a paper you can cite:
@article{mem0,
title={Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory},
author={Chhikara, Prateek and Khant, Dev and Aryan, Saket and Singh, Taranjeet and Yadav, Deshraj},
journal={arXiv preprint arXiv:2504.19413},
year={2025}
}
⚖️ License
Apache 2.0 — see the LICENSE file for details.