写点什么

MemOS 2.0「星尘 Stardust」正式发布:从知识库到可控的记

  • 2025-12-26
    上海
  • 本文字数:6783 字

    阅读完需:约 22 分钟


过去一段时间中,MemOS 助力解决了大模型长期、可检索、可复用的记忆问题。

在 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:

  • 仅支持记忆体 ID;

  • 鉴权逻辑通过 writable_cube_ids 与 readable_cube_ids 鉴权,原始 mem_cube_id 也可兼容。

代码示例:向某个记忆库中添加文件请求

# 请先进行本地部署,部署文档见: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 在多模态记忆方面进行了重大升级,使智能体能够同时理解和记忆文本、图片、文件和工具调用等多种信息类型,从而提升复杂任务的处理能力。

核心功能
  • 工具记忆(Tool Memory):记录 Agent 工具调用历史并抽取经验,支持任务决策与组合调用。

  • 文件与 URL 解析:上传文件或提供 URL,自动解析并切分为可检索记忆块,支持文档问答或摘要生成。

  • 图片记忆:对话或文件中的图片可生成视觉记忆,与文本语境自动对齐,可用于图表分析、视觉问答等场景。

特性与优势



云服务代码示例

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 云服务支持记忆过滤

  • 支持添加消息时自定义 taginfo 字段,为转化的记忆打上自定义标签;

  • 检索记忆时可使用 filter 参数对检索结果进行过滤,支持比较运算、逻辑运算、集合运算等多种运算符。

代码示例

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 工具:

  • 删除特定用户的记忆

  • 提交用户反馈,包括 Agent ID、App ID、允许公开或知识库限制等

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_API_KEY:


    https://memos-dashboard.openmem.net/cn/apikeys/

  • MEMOS_USER_ID: 确定性的用户自定义个人标识符。对于同一用户,该环境变量需要在不同设备/客户端中保持一致;请不要使用随机值、设备 ID 或聊天会话 ID 作为用户标识符;

  • 推荐使用:个人 email 地址、姓名全称或员工 ID 作为用户标识符。

七、系统升级与轻量化部署

MemOS 2.0 “星尘”在任务调度和本地部署方面进行了核心升级,提升了多租户环境下的系统稳定性、任务处理公平性以及本地部署的灵活性和效率。

7.1 调度系统升级

我们对 调度与底层存储 进行了深度重构:

  • 高并发 API 调用优化;

  • 调度系统增强,Pending 任务自动恢复;

  • 数据库连接管理优化,支持批量插入(Batch Insert),提升多文件写入效率。



云平台用户在大规模调用场景下,将体验到更快、更稳定的记忆写入与检索性能。

AddMessage 写入速度更快,SearchMemory 检索更稳、更准。

7.2 轻量化部署

  • 精简包:去除大型依赖,快速部署

  • 全量包:完整依赖镜像,支持生产级部署

  • 本地优化:最新启动命令 + env 配置简化,支持快速模式和完整模式



写在最后:为什么叫 星尘(Stardust)?

我们希望通过 星尘(Stardust),更好传达 MemOS 2.0 版本带来的不同状态和感知:

每一条对话、一次反馈、一次工具调用都会成为 AI 演化过程中的一粒星尘。

MemOS 2.0 不只是“存记忆”,而是在构建 AI 的长期经验系统。


✨ 老规矩!

🚀 一键体验云平台

立即进入 MemOS 云平台,体验毫秒级记忆与偏好召回能力。

https://memos-dashboard.openmem.net/

💾 如果你喜欢我们的工作,请一键三连:

⭐️ Star 🍴 Fork 👀 Watch

并欢迎通过 Issue 提交你的使用反馈、优化建议或 Bug 报告。

github.com/MemTensor/MemOS/issues




关于 MemOS

MemOS 为 AGI 构建统一的记忆管理平台,让智能系统如大脑般拥有灵活、可迁移、可共享的长期记忆和即时记忆。

作为记忆张量首次提出“记忆调度”架构的 AI 记忆操作系统,我们希望通过 MemOS 全面重构模型记忆资源的生命周期管理,为智能系统提供高效且灵活的记忆管理能力。

发布于: 14 分钟前阅读数: 6
用户头像

还未添加个人签名 2025-11-11 加入

还未添加个人简介

评论

发布
暂无评论
MemOS 2.0「星尘 Stardust」正式发布:从知识库到可控的记_数据库_记忆张量MemTensor_InfoQ写作社区