在 MemOS 2.0 · 星尘(Stardust) 版本中,我们迈出了关键一步——让记忆变得可控、可修正,并更自然地融入业务场景、开源部署及 AI 应用中。
MemOS 2.0 · 星尘(Stardust)不仅是能存记忆,更是可控的 AI 记忆系统:
-
支持知识库;
-
记忆可持续更新、可复用;
-
多模态信息统一管理;
-
智能体工具调用、文件与图片均可记忆;
-
调度系统和本地部署性能提升。
正如 “星尘(Stardust)” 寓意,每一次对话、每一次反馈、每一次工具调用,都是 AI 演化过程中的一粒星尘,见微知著,逐渐构建起智能体的长期经验系统。
一、知识库能力上线
我们正式引入 知识库(Knowledge Base)能力,支持开发者将业务文件直接接入 MemOS,形成可检索、可复用的长期知识资产。
亮点
-
支持 上传文件 / URL 自动解析;
-
一个知识库可 被多个项目共享使用;
-
对话持续进行时,记忆可动态更新与修正。
云服务代码示例
Step 1: 创建知识库并上传文件
import jsonimport osimport requests# 直接在这里填写你的 Key API_KEY = "YOUR API KEY"BASE_URL = "https://memos.memtensor.cn/api/openmem/v1"HEADERS = {"Content-Type": "application/json", "Authorization": f"Token {API_KEY}"}# 1) 创建知识库create_payload = { "knowledgebase_name": "财务报销知识库", "knowledgebase_description": "本公司所有财务报销相关的知识汇总",}create_resp = requests.post(f"{BASE_URL}/create/knowledgebase", headers=HEADERS, json=create_payload, timeout=15)create_data = create_resp.json()kb_id = ( create_data.get("knowledgebase_id") or create_data.get("id") or create_data.get("data", {}).get("knowledgebase_id") or create_data.get("data", {}).get("id"))if not kb_id: raise SystemExit(f"创建知识库失败,返回体: {create_data}")# 2) 上传文件到上面创建的知识库upload_payload = { "knowledgebase_id": kb_id, "file": [{"content": "https://cdn.memtensor.com.cn/file/软件采购报销制度.pdf"}],}upload_resp = requests.post(f"{BASE_URL}/add/knowledgebase-file", headers=HEADERS, json=upload_payload, timeout=30)print("create ->", json.dumps(create_data, ensure_ascii=False))print("upload ->", json.dumps(upload_resp.json(), ensure_ascii=False))
Step 2: 知识库检索
import osimport requestsimport jsonos.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"data = { "user_id": "memos_user_123", "conversation_id": "1211", "query": "帮我查一下软件采购报销额度。", "knowledgebase_ids":["你的知识库ID"] #添加可以访问的知识库id}headers = { "Content-Type": "application/json", "Authorization": f"Token {os.environ['MEMOS_API_KEY']}"}url = f"{os.environ['MEMOS_BASE_URL']}/search/memory"res = requests.post(url=url, headers=headers, data=json.dumps(data))json_res = res.json()print(json.dumps(json_res, indent=2, ensure_ascii=False))
开源版本
💡TIPS:
代码示例:向某个记忆库中添加文件请求
# 请先进行本地部署,部署文档见:https://docs.openmem.net/cn/open_source/getting_started/rest_api_server
curl --location --request POST 'http://0.0.0.0:8001/product/add' \--header 'Content-Type: application/json' \--data-raw '{ "user_id": "memos_user_123", "writable_cube_ids": [ "demo_add_cube_001" ], "messages": [ { "type": "file", "file": { "file_id": "file_id_001", "file_data": "这是文件的纯文本内容...", "filename": "xxx.pdf" } } ]}'
二、全面升级:多模态与 Agent 记忆能力全面开启
MemOS 2.0 在多模态记忆方面进行了重大升级,使智能体能够同时理解和记忆文本、图片、文件和工具调用等多种信息类型,从而提升复杂任务的处理能力。
核心功能
特性与优势
![]()
云服务代码示例
import osimport requestsimport json# 替换成你的 MemOS API Keyos.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"data = { "user_id": "memos_user_123", "conversation_id": "1211", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "我正在研究MemOS。" }, { "type": "image_url", "image_url": { "url": "https://cdn.memtensor.com.cn/img/1758706201390_iluj1c_compressed.png" } } ] }, {"role": "assistant", "content": "好的,需要我为您解答吗?"} ] }headers = { "Content-Type": "application/json", "Authorization": f"Token {os.environ['MEMOS_API_KEY']}"}url = f"{os.environ['MEMOS_BASE_URL']}/add/message"res = requests.post(url=url, headers=headers, data=json.dumps(data))print(json.dumps(res.json(), indent=2, ensure_ascii=False))
开源代码示例(添加包含文件和图片的对话)
# 请先进行本地部署,部署文档见:https://docs.openmem.net/cn/open_source/getting_started/rest_api_server
curl --location --request POST 'http://0.0.0.0:8001/product/add' \--header 'Content-Type: application/json' \--data-raw '{ "user_id": "memos_user_123", "writable_cube_ids": [ "demo_add_cube_001" ], "messages": [ { "role": "user", "content": [ { "type": "text", "text": "请同时分析这个报告和图表。" }, { "type": "file", "file": { "file_id": "file_789", "filename": "analysis_report.pdf", "file_data": "https://example.com/documents/xxx.pdf" } }, { "type": "image_url", "image_url": { "url": "https://example.com/xxxxx.png", "detail": "auto" } } ], "chat_time": "2025-11-24T10:23:00Z", "message_id": "mixed-1" } ], "info": { "source_type": "report_plus_chart" }}'
三、记忆可控性:反馈修正 & 精准删除
“能记住”之外,记忆必须是可控的。
MemOS 2.0 不仅能记忆,还让记忆可控、可修正:
-
反馈修正(add_feedback):支持自然语言替换、补充或小幅语义调整。
-
删除记忆(delete_memory):可通过 Memory ID 或 File ID 精准删除,避免“脏记忆”影响模型行为。
-
记忆过滤:自定义 tag / info,支持逻辑、比较、集合运算过滤检索结果。
3.1 反馈修正(add_feedback)
用户可对已有记忆进行有效性标注或纠错反馈,e.g.:
“将爱丽丝统一替换为艾丽丝”、 “补充,还会使用在教育场景”、“错误,上个月的报销金额为500元”。
代码示例
云服务
import osimport requestsimport json# 替换成你的 MemOS API Keyos.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"data = { "user_id": "memos_user_123", "conversation_id": "1211", "feedback_content": "设计类软件的采购上限改为1200元", "feedback_time": "2025-12-02 10:10:10", "allow_knowledgebase_ids": [ "basebXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ] # 知识库 ID }headers = { "Content-Type": "application/json", "Authorization": f"Token {os.environ['MEMOS_API_KEY']}"}url = f"{os.environ['MEMOS_BASE_URL']}/add/feedback"res = requests.post(url=url, headers=headers, data=json.dumps(data))print(json.dumps(res.json(), indent=2, ensure_ascii=False))
开源版本
# 请先进行本地部署,部署文档见:https://docs.openmem.net/cn/open_source/getting_started/rest_api_server
curl --location --request POST 'http://0.0.0.0:8001/product/feedback' \--header 'Content-Type: application/json' \--data-raw '{ "user_id": "memos_user_123", "writable_cube_ids": [ "demo_cube_001" ], "history": [ {"role": "user", "content": "安全与防护类软件采购上限多少元"}, {"role": "assistant", "content": "为2333元"} ], "feedback_content": "错了,实际上是1000元"}'
3.2 删除记忆(Delete Memory)
支持通过 Memory ID / File ID 精准删除记忆,避免“脏记忆”长期影响模型行为。
亮点
代码示例
云服务
import osimport requestsimport json# 替换成你的 MemOS API Keyos.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"data = { "user_ids": ["memos_user_123"], "memory_ids":["4a50618f-797d-4c3b-b914-94d7d1246c8d"] }headers = { "Content-Type": "application/json", "Authorization": f"Token {os.environ['MEMOS_API_KEY']}"}url = f"{os.environ['MEMOS_BASE_URL']}/delete/memory"res = requests.post(url=url, headers=headers, data=json.dumps(data))print(f"result: {res.json()}")
开源框架
# 请先进行本地部署,部署文档见:https://docs.openmem.net/cn/open_source/getting_started/rest_api_server# 删除指定memory_ids
curl -X POST "http://0.0.0.0:8001/product/delete_memory" \ -H "Content-Type: application/json" \ -d '{ "writable_cube_ids": ["xxxxxxxx", "xxxssssa"], "memory_ids": [ "e80f02ea-b53c-4166-aa7d-fd171c49b94b" ] }'# 删除指定 file_idscurl -X POST "http://0.0.0.0:8001/product/delete_memory" \ -H "Content-Type: application/json" \ -d '{ "writable_cube_ids": ["xxxxxxxx", "xxxssssa"], "file_ids": ["file_id1", "file_id2", "file_id3"] }'
3.3 云服务支持记忆过滤
代码示例
Step 1: 在添加消息时传入相关可被过滤的字段及值
{ "user_id": "memos_user_123", "conversation_id": "memos_conversation_123", "messages": [ { "role": "user", "content": "我喜欢看科幻题材的电影,最喜欢的是《星际穿越》。" }, { "role": "assistant", "content": "这是一个很酷的爱好!要我多帮你推荐几部科幻电影吗?" } ], "tags": ["爱好", "电影偏好"], "info": { "keyword": "科幻电影" }}
Step 2: 检索过滤
{ "user_id": "memos_user_123", "query": "我的爱好是什么?", "filter": { "and": [ {"keyword": "科幻电影"}, {"create_time": {"gt": "2025-01-01"}} ] }}
四、开源版本 Chat 接口正式上线
开源版本新增 Chat 接口,支持:
-
非流式 / 流式交互
-
自动结合个人记忆与知识库进行回复
-
单轮对话结束后自动写入记忆
代码示例
#请先进行本地部署,部署文档见:https://docs.openmem.net/cn/open_source/getting_started/rest_api_server
# 非流式curl -X POST "http://0.0.0.0:8001/product/chat/complete" \ -H "Content-Type: application/json" \ -d '{ "user_id": "memos_user_123", "readable_cube_ids": ["xxx"], "writable_cube_ids": ["xxx"], "query": "我暑假定好去广州旅游,住宿的话有哪些连锁酒店可选?", "model_name_or_path": "deepseek-r1", "add_message_on_answer": true }'# 流式curl -N -X POST "http://0.0.0.0:8001/product/chat/stream" \ -H "Content-Type: application/json" \ -d '{ "user_id": "memos_user_123", "readable_cube_ids": ["xxx"], "writable_cube_ids": ["xxx"], "query": "我暑假定好去广州旅游,住宿的话有哪些连锁酒店可选?", "model_name_or_path": "deepseek-r1", "add_message_on_answer": true }'
五、开源版本代码更新啦!
在开源版本里,除了以上新增/更新的功能外,我们针对近期发现的 bug 进行了统一修复。
5.1 BUG 修复
5.1.1 记忆调度任务老接口兼容性问题
原因:Memcube 调整为单例模式,旧版记忆更新任务调用老接口时,误读默认记忆数据库,导致返回非当前用户数据。
修复效果:确保用户记忆隔离正确。
5.1.2 记忆更新任务日志打印问题
原因:Memcube 工作记忆接口返回过多条目,掩盖新添加工作记忆,日志无法正确展示。
修复效果:限制接口返回数量,确保新增记忆在日志中正常呈现。
六、MCP 能力升级:记忆即工具
MCP 新增 delete_memory 和 add_feedback 工具:
MCP 配置示例
{ "mcpServers": { "memos-api-mcp": { "args": [ "-y", "@memtensor/memos-api-mcp@latest" ], "command": "npx", "env": { "MEMOS_API_KEY": "xxxxxx", "MEMOS_CHANNEL": "MCP", "MEMOS_USER_ID": "xxxxxx" } } }}
Tips:
七、系统升级与轻量化部署
MemOS 2.0 “星尘”在任务调度和本地部署方面进行了核心升级,提升了多租户环境下的系统稳定性、任务处理公平性以及本地部署的灵活性和效率。
7.1 调度系统升级
我们对 调度与底层存储 进行了深度重构:
云平台用户在大规模调用场景下,将体验到更快、更稳定的记忆写入与检索性能。
AddMessage 写入速度更快,SearchMemory 检索更稳、更准。
7.2 轻量化部署
写在最后:为什么叫 星尘(Stardust)?
我们希望通过 星尘(Stardust),更好传达 MemOS 2.0 版本带来的不同状态和感知:
每一条对话、一次反馈、一次工具调用
都会成为 AI 演化过程中的一粒星尘。
MemOS 2.0 不只是“存记忆”,
而是在构建 AI 的长期经验系统。
关于 MemOS
MemOS 为 AGI 构建统一的记忆管理平台,让智能系统如大脑般拥有灵活、可迁移、可共享的长期记忆和即时记忆。
作为记忆张量首次提出“记忆调度”架构的 AI 记忆操作系统,我们希望通过 MemOS 全面重构模型记忆资源的生命周期管理,为智能系统提供高效且灵活的记忆管理能力。