Supermemory 是面向 AI 應用的記憶與情境引擎,將對話與文件轉成可更新的事實、使用者輪廓及可檢索內容。這份手冊整理 App、MCP、API 與本機自架四種入口,並以容器隔離、混合搜尋與資料邊界協助選型。
Supermemory 接收對話、文字、網址與檔案,從內容中抽取可重用的事實,建立使用者輪廓,並在後續請求中回傳相關情境。它也處理資訊更新、互相矛盾的敘述與有時效的內容,讓記憶不只是累積紀錄。
記憶與 RAG 是兩種不同工作。RAG 從文件片段找答案;記憶則追蹤特定使用者的偏好、活動與事實版本。Supermemory 的預設混合搜尋把文件檢索與個人化記憶放進同一個查詢,也能切換成只搜尋記憶。
每個 containerTag 可代表使用者、專案、組織或知識庫,作為記憶的隔離邊界。輪廓回應區分較穩定的 static 事實與近期的 dynamic 情境;內容處理完成後,也能透過中繼資料與語意條件篩選。
只想建立個人記憶,可直接使用 Supermemory App。要讓 Claude Code、Cursor 等相容客戶端跨對話保留情境,使用 MCP;要把記憶放進產品流程,安裝 TypeScript 或 Python SDK。
MCP 伺服器預設使用 OAuth。將下列設定加入支援遠端 MCP 的客戶端,客戶端會在連線時引導登入;若要把整條連線限制在特定專案,可另加 x-sm-project 標頭。
curl -fsSL https://supermemory.ai/install | bash,或以 npx supermemory local 安裝,再用 supermemory-server 啟動。API 位於 http://localhost:6767,資料集中在 ./.supermemory;首次啟動會設定圖形引擎、嵌入模型與憑證。
Supermemory 將記憶抽取、使用者輪廓、文件檢索與連接器放在同一個資料模型上,再以 SDK、MCP 與本機伺服器提供不同入口。先確認資料是否屬於單一使用者、專案或組織,再選定穩定的 containerTag。
| 目標 | 建議入口 | 第一個動作 |
|---|---|---|
| 個人知識與對話記憶 | Supermemory App | 前往 app.supermemory.ai |
| 現有 AI 助手的跨對話記憶 | MCP 或官方外掛 | 設定遠端 MCP URL |
| 產品中的個人化與知識檢索 | TypeScript / Python SDK | 建立 API 金鑰與容器規則 |
| 資料留在自有機器 | Supermemory local | 啟動 supermemory-server |
記憶系統的結果不只取決於模型,也取決於資料如何分區、何時寫入及如何取回。以下原則整理自專案 README、Supermemory skill 參考文件與 MCP 伺服器說明。
使用內部既有的使用者、專案或組織識別碼。寫入與查詢必須沿用同一個 containerTag,避免記憶落入不同空間。
若整個 MCP 連線只服務單一專案,可設定 x-sm-project。伺服器會把該連線的操作固定在指定範圍。
Hosted API 使用 SUPERMEMORY_API_KEY。不要把金鑰寫進瀏覽器端程式、版本庫或範例輸出;MCP 客戶端可優先採用 OAuth。
聊天產品的基本循環是先呼叫 profile() 取得相關情境,組入系統訊息,再於對話結束後以 add() 保存新內容。
hybrid 同時帶回文件與記憶,適合知識庫問答;memories 只檢索使用者事實,適合偏好與近期活動。
名稱、角色等長期事實可標記為靜態記憶;對話、活動與可能被後續資訊取代的內容保留為動態記憶。
來源 · skills/supermemory Architecture在寫入時加入來源、內容類型與時間戳記。後續可透過中繼資料篩選,縮小語意搜尋的候選範圍。
來源 · 官方 API ReferenceGoogle Drive、Gmail、Notion、OneDrive、GitHub 與網頁內容會進入處理流程。查詢端仍應用容器與中繼資料限制資料範圍。
來源 · 官方 READMEMCP 的 listMemories 按來源文件列出記憶事實。先盤點再執行 memory 的 forget 動作,可降低刪錯範圍的風險。
Supermemory local 將資料集中於 ./.supermemory。切換主機前先備份該目錄,應用程式只需調整 SDK 的 baseURL。
以下流程沿用官方 README 的 TypeScript 介面:先把一段對話寫入固定容器,再以同一個 containerTag 取得使用者輪廓與相關記憶。範例回應只表示欄位結構,實際內容取決於帳戶中的資料與處理狀態。
add() 接收原始內容並交給背景處理流程;profile() 則把同一容器中的長期事實、近期情境與相關搜尋結果組成回應。兩次呼叫使用相同的容器標籤,才會落在同一個記憶空間。
實際聊天流程通常在生成回應前呼叫 profile(),將結果放進提示詞;對話完成後再呼叫 add()。若處理尚未完成,搜尋結果可能不會立刻包含剛寫入的內容。
containerTag 負責資料分區;產品仍需在呼叫 Supermemory 前驗證使用者,並確保他只能使用自己的容器識別碼。
recall,產品介面不應假設寫入後立刻可查。
isStatic 用於名稱、角色等不常變動的資料。近期活動與可能被新資訊取代的偏好應保留為動態記憶。
Supermemory 同時提供消費者 App、遠端 MCP、SDK、連接器與本機伺服器。導入順序可從單一使用者與單一容器開始,確認寫入、輪廓、檢索與刪除行為後,再擴大資料來源。
1. 先用 MCP 驗證個人記憶。在支援的 AI 客戶端加入遠端 MCP,測試 memory、recall、listMemories 與 context,並確認專案範圍。
2. 再把 API 放進產品迴圈。於生成回應前呼叫 profile(),回應完成後呼叫 add()。先定義容器命名、原始紀錄與刪除政策。
3. 導入文件與連接器。需要知識庫時再啟用檔案上傳與外部同步,並以混合搜尋同時取得文件證據與個人化情境。
4. 評估本機運行。若資料邊界要求自架,可用本機伺服器保留相同 API 介面。備份 ./.supermemory,並記錄模型、嵌入供應商與 baseURL。
5. 把記憶納入產品治理。建立可查看、修正與忘記記憶的使用者介面,監控處理延遲與跨容器結果,並定期驗證連接器權限。
① 專案 README:四種使用入口、SDK 範例、搜尋模式與本機運行。
② MCP Server 4.0:OAuth、專案範圍、工具、資源與 prompt。
③ Self-hosting:本機伺服器、設定與模型選擇。
④ Memory vs. RAG:個人事實追蹤與文件檢索的差異。