在 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/

 

posted @ 2026-02-05 11:37  OceanBase数据库  阅读(0)  评论(0)    收藏  举报