评分明细
适用场景
MemOS 快速入门
Agent 的操作系统级记忆 —— 超持久、自进化、省 Token。
这是什么?适合谁?
MemOS 是自进化记忆操作系统(Memory Operating System),为 LLM 和 AI Agent 提供统一的 store/retrieve/manage 长期记忆能力。核心由 TypeScript 实现,支持多模态记忆、知识立方体(Multi-Cube)管理、异步摄取和高精度检索。GitHub 10.3K+ stars,Apache-2.0 开源。
核心特性:
- 统一记忆 API:单一 API 完成添加、检索、编辑、删除,以图结构组织记忆
- 多模态记忆:原生支持文本、图像、工具轨迹、Persona,统一检索
- 多知识立方体:多个知识库作为可组合的 Memory Cube,支持隔离和动态组合
- 异步摄取(MemScheduler):毫秒级延迟的生产级异步处理
- 记忆反馈与修正:自然语言反馈来补充、替换或修正已有记忆
- 基准表现:LoCoMo 88.83 / LongMemEval 89.20 / OmniMemEval 领先
适合谁?一是需要降低 Token 消耗的 Agent 开发者(官方宣称节省 35.24%);二是需要跨任务知识复用的系统;三是需要超持久记忆的长期 Agent。不适合:简单的一次性问答场景。
准备工作
MemOS 提供四种接入方式,选择适合你的场景:
| 方案 | 适合场景 | 设置难度 | 依赖 |
|---|---|---|---|
| ☁️ Cloud API | 快速集成,零运维 | 低 | 获取 API Key |
| 🖥️ Self-Host | 团队自有基础设施 | 中 | Docker + Neo4j + Qdrant |
| 🤖 OpenClaw Plugin | OpenClaw 用户 | 低 | 安装插件 |
| 💻 Local Plugin | Hermes/OpenClaw,本地优先 | 低 | npm install |
3 步快速上手(Cloud API 方式——最快入门)
第 1 步:获取 API Key
前往 MemOS Dashboard 注册并获取 API Key(以 mpg- 开头)。
第 2 步:记忆存储
import requests
API_KEY = "mpg-xxx" # 从 MemOS Dashboard 获取
BASE = "https://memos.memtensor.cn/api/openmem/v1"
HEADERS = {"Authorization": f"Token {API_KEY}", "Content-Type": "application/json"}
# 添加记忆
requests.post(f"{BASE}/add/message", headers=HEADERS, json={
"user_id": "alice",
"conversation_id": "conv_001",
"messages": [{"role": "user", "content": "我偏好使用 Python 进行数据分析"}],
})
第 3 步:检索记忆
res = requests.post(f"{BASE}/search/memory", headers=HEADERS, json={
"query": "数据分析偏好",
"user_id": "alice",
})
print(res.json())
# 将返回相关性最高的记忆条目
Self-Host 方式入门
第 1 步:克隆并配置
git clone https://github.com/MemTensor/MemOS.git
cd MemOS
cp docker/.env.example .env
# 填写 .env 中的 API Key
第 2 步:启动服务
cd docker
docker compose up # 启动 MemOS API + Neo4j + Qdrant
API 在 http://localhost:8000 提供服务。
第 3 步:基本使用
import requests, json
HEADERS = {"Content-Type": "application/json"}
BASE = "http://localhost:8000/product"
# 1. 创建记忆立方体
requests.post(f"{BASE}/create_cube", headers=HEADERS, json={
"cube_name": "Alice 的记忆",
"owner_id": "alice",
"cube_id": "alice_cube",
})
# 2. 添加记忆
requests.post(f"{BASE}/add", headers=HEADERS, json={
"user_id": "alice",
"writable_cube_ids": ["alice_cube"],
"messages": [{"role": "user", "content": "我喜欢草莓"}],
"async_mode": "sync",
})
# 3. 搜索记忆
res = requests.post(f"{BASE}/search", headers=HEADERS, json={
"query": "我喜欢什么水果",
"user_id": "alice",
"readable_cube_ids": ["alice_cube"],
})
print(res.json())
初级用法
使用 Python SDK
from memos import MemOS
# 初始化
memory = MemOS()
# 学习知识
memory.learn("Python 中列表推导式比 for 循环更快")
# 召回知识
result = memory.recall("Python 性能优化")
print(result)
使用 Local Plugin(Hermes Agent)
# 安装本地插件
npm install @memtensor/memos-local-plugin
# 配置后即可在 Hermes 中启用
高级玩法
多立方体知识库隔离
# 为不同项目创建独立的记忆空间
project_cube = {"cube_id": "proj_x", "owner_id": "alice"}
personal_cube = {"cube_id": "personal", "owner_id": "alice"}
# 搜索时组合多个 Cube
requests.post(f"{BASE}/search", json={
"query": "项目配置",
"user_id": "alice",
"readable_cube_ids": ["proj_x", "personal"],
})
记忆反馈与修正
# 通过自然语言修正记忆
requests.post(f"{BASE}/feedback", json={
"memory_id": "mem_123",
"user_id": "alice",
"feedback": "这条记忆不准确,我实际偏好 PyTorch 而非 TensorFlow"
})
结合 Hermes Agent 的本地插件(2.0 版本)
MemOS Local Plugin 2.0 为 Hermes Agent 和 OpenClaw 提供自进化记忆能力,支持 L1 轨迹、L2 策略、L3 世界模型、结晶 Skill 四层存储架构,本地优先、零云依赖、反馈驱动检索。
小技巧
- Token 节省策略:MemOS 通过去重和压缩记忆,官方测试可节省 35.24% Token 消耗
- 同步 vs 异步:高并发场景使用
async_mode: true,MemScheduler 会异步处理记忆写入 - 利用 OmniMemEval 数据集测试:使用 OmniMemEval 评估你的记忆系统表现
- 定期查看记忆 Dashboard:Cloud 版本提供可视化 Dashboard,方便管理记忆库
- 多 Agent 协作:通过 Memory Cube 的读写权限控制,实现 Agent 间记忆共享和隔离
常见踩坑
踩坑 1:Self-Host 方式 Docker 启动失败
- 症状:
docker compose up报容器连接错误 - 原因:Neo4j 和 Qdrant 需要一定的启动时间
- 解决:先单独启动数据库:
docker compose up neo4j qdrant,等它们就绪后再启动 API
踩坑 2:Cloud API 连接超时
- 症状:请求 MemOS Cloud 接口返回超时
- 原因:防火墙或代理限制
- 解决:检查网络是否能访问
memos.memtensor.cn,必要时配置代理
踩坑 3:检索结果为空
- 症状:搜索后返回空结果
- 原因:记忆尚未写入或搜索 cube_id 不匹配
- 解决:确认
writeable_cube_ids和readable_cube_ids包含相同的 cube_id
踩坑 4:Token 消耗统计不准确
- 症状:实际 Token 节省低于官方宣称的 35.24%
- 原因:官方数据基于特定测试场景(OmniMemEval 基准)
- 解决:在不同数据集上自行测试 Token 节省率,调整记忆去重策略
踩坑 5:多模态记忆上传失败
- 症状:上传图片等非文本内容时 API 报错
- 原因:文件大小或格式不支持
- 解决:检查文件大小限制(通常 10MB),确保图片格式为 JPEG/PNG
踩坑 6:版本兼容问题
- 症状:Local Plugin 与 Hermes Agent 版本不匹配
- 解决:检查 MemOS Plugin 版本要求,使用
npm install @memtensor/memos-local-plugin@latest
踩坑 7:本地模式 SQLite 性能瓶颈
- 症状:大量记忆写入时变慢
- 解决:切换到 Cloud API 或 Self-Host 方式,使用 Neo4j + Qdrant 获得更好性能
常见问题 FAQ
Q1: MemOS 的定价是怎样的?
A: MemOS 开源版本完全免费(Apache-2.0)。Cloud API 有免费额度,超过后按量计费。具体定价请访问 MemOS Cloud Dashboard 查看最新价格。Self-Host 方式不需要任何 MemOS 相关费用,但需要自己承担服务器和数据库成本。来源
Q2: MemOS 与 EverOS、Mem0 相比有什么优势?
A: MemOS 的差异化在于:① 多模态记忆(文本+图像+工具轨迹);② Memory Cube 机制实现细粒度知识隔离与共享;③ 学术级基准表现(LoCoMo 88.83, LongMemEval 89.20);④ Async Scheduler 支持高并发生产环境。EverOS 更侧重本地 Markdown 原生,Mem0 更偏纯 API 服务。来源
Q3: MemOS 支持中文吗?
A: 支持。中文内容的 Embedding 和检索效果取决于所使用的 Embedding 模型。MemOS Cloud 使用多语言 Embedding 模型,中文检索效果良好。来源
Q4: 本地插件和 Cloud API 的数据可以互通吗?
A: 目前本地插件数据存储在本地 SQLite 中,Cloud API 数据在 MemOS 云端。两者不自动同步。如果需要迁移,可通过 MemOS API 导出/导入记忆。来源
Q5: MemOS 如何保证数据隐私?
A: Cloud API 数据加密传输并存储在 MemOS 云基础设施上;Local Plugin 和 Self-Host 方式数据完全在你的控制之下。使用 Local Plugin 时零云端依赖。如果你的隐私要求较高,建议使用 Local Plugin 或 Self-Host 方案。来源
进阶学习建议
- 阅读论文:MemOS 团队的论文 ArXiv 2507.03724 详细介绍了系统设计
- 探索 OmniMemEval:使用 OmniMemEval 评估和对比不同记忆方案的性能
- 实践 Hermes 集成:在 Hermes Agent 中配置 MemOS Local Plugin,体验自进化记忆
- 多 Agent 场景:尝试搭建多 Agent 系统,利用 Memory Cube 的隔离与共享机制
- 社区交流:加入 MemOS Discord 和关注 X @MemOS_dev 获取最新动态
- 基准对比:阅读 Awesome AI Memory 资源列表,了解 Agent 记忆领域全貌
参考链接
免责声明:本文档基于 MemOS 开源项目(Apache-2.0)编写,内容仅供参考。Token 节省数据(35.24%)为官方基准测试结果,实际效果因使用场景而异。使用 Cloud API 需遵守 MemOS 云服务条款。项目 Star 数、基准数据等来自 GitHub API / 官方 README(2026-07-23 快照)。
📊 评分与标签
评分说明
总分 8.0/10 · P_优选
📊 可观测社区指标(采集日期:2026-07-23)
- GitHub: MemTensor/MemOS ★10,331, 🔱1,100+
- License: Apache-2.0
📦 可安装性 2.0/2.5
- pip 安装简单
- 对比 EverOS:两者安装难度相当,MemOS 功能更丰富
- 对比 Chroma:MemOS 专注 Agent 记忆,更垂直
🎯 实用性 2.0/2.5
- 超持久记忆和混合检索
- 宣称节省 35.24% Token
- 对比 EverOS:MemOS 的 Skill 复用功能更强
📖 文档质量 1.5/2.0
- README 完整
- 对比 EverOS:文档水平相当
👥 社区活跃 0.5/1.5
- 10K+ stars,社区规模较小
🔗 兼容性 1.0/1.5
- 跨任务 Skill 复用
- 生态仍在建设中
🏷️ 标签说明
📋 来源核实
- ✅ 已验证: GitHub MemTensor/MemOS — Stars、License