兼容任何支持 MCP(文本记忆)或 Python 集成(完整多模态)的 AI 平台
🎁 Atlas Cloud 是一个全模态、OpenAI 兼容的 AI 推理平台——把 SimpleMem 的 OPENAI_BASE_URL 指向它,即可用 DeepSeek、Qwen、GLM、Kimi、MiniMax 等模型,通过单一 API 完成记忆构建、检索与评估,无需对接多家厂商。提供高性价比的 coding plan。
|
Claude Desktop |
Cursor |
LM Studio |
Cherry Studio |
PyPI 包 |
+ 任意 MCP 客户端 |
🇬🇧 English •
🇨🇳 中文 •
🇯🇵 日本語 •
🇰🇷 한국어 •
🇪🇸 Español •
🇫🇷 Français •
🇩🇪 Deutsch •
🇧🇷 Português
🇷🇺 Русский •
🇸🇦 العربية •
🇮🇹 Italiano •
🇻🇳 Tiếng Việt •
🇹🇷 Türkçe
- [05/21/2026] 📦 统一
simplemem包 — 一次导入,自动路由! SimpleMem、Omni-SimpleMem 和 EvolveMem 现已整合至单一包中。from simplemem import SimpleMem会根据你首次调用的方法自动选择文本或多模态后端,而simplemem.optimize(...)则调用 EvolveMem 的自进化循环。只需一步即可安装:pip install -e .。 - [05/14/2026] 🧬 EvolveMem (v3.0) — 基于 AutoResearch 的自进化记忆! 检索基础设施现在通过 LLM 驱动的闭环诊断实现自我进化。在 LoCoMo 上,EvolveMem 比最强基准高出相对提升 +25.7%;在 MemBench 上,高出相对提升 +18.9%。系统能发现原始设计中不存在的全新检索维度。查看 EvolveMem →
- [04/02/2026] 🧠 Omni-SimpleMem (v2.0) — 多模态记忆来了! SimpleMem 现已支持文本、图像、音频与视频记忆。在 LoCoMo 上实现新 SOTA(F1=0.613,+47%),在 Mem-Gallery 上实现**(F1=0.810,+51%)**,超越此前最优方法。查看 Omni-SimpleMem →
- [02/09/2026] 🚀 跨会话记忆 — 超越 Claude-Mem 64%! 查看跨会话文档 →
- [01/20/2026] 📦 SimpleMem 已上线 PyPI! 通过
pip install simplemem安装。查看包使用指南 → - [01/14/2026] 🎉 SimpleMem MCP 服务器正式上线! 云托管地址:mcp.simplemem.cloud。查看 MCP 文档 →
- [01/05/2026] SimpleMem 论文已发布至 arXiv!
从宏观角度看,SimpleMem 是一个面向基于 LLM 的智能体的长期记忆系统。工作流程由三个简单步骤组成:
- 存储信息 — 对话或事实经过处理后转化为结构化的原子记忆单元。
- 索引记忆 — 利用语义嵌入和结构化元数据对存储的记忆进行组织。
- 检索相关记忆 — 当收到查询时,SimpleMem 基于语义而非关键词检索最相关的存储信息。
这种设计使 LLM 智能体能够保持上下文、高效回忆过往信息,并避免重复处理冗余历史记录。
SimpleMem 以单一 simplemem 包的形式提供。默认的 mode="auto" 会根据你调用的方法自动检测所需后端 — 无需手动配置:
from simplemem import SimpleMem
mem = SimpleMem() # mode="auto" — backend chosen by first call你首次调用的方法决定使用的后端:
| 首次调用 | 选择的后端 | 原因 |
|---|---|---|
add_dialogue() |
文本(SimpleMem) | 基于对话的 API → 文本模式 |
add_text() / add_image() / add_audio() / add_video() |
Omni(Omni-SimpleMem) | 多模态 API → omni 模式 |
|
📝 Auto → 文本(纯文本输入) from simplemem import SimpleMem
mem = SimpleMem() # auto mode
# add_dialogue() → text backend auto-selected
mem.add_dialogue(
"Alice",
"Bob, let's meet at Starbucks tomorrow at 2pm",
"2025-11-15T14:30:00",
)
mem.add_dialogue(
"Bob",
"Sure, I'll bring the market analysis report",
"2025-11-15T14:31:00",
)
mem.finalize()
answer = mem.ask("When and where will Alice and Bob meet?")
# → "16 November 2025 at 2:00 PM at Starbucks" |
🧠 Auto → Omni(多模态输入) from simplemem import SimpleMem
mem = SimpleMem() # auto mode
# add_image() → omni backend auto-selected
mem.add_text(
"User loves hiking in the Rocky Mountains.",
tags=["session_id:D1"],
)
mem.add_image("photo.jpg", tags=["session_id:D1"])
mem.add_audio("voice_note.wav", tags=["session_id:D1"])
result = mem.query("What does the user enjoy?", top_k=5)
for item in result.items:
print(item["summary"])
mem.close() |
💡 提示:Auto 模式会选择适合你数据的最轻量后端。如有需要,你仍可显式使用
mode="text"或mode="omni"。
在自有开发集上离线调整检索超参数,然后部署生成的 Config 用于推理。这是对 EvolveMem 自进化循环的轻量封装:
import simplemem
from simplemem import SimpleMem, load_config
# mem is a finalized SimpleMem instance with memories already built
dev_questions = [
("When is the meeting?", "2pm tomorrow at Starbucks"),
("What should Bob prepare?", "market analysis report"),
]
config = simplemem.optimize(mem, dev_questions, max_rounds=3)
config.save("my_config.json")
# Later, deploy with the optimized config
config = load_config("my_config.json")
mem = SimpleMem(config=config)EvolveMem 针对你的开发问题执行 LLM 驱动的"评估 → 诊断 → 提议 → 守护"循环,调整全局检索标志(top_k、融合模式、答案验证、反思轮次等)。如需完整的独立版本(含基准适配器和分类覆盖),请参见
EvolveMem/。
对于大规模对话处理,可启用并行模式:
from simplemem import create
mem = create(
mode="text",
clear_db=True,
enable_parallel_processing=True, # ⚡ Parallel memory building
max_parallel_workers=8,
enable_parallel_retrieval=True, # 🔍 Parallel query execution
max_retrieval_workers=4
)💡 专业提示:并行处理可显著降低批量操作的延迟!
SimpleMem 是面向 LLM 智能体的统一记忆栈,基于一个核心原则:以高信息密度存储语义无损记忆,使智能体在召回更多信息的同时消耗更少的 token。该包整合了三项共享此原则、但各自攻克不同问题的研究成果。
大多数记忆系统面临两难困境:要么被动积累原始交互历史(冗余、耗费大量 token),要么运行昂贵的推理循环来过滤噪声(缓慢、成本高)。SimpleMem 通过三阶段流水线压缩交互内容:
| 阶段 | 功能 |
|---|---|
| 1. 语义结构化压缩 | 将非结构化交互提炼为紧凑的记忆单元(含消解指代与绝对时间戳的自包含事实),每条记忆通过多个互补视图进行索引,支持灵活检索。 |
| 2. 在线语义合成 | 在会话内合并相关上下文,形成统一的抽象表示,在构建记忆时消除冗余,而非等到查询时才处理。 |
| 3. 意图感知检索规划 | 推断查询背后的搜索意图,决定检索什么并组装精准、紧凑的上下文。 |
在 LoCoMo 基准上,该方法相比以往系统实现了平均 F1 提升 26.4%,同时将推理时 token 消耗减少约 30 倍。机制细节(混合索引层、压缩示例、检索规划):SimpleMem 文本记忆 →。
Omni-SimpleMem 将"压缩优先"理念扩展至四种模态,基于三个原则构建:选择性摄取(按模态进行熵驱动过滤)、渐进式检索(FAISS + BM25 混合检索,配合金字塔式 token 预算扩展)和知识图谱增强(多跳跨模态推理)。其架构并非人工设计,而是由一个在两个基准上运行约 50 次实验的自主研究流水线发现的——该流水线诊断失败模式、提议架构变更,甚至在无人介入内循环的情况下修复数据管道缺陷。值得注意的是,缺陷修复和架构变更各自的贡献均超过所有超参数调优的总和,使系统从朴素基准跃升至 LoCoMo 和 Mem-Gallery 双榜 SOTA。完整文档:Omni-SimpleMem →。
EvolveMem 填补了几乎所有记忆系统共有的盲点:存储内容在演化,但检索机制(评分函数、融合策略、答案生成策略)在部署后就被冻结了。EvolveMem 运行闭环 AutoResearch 流程(评估 → 诊断 → 提议 → 守护 → 循环),由 LLM 诊断逐题失败原因并提议配置变更,在出现退步时自动回滚,在停滞时给予探索激励。系统能发现原始设计中不存在的新检索维度(查询分解、实体替换、答案验证),在 LoCoMo 上相对最强基准提升 25.7%,且进化后的配置可在基准间正向迁移。完整文档:EvolveMem →。
from simplemem import SimpleMem 提供文本核心,并自动路由至多模态后端;simplemem.optimize(...) 调用 EvolveMem,针对你的数据调优检索。一个包,一套心智模型:无损压缩,按意图检索,让系统持续自我提升。
- 请确保在当前激活的环境中使用 Python 3.10+,而非仅全局安装。
- 在运行任何记忆构建或检索操作之前,必须配置兼容 OpenAI 的 API 密钥,否则初始化可能失败。
- 使用非 OpenAI 提供商(如 Qwen 或 Azure OpenAI)时,请在
config.py中核实模型名称和OPENAI_BASE_URL。 - 对于大型对话数据集,启用并行处理可显著缩短记忆构建时间。
- 🐍 Python 3.10+
- 🔑 兼容 OpenAI 的 API(OpenAI、Qwen、Azure OpenAI 等)
# 📥 Clone repository
git clone https://github.com/aiming-lab/SimpleMem.git
cd SimpleMem
# 📦 Install dependencies (pinned versions)
pip install -r requirements.txt
# — OR — install as an editable package
pip install -e . # default: text + multimodal + evolver
pip install -e ".[server]" # + MCP / HTTP server (mcp, fastapi, ...)
pip install -e ".[all]" # everything, including dev tools
# ⚙️ Configure API settings
cp config.py.example config.py
# Edit config.py with your API key and preferences# config.py
OPENAI_API_KEY = "your-api-key"
OPENAI_BASE_URL = None # or custom endpoint for Qwen/Azure
LLM_MODEL = "gpt-4.1-mini"
EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B" # State-of-the-art retrieval由于 SimpleMem 对接任意 OpenAI 兼容端点,你也可以通过设置 OPENAI_BASE_URL 把它指向像 Atlas Cloud 这样的托管平台:
# config.py —— 使用 Atlas Cloud 作为 OpenAI 兼容后端
OPENAI_API_KEY = "your-atlascloud-api-key"
OPENAI_BASE_URL = "https://api.atlascloud.ai/v1"
LLM_MODEL = "deepseek-ai/deepseek-v4-pro" # 推理模型,注意预留足够的输出 token
EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B"
deepseek-ai/deepseek-v4-pro是推理模型,请预留足够的输出预算;若返回为空,请调大 token 上限(>= 512)。Atlas Cloud 上其他 OpenAI 兼容聊天模型(如Qwen/Qwen3-Next-80B-A3B-Instruct、zai-org/glm-5、moonshotai/kimi-k2.6)用法相同。
MCP 服务器可在 Docker 中运行,提供一致、隔离的环境。数据(LanceDB 和用户数据库)持久化存储在宿主机卷中。
# From the repository root
docker compose up -d- Web UI: http://localhost:8000/
- REST API: http://localhost:8000/api/
- MCP (SSE): http://localhost:8000/mcp/sse?token=<TOKEN>
数据存储在宿主机的 ./data 目录(自动创建)。
- 复制环境模板并编辑:
cp .env.example .env # Edit .env: set JWT_SECRET_KEY, ENCRYPTION_KEY, LLM_PROVIDER, model URLs, etc. - 使用环境文件启动:
docker compose --env-file .env up -d
当 LLM_PROVIDER=ollama 且 Ollama 运行在本机(非 Docker 内)时,在 .env 中设置:
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://host.docker.internal:11434/v1在 Linux 上,host.docker.internal 已通过 Compose 文件自动启用。
docker compose logs -f simplemem # Follow logs
docker compose down # Stop and remove containers📖 如需自托管 MCP 服务器(Docker 或裸机),请参阅 MCP 文档。
SimpleMem 通过模型上下文协议(MCP)提供云托管记忆服务,可与 Claude Desktop、Cursor 等 MCP 兼容客户端无缝集成。
🌐 云服务:mcp.simplemem.cloud — 或使用 Docker 在本地自托管 MCP 服务器。
| 功能 | 描述 |
|---|---|
| 可流式 HTTP | MCP 2025-03-26 协议,采用 JSON-RPC 2.0 |
| 多租户隔离 | 每用户数据表,支持 token 鉴权 |
| 混合检索 | 语义搜索 + 关键词匹配 + 元数据过滤 |
| 生产优化 | 通过 OpenRouter 集成加速响应 |
{
"mcpServers": {
"simplemem": {
"url": "https://mcp.simplemem.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}📖 详细安装说明及自托管指南,请参阅 MCP 文档
复现论文中 LoCoMo / MemBench / Mem-Gallery 的实验数据。每个支柱在其各自目录中都有独立的基准运行器。请先安装基准扩展:pip install -e ".[benchmark]"。
从仓库根目录运行:
python test_locomo10.py # full LoCoMo benchmark
python test_locomo10.py --num-samples 5 # quick subset
python test_locomo10.py --result-file my_results.json从 EvolveMem/ 目录运行(参见 EvolveMem/README.md):
cd EvolveMem
python run_evolution.py --data data/locomo10.json --max-rounds 7
python run_benchmark.py locomo --sample 0 --initial weak --max-rounds 3
python run_benchmark.py membench --agent FirstAgent --max-rounds 3从 OmniSimpleMem/ 目录运行(参见 OmniSimpleMem/README.md):
cd OmniSimpleMem
python benchmarks/locomo/run_locomo.py --data-path /path/to/locomo10.json --model gpt-4o各集成渠道当前支持的能力:
| 能力 | Python(pip install) |
MCP 服务器(Claude Desktop、Cursor 等) |
|---|---|---|
| 文本记忆 | ✅ | ✅ |
| 多模态(图像 / 音频 / 视频) | ✅ | ⬜ 计划中 |
optimize() 自进化检索 |
✅ | ⬜ 计划中 |
计划填补差距的工作(MCP 服务器是独立的多租户文本服务;以下是真实功能,而非文档修复):
- MCP 多模态支持。 新增
memory_add_image/memory_add_audio/memory_add_video工具。需要文件上传路径(base64 或 URL,因为 MCP 无法传递本地文件路径)、Omni-SimpleMem 存储后端的多租户适配,以及服务端视觉/音频模型访问能力。 - MCP EvolveMem 支持。 将
optimize()暴露为 MCP 工具。相比多模态更易实现(文本输入,JSON 配置输出,无需文件传输),但 MCP 检索器目前仅支持 EvolveMem 进化的约 10 个维度中的semantic_top_k/keyword_top_k。需要扩展 MCP 检索器以支持其余参数(结构化 top_k、融合模式/权重、实体替换、查询分解、答案验证),实现在租户存储记忆上运行进化循环的适配器、每租户配置持久化,以及异步执行(循环依赖大量 LLM 调用,同步请求会超时)。 - Docker 在 MCP 服务器支持上述功能后自动继承(向镜像添加多模态依赖和 Omni 存储卷)。
如需立即使用完整多模态和自进化检索功能,请使用 Python API(参见快速开始)。
如果你在研究中使用了 SimpleMem,请引用:
@article{simplemem2026,
title={SimpleMem: Efficient Lifelong Memory for LLM Agents},
author={Liu, Jiaqi and Su, Yaofeng and Xia, Peng and Zhou, Yiyang and Han, Siwei and Zheng, Zeyu and Xie, Cihang and Ding, Mingyu and Yao, Huaxiu},
journal={arXiv preprint arXiv:2601.02553},
year={2026},
url={https://arxiv.org/abs/2601.02553}
}@article{evolvemem2026,
title={EvolveMem: Self-Evolving Memory Architecture via AutoResearch for LLM Agents},
author={Liu, Jiaqi and Ye, Xinyu and Xia, Peng and Zheng, Zeyu and Xie, Cihang and Ding, Mingyu and Yao, Huaxiu},
journal={arXiv preprint arXiv:2605.13941},
year={2026},
url={https://arxiv.org/abs/2605.13941}
}@article{omnisimplemem2026,
title = {Omni-SimpleMem: Autoresearch-Guided Discovery of Lifelong Multimodal Agent Memory},
author = {Liu, Jiaqi and Ling, Zipeng and Qiu, Shi and Liu, Yanqing and Han, Siwei and Xia, Peng and Tu, Haoqin and Zheng, Zeyu and Xie, Cihang and Fleming, Charles and Ding, Mingyu and Yao, Huaxiu},
journal = {arXiv preprint arXiv:2604.01007},
year = {2026},
}本项目采用 MIT 许可证 — 详情请参阅 LICENSE 文件。
我们衷心感谢以下项目与团队:
- 🔍 嵌入模型:Qwen3-Embedding — 业界领先的检索性能
- 🗄️ 向量数据库:LanceDB — 高性能列式存储
- 📊 基准:LoCoMo — 长上下文记忆评估框架