OpenClaw通過@tablestore/openclaw-mem0外掛程式整合Table Store(Tablestore),為智能體提供長期記憶能力:在對話中出現可提取的使用者資訊時(如偏好、習慣等),mem0 自動將其結構化後以向量形式存入 Tablestore,並在後續對話中自動檢索注入上下文,讓智能體隨使用逐漸瞭解使用者。本文介紹如何安裝、配置該外掛程式並驗證其工作狀態。
方案介紹
OpenClaw 原生記憶存在以下局限:上下文壓縮(Compact)後記憶丟失、多 Agent 之間記憶隔離、本地 Embedding 部署複雜、資料備份與遷移困難。使用 Tablestore+mem0 做記憶儲存,具備以下核心優勢:
雲託管,免營運:Tablestore 為阿里雲全託管服務,無需自建資料庫,隨用隨付,中小規模情境成本友好。
資料自主可控:資料存放區於使用者自己的阿里雲帳號,可通過 Tablestore 控制台直接查看,支援資源隔離、許可權管理與監控警示。
跨 Agent 記憶共用:同一
userId下,多個 Agent 記憶互連,Compact 不影響歷史記憶保留。智能結構化提取:自動從對話中抽取姓名、偏好、決策等關鍵事實,不堆積原始對話內容。
混合檢索召回:向量相似性與 BM25 關鍵詞檢索並用,兼顧語義理解與精確匹配,毫秒級響應。
前提條件
已安裝 OpenClaw,如未安裝可參考官方文檔
已開通 Tablestore 服務
已開通百鍊服務,並擷取 API Key
自動安裝
向 OpenClaw 發送以下提示詞,智能體會自動讀取安裝說明並引導完成配置:
請閱讀https://tablestore-doc.oss-cn-hangzhou.aliyuncs.com/aliyun-tablestore-ai/openclaw/skill.md,並按照說明安裝和配置tablestore plugin 用於 OpenClaw。
安裝完成後告訴我你能做什麼如果智能體自動安裝失敗,請嘗試手動方式安裝。
手動安裝
步驟一:安裝外掛程式
openclaw plugins install @tablestore/openclaw-mem0安裝完成後,OpenClaw 會自動將 openclaw-mem0 設為 memory 槽位的提供方,並禁用內建的 memory-core 和 memory-lancedb。
由於 OpenClaw 使用 Node.js tar 模組解壓外掛程式包,在檔案數量較多時(@tablestore/openclaw-mem0 含約 7000 個檔案)可能會觸發 120 秒逾時。需通過以下方式繞過:先用 npm 下載,再用系統 tar 解壓,最後從本地路徑安裝。
下載外掛程式包到
/tmp目錄cd /tmp && npm pack @tablestore/openclaw-mem0用系統 tar 解壓,動態擷取檔案名稱,版本升級後無需修改命令
mkdir -p /tmp/openclaw-mem0-install && tar xzf /tmp/$(ls /tmp/tablestore-openclaw-mem0-*.tgz | head -1 | xargs basename) -C /tmp/openclaw-mem0-install --strip-components=1從本地路徑安裝
openclaw plugins install /tmp/openclaw-mem0-install
步驟二:配置外掛程式
修改 ~/.openclaw/openclaw.json,在 plugins.entries.openclaw-mem0 下添加 config 欄位:
方式一:AccessKey 認證(使用已有執行個體)
{
"plugins": {
"entries": {
"openclaw-mem0": {
"enabled": true,
"config": {
"mode": "open-source",
"oss": {
"vectorStore": {
"provider": "tablestore",
"config": {
"endpoint": "https://{執行個體名}.{Region}.ots.aliyuncs.com",
"instanceName": "{執行個體名}",
"accessKeyId": "{AccessKey ID}",
"accessKeySecret": "{AccessKey Secret}"
}
},
"embedder": {
"provider": "openai",
"config": {
"apiKey": "{百鍊 API Key}",
"model": "text-embedding-v3",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
},
"llm": {
"provider": "openai",
"config": {
"apiKey": "{百鍊 API Key}",
"model": "qwen-plus",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1"
}
}
}
}
}
}
}
}方式二:AccessKey 認證(自動建立執行個體)
不填 endpoint 和 instanceName,外掛程式自動在指定地區建立 Tablestore 執行個體。可通過 regionId 指定地區,預設為 cn-hangzhou。
帳號執行個體數量上限為10,詳見使用限制。
"vectorStore": {
"provider": "tablestore",
"config": {
"accessKeyId": "{AccessKey ID}",
"accessKeySecret": "{AccessKey Secret}",
"regionId": "cn-hangzhou"
}
}自動建立的執行個體預設不開啟公網訪問。如果在公網環境運行,需要在Table Store控制台選擇新建立的執行個體,然後在中啟用公網訪問。
方式三:ECS RAM Role 認證
在阿里雲 ECS 上運行時,推薦使用 ECS RAM Role 代替 AccessKey,無需在設定檔中儲存靜態憑證。RAM Role 需綁定 AliyunOTSFullAccess 許可權,詳見執行個體RAM角色。
"vectorStore": {
"provider": "tablestore",
"config": {
"roleName": "{RAM 角色名稱}",
"regionId": "cn-hangzhou"
}
}已有執行個體時,將regionId替換為endpoint和instanceName,參考方式一的配置結構。
embedder 和 llm 均通過 DashScope 的 OpenAI 相容介面調用,填寫百鍊 API Key 即可,provider 寫 openai。embedder 使用 text-embedding-v3(1024 維),llm 使用 qwen-plus 負責記憶提取。
步驟三:重啟網關
openclaw gateway restart步驟四:驗證
openclaw mem0 stats成功時輸出:
[TablestoreVectorStore] OTS service status: enabled
Mode: open-source
User: default
Total memories: 0
Graph enabled: false
Auto-recall: true, Auto-capture: trueTotal memories 為當前記憶條數,初始為 0,隨使用積累增長。
使用記憶
自動提取與召回
配置生效後無需額外操作。在 TUI 或訊息渠道與智能體對話時,mem0 會自動:
提取:對話中出現可記錄的使用者資訊(如飲食偏好、編程習慣、專案背景等)時自動寫入 Tablestore
召回:下次對話前自動檢索相關記憶注入上下文,無需使用者重複說明
搜尋記憶
openclaw mem0 search "杭州"返回語義上與檢索詞相關的記憶條目,可用於排查記憶是否正確寫入或調試檢索效果。
常見問題
問題 | 解決方案 |
外掛程式未載入 | 檢查 |
安裝時下載逾時 | 配置鏡像源: |
| 檢查 AccessKey ID 和 Secret 是否正確,帳號是否正常 |
首次使用報 | 正常現象,外掛程式在首次訪問時自動建立資料表和索引 |
自動建立執行個體失敗 | 確認 AccessKey 擁有 |
Embedding 報錯 | 確認百鍊 API Key 正確且帳號有調用額度 |
| 自動建立的執行個體預設未開啟公網訪問,在Table Store控制台選擇新建立的執行個體,然後在中啟用公網訪問後重試 |