博客 / 詳情

返回

在 ClawdBot (MoltBolt / OpenClaw) 中增加記憶插件 PowerMem 的新方法

摘要:

本文介紹如何為開源個人AI助手 Moltbot(原 ClawdBot)集成基於 OceanBase 技術棧的長期記憶插件 PowerMem。通過 HTTP API 對接,PowerMem 為 Moltbot 提供智能信息抽取、艾賓浩斯遺忘曲線調度及多智能體隔離的記憶能力,顯著增強其上下文持久化與自主決策水平,實現更類人的“數字員工”體驗。

 

Moltbot 是什麼?

 1

 

Clawdbot(後更名為 Moltbot,又更名為 OpenClaw)是一款開源、以通訊為核心的AI智能體項目,運行在你自己的設備上,通過你已有的渠道(WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Teams、WebChat 等)和你對話,支持語音、Canvas、多代理路由等。

 

簡單點説:Moltbot 最大的特點是不僅能回答問題,更能真正“動手”操作你的電腦系統,執行命令、控制瀏覽器、管理文件,就像一個 7 x 24 小時在線的 “數字員工”。

 

官網 :https://www.molt.bot/

github 地址:https://github.com/moltbot/moltbot

 

Moltbot 部署

 

方式一:NPM 全局安裝

 2

 

方式二:源代碼安裝

 3

 

上面兩種安裝方式二選一,因為我是走的源代碼安裝:

  1. pnpm moltbot onboard --install-daemon 初始化

4

 

 

  1. 同意風險提示

這裏會讓你確認風險。Moltbot 功能強大,能執行系統命令、讀寫文件、控制瀏覽器,但這也意味着如果配置不當或被濫用,可能會帶來安全風險,請謹慎使用。

5

 

 

  1. 選擇快速開始
  2. 配置 AI 模型授權,我手裏頭有qwen的

6

 

 

  1. 啓動web

問個小問題:“查一下我的電腦型號”,很快 moltbot 回覆了我機器的具體型號,雖然任務非常簡單,但是還是挺驚喜的,距離“賈維斯”又進了一步了。

7

 

 

Moltbot 的原生記憶解讀

 

Moltbot 的持久記憶可以概括為:「Markdown 文件為單一事實來源 + 可選向量/混合檢索」。

 

存儲形態:純 Markdown 文件

 

事實來源:模型「記得」的內容 = 寫入磁盤的 Markdown;不依賴模型內部狀態。

默認佈局(在 workspace 下,如 ~/clawd):

memory/YYYY-MM-DD.md:按日期的日誌,僅追加;會話開始時讀「今天 + 昨天」。

MEMORY.md(可選):長期、人工可維護的記憶;只在 main 私聊 session 加載,羣聊不加載。

 

也就是説:

短期、按天的記錄 → memory/YYYY-MM-DD.md

長期、精選事實 → MEMORY.md

持久化完全靠「寫進這些文件」,而不是靠對話歷史本身。

 

寫入時機與「記憶沖刷」(Memory Flush)

 

平時:模型通過 工具(如 write、edit)或技能,把要記住的內容寫到 MEMORY.md 或 memory/YYYY-MM-DD.md。

自動沖刷:當 session 快觸發自動 compaction 前,Moltbot 會跑一輪 靜默的 agent 回合,專門提醒模型「把該持久化的東西寫進記憶文件」,並鼓勵用 NO_REPLY 不回覆用户,避免用户看到這次內部回合。

觸發條件由 agents.defaults.compaction.memoryFlush 控制,例如在「剩餘 token ≈ softThresholdTokens」時觸發;每輪 compaction 只做一次 flush,並在 sessions.json 裏記 memoryFlushCompactionCount 等,避免重複。

 

相關代碼在 src/auto-reply/reply/memory-flush.ts:

shouldRunMemoryFlush():根據當前 token、context 上限、reserve、softThreshold 判斷是否該 flush。

 8

 

若 workspace 只讀(如 sandbox workspaceAccess: "ro"),則不做 flush。

 

 

檢索層:向量 + 可選 BM25 混合檢索

 

數據流

9

 

 

 

實現方式

 

插件控制:默認使用 memory-core 插件(可設 plugins.slots.memory = "none" 關掉)。

工具:

memory_search:對 MEMORY.md 和 memory/*.md 做語義檢索(按 ~400 token 分塊、80 token 重疊),返回片段 + 文件路徑 + 行號;可選開啓 BM25 + 向量 的混合檢索。

memory_get:按路徑(及可選 from/lines)讀取 MEMORY 或 memory 下的文件片段,供在檢索後精確拉取,控制上下文長度。

向量索引:

對MEMORY.md 和 memory/*.md 建索引;索引按 agent 存於 ~/.clawdbot/memory/.sqlite(路徑可配)。

支持遠程 embedding(OpenAI、Gemini 等)或本地模型(如 GGUF);可選 sqlite-vec 做向量加速。

文件變更有 watcher(debounce),索引異步更新;若 embedding 模型/端點等變化,會整庫重建索引。

 

混搜權重分配

10

 

 

最終分數的計算公式非常簡單(src/memory/hybrid.ts):

 11

 

這意味着:

向量搜索和文本三七開:最終得分 = 0.7×向量分 + 0.3×文本分(歸一化後),偏重語義。

候選池放大 4 倍:先取 maxResults × 4 的候選再合併、排序、截到 maxResults,提高最終 Top‑N 質量。

 

Moltbot + powermem 方案

 12

 

有 PowerMem VS 沒有 PowerMem

13

 

 

集成 powermem 方案

集成方式:已插件的方式進行集成

 14

 

集成方式:新增插件 extensions/memory-powermem,通過 HTTP 調用 PowerMem 已啓動的 API 服務;不把 PowerMem 作為庫嵌入 Moltbot 進程。

部署:用户需單獨啓動 PowerMem(如 powermem-server --host 0.0.0.0 --port 8000 或 Docker),並在 Moltbot 配置中填寫 baseUrl(及可選 apiKey)。

 

代碼結構

代碼地址:https://github.com/ob-labs/moltbot-extension-powermem

 15

 

在 Moltbot Agent 裏會暴露這些能力:

memory_recall — 按查詢搜索長期記憶

memory_store — 寫入一條記憶(可選是否智能抽取)

memory_forget — 按記憶 ID 或按搜索條件刪除

 

使用 powermem 插件

 

Step1: 前置條件

 

已安裝 Moltbot(CLI + gateway 能正常用)

PowerMem 服務:需要單獨安裝並啓動(見下文兩種方式,任選其一)

若用 PowerMem 的「智能抽取」:需在 PowerMem 的 .env 裏配置好 LLM + Embedding 的 API Key(如通義千問 / OpenAI)

 

Step2:把本插件裝進 Moltbot

 

在你本機執行(路徑改成你實際克隆的目錄):

16

 

 

安裝成功後,可用 moltbot plugins list 確認能看到 memory-powermem。

 

Step3:配置 Moltbot 使用本插件

 

編輯 Moltbot 的配置文件(常見位置:~/.clawdbot/config.json 或項目裏的 moltbot.json),在 根級 增加或合併 plugins 段,並把記憶槽指向本插件,並寫上 PowerMem 的地址。

 

示例(JSON):

 17

 

説明:

baseUrl:PowerMem 的 HTTP 地址,不要加 /api/v1,就寫 http://localhost:8000 或你的實際主機/端口。

若 PowerMem 開了 API Key 鑑權,在 config 裏增加 "apiKey": "你的key"。

改完配置後重啓 Moltbot gateway(或重啓 Mac 菜單欄應用),配置才會生效。

 

Step4:驗證插件與 PowerMem 連通

 

在終端執行:

 18

 

若輸出裏沒有報錯、能看到健康狀態,説明插件已連上 PowerMem。

 

Step5: 測試手動寫入 + 搜索

 

我們來簡單測試一下,用手動寫入驗證數據庫是否有數據

 19

 

 

若搜索能返回剛寫的那條(或類似內容),説明「安裝 PowerMem → 安裝插件 → 配置 Moltbot」全流程已打通。

 

下面是執行結果:

 20

 

看一眼數據庫,妥妥的已經寫入了

 

21

 

 

歡迎訪問 OceanBase 官網獲取更多信息:https://www.oceanbase.com/

 

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

發佈 評論

Some HTML is okay.