過去一段時間中,MemOS 助力解決了大模型長期、可檢索、可複用的記憶問題。
在 MemOS 2.0 · 星塵(Stardust) 版本中,我們邁出了關鍵一步——讓記憶變得可控、可修正,並更自然地融入業務場景、開源部署及 AI 應用中。
MemOS 2.0 · 星塵(Stardust)不僅是能存記憶,更是可控的 AI 記憶系統:
- 支持知識庫;
- 記憶可持續更新、可複用;
- 多模態信息統一管理;
- 智能體工具調用、文件與圖片均可記憶;
- 調度系統和本地部署性能提升。
正如 “星塵(Stardust)” 寓意,每一次對話、每一次反饋、每一次工具調用,都是 AI 演化過程中的一粒星塵,見微知著,逐漸構建起智能體的長期經驗系統。
一、知識庫能力上線
我們正式引入 知識庫(Knowledge Base)能力,支持開發者將業務文件直接接入 MemOS,形成可檢索、可複用的長期知識資產。
亮點
- 支持 上傳文件 / URL 自動解析;
- 一個知識庫可 被多個項目共享使用;
- 對話持續進行時,記憶可動態更新與修正。
雲服務代碼示例
Step 1: 創建知識庫並上傳文件
import json
import os
import 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 os
import requests
import json
os.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 os
import requests
import json
# 替換成你的 MemOS API Key
os.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 os
import requests
import json
# 替換成你的 MemOS API Key
os.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 os
import requests
import json
# 替換成你的 MemOS API Key
os.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_ids
curl -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 雲服務支持記憶過濾
- 支持添加消息時自定義
tag、info字段,為轉化的記憶打上自定義標籤; - 檢索記憶時可使用
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 全面重構模型記憶資源的生命週期管理,為智能系統提供高效且靈活的記憶管理能力。