博客 / 詳情

返回

MemOS 2.0「星塵 Stardust」正式發佈:從知識庫到可控的記憶體系

logo動態.jpg

過去一段時間中,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,自動解析並切分為可檢索記憶塊,支持文檔問答或摘要生成。
  • 圖片記憶:對話或文件中的圖片可生成視覺記憶,與文本語境自動對齊,可用於圖表分析、視覺問答等場景。
特性與優勢

表格.png

雲服務代碼示例

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 雲服務支持記憶過濾

  • 支持添加消息時自定義 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_memoryadd_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),提升多文件寫入效率。

微信圖片_2025-12-26_111329_232.png

雲平台用户在大規模調用場景下,將體驗到更快、更穩定的記憶寫入與檢索性能。

AddMessage 寫入速度更快,SearchMemory 檢索更穩、更準。

7.2 輕量化部署

  • 精簡包:去除大型依賴,快速部署
  • 全量包:完整依賴鏡像,支持生產級部署
  • 本地優化:最新啓動命令 + env 配置簡化,支持快速模式和完整模式

640.png

寫在最後:為什麼叫 星塵(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


logo動態.jpg

關於 MemOS

MemOS 為 AGI 構建統一的記憶管理平台,讓智能系統如大腦般擁有靈活、可遷移、可共享的長期記憶和即時記憶。

作為記憶張量首次提出“記憶調度”架構的 AI 記憶操作系統,我們希望通過 MemOS 全面重構模型記憶資源的生命週期管理,為智能系統提供高效且靈活的記憶管理能力。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.