在和OpenClaw聊的多了的时候,有时候会发现他会出现遗忘和错乱的现象,影响我们的使用体验。本文带大家探索OpenClaw记忆增强大法,在节省Token的同时提升大龙虾的脑容量!
🦞QMD
QMD和OpenClaw内置的Memory-Core实现方式是一样的,只是优化了他的算法,增强了原来的记忆系统。
前置条件
在安装QMD的时候,需要满足以下前置条件:
- Node.js 22+
- Bun(用于安装 QMD)
- 磁盘空间:约 2.5 GB(模型文件)
- 内存:建议 4 GB 以上可用内存(加载 GGUF 模型)
安装Bun
直接使用官方脚本安装
curl -fsSL https://bun.sh/install | sudo bash

安装QMD
首先安装以下Bun,这里通常不会出现什么问题
curl -fsSL https://bun.sh/install | sudo bash
到了正式安装QMD这一步,我按照网络上的很多步骤进行安装,比如现状bun,再装qmd,然后添加路径,都会出现下面的提示
![]()
再尝试众多方法均无效后,还是让我们来看官方文档吧
QMD
https://github.com/tobi/qmd一行命令
npm install -g @tobilu/qmd
没错,就好了


枉我折腾那么久~
尝试一下,把当前openclaw的对话记忆memory目录添加到qmd中

成功了,当然这只是一个简单的尝试,按章官方手册,QMD 首次运行 query 命令时会自动从 HuggingFace 下载模型,但这可能需要较长时间。也就是运行一次查询来触发模型下载。
cd ~/.openclaw/workspace
qmd update

# 设置镜像
export HF_ENDPOINT=https://hf-mirror.com
# 这会下载 query-expansion (~1.3 GB) 和 reranker (~640 MB)
qmd query "test" -c memory --json
在这里官方手册写的是memory-root字段,由于-c后面跟的是collection name,这是QMD默认的一个字段,但是我在运行的时候他提醒我没有memory-root,因此我针对workspace目录下的memory目录进行collection add操作
qmd collection add memory --name memory
由于我先前把这个collection命名为同名的【memory】,因此我上面的代码也就用memory代替了

ok完毕~
🦞 配置OpenClaw
启用QMD
一行命令启用
openclaw-cn config set memory.backend qmd
openclaw-cn gateway restart
配置作用域(推荐)
按照官方的推荐,那我们就启用下在所有场景的作用域
openclaw-cn config set memory.qmd.scope.default allow

这里openclaw也提醒我们要重启网关,不过在这之前还可以加一个配置
调整查询超时
默认查询超时为 4 秒,由于刚才我的QMD提醒我WSL没有CUDA,很奇怪,我担心查询慢,模型加载和推理可能需要更长时间,所以也开启一下,这里设置为20s。
openclaw-cn config set memory.qmd.limits.timeoutMs 20000
重启网关
openclaw-cn gateway restart

🦞 测试一下
按照官方说法,qmd默认的Collection有以下内容,
| Collection | 路径 | 匹配模式 |
|---|---|---|
memory-root | ~/.openclaw/workspace/ | MEMORY.md |
memory-alt | ~/.openclaw/workspace/ | memory.md |
memory-dir | ~/.openclaw/workspace/memory/ | **/*.md |
官方测试案例使用的是memory-root,所以我们也对workspace进行一次collection建立
qmd collection add workspace/ --name memory-root
随后进入workspace目录执行更新
qmd update
检查状态
qmd status

在workspace下创建一个记忆文件
# 创建一个测试记忆文件
cat > ~/.openclaw/workspace/MEMORY.md << 'EOF'
# 个人记忆
## 偏好
- 喜欢简洁的代码风格
- 倾向使用 TypeScript
## 项目笔记
- 当前在开发 Openclaw-CN 项目
EOF

再次更新workspace下的检索后运行search命令,可以看到检索结果,还是很准的,是吧

在这里提下,官方使用
qmd query "偏好" -c memory-root --json
进行检索,但是可能由于没有CUDA的原因我这里一直报错,所以干脆就用CLI的方式,使用search命令,效果达到预期。
🦞 检查记忆状态
通过指令可以检查记忆状态
openclaw-cn memory status
openclaw-cn memory status --deep
可以看到我们的工作空间以及创建的记忆检索,还有sqlit的库

🦞问下机器人
最后让我们来考验一下机器人吧~


358

被折叠的 条评论
为什么被折叠?



