乐于分享
好东西不私藏

OpenClaw QMD Memory Engine 安装配置指南

OpenClaw QMD Memory Engine 安装配置指南

为 OpenClaw 多 Agent 集群启用 QMD 本地混合搜索引擎,替代内置 memory backend,支持多语言 CJK。

我是 AI灵感闪现,使用 OpenClaw 小龙虾 让 AI 自主管理工作和生活上的问题;使用 Claude Code + BMAD AI 驱动敏捷开发框架,让 AI 自主开发和交付软件来表达想法和灵感。是 MoneyMind 省钱思维 App 和 HeartPetBond 心宠纽带 App 开发者。正在实践和分享让 AI 自主解决健康、生活、投资和等方面的问题。我尽可能让 AI 自己完成从目标到交付以及演进的闭环,以最少的人为交互与监督,让 AI 自己跑流程。我只给 AI 想法或目标,全程不陪跑,让 AI 自主运行类似 Tesla FSD 自动驾驶。

环境: macOS (Apple Silicon), OpenClaw 2026.4.11, QMD 2.1.0Agent 数量: 15 个

背景

OpenClaw 内置的 memory engine(builtin)基于 SQLite FTS5,适合简单场景。当需要更高质量的搜索(重排序、语义搜索)、索引 workspace 外的文档、或回溯历史会话时,可以启用 QMD[1] 作为 memory backend。

QMD 是一个本地搜索 sidecar,组合 BM25 全文检索 + 向量语义搜索 + LLM 重排序,完全在本地运行,无需 API key。

一、安装 QMD

1. 通过 Bun 全局安装

bun install -g @tobilu/qmd

验证:

qmd --version# qmd 2.1.0

2. 创建 symlink(Gateway 服务可达)

OpenClaw Gateway 通过 launchd 运行,其 PATH 可能不包含 ~/.bun/bin。创建 symlink 确保可达:

sudoln -s ~/.bun/bin/qmd /usr/local/bin/qmd

注意: 如果 LaunchAgent plist 的 EnvironmentVariables.PATH 已经包含 ~/.bun/bin,此步骤非必需但仍建议做,以防其他进程也需要调用 qmd。

二、下载 GGUF 模型

QMD 使用 3 个本地 GGUF 模型(首次搜索时自动下载,但从国内下载 HuggingFace 很慢)。建议提前手动下载:

默认模型

模型
用途
大小
embeddinggemma-300M-Q8_0
向量 Embedding
~313MB
qwen3-reranker-0.6b-q8_0
重排序
~610MB
qmd-query-expansion-1.7B-q4_k_m
查询扩展(微调)
~1.2GB

多语言 Embedding 模型(推荐)

默认的 embeddinggemma-300M 对中日韩文支持有限。强烈建议换用 Qwen3-Embedding-0.6B:

模型
用途
大小
Qwen3-Embedding-0.6B-Q8_0
多语言向量 Embedding
~610MB

手动下载命令

mkdir -p ~/.cache/qmd/models# 1. Embedding(默认,可选保留)curl -L -o ~/.cache/qmd/models/hf_ggml-org_embeddinggemma-300M-GGUF_embeddinggemma-300M-Q8_0.gguf \"https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF/resolve/main/embeddinggemma-300M-Q8_0.gguf"# 2. 多语言 Embedding(推荐替代)curl -L -o ~/.cache/qmd/models/hf_Qwen_Qwen3-Embedding-0.6B-GGUF_Qwen3-Embedding-0.6B-Q8_0.gguf \"https://huggingface.co/Qwen/Qwen3-Embedding-0.6B-GGUF/resolve/main/Qwen3-Embedding-0.6B-Q8_0.gguf"# 3. Rerankercurl -L -o ~/.cache/qmd/models/hf_ggml-org_Qwen3-Reranker-0.6B-Q8_0-GGUF_qwen3-reranker-0.6b-q8_0.gguf \"https://huggingface.co/ggml-org/Qwen3-Reranker-0.6B-Q8_0-GGUF/resolve/main/qwen3-reranker-0.6b-q8_0.gguf"# 4. Query Expansioncurl -L -o ~/.cache/qmd/models/hf_tobil_qmd-query-expansion-1.7B-gguf_qmd-query-expansion-1.7B-q4_k_m.gguf \"https://huggingface.co/tobil/qmd-query-expansion-1.7B-gguf/resolve/main/qmd-query-expansion-1.7B-q4_k_m.gguf"

提示: 4 个 curl 可以并行执行加速下载。国内网络下载 HuggingFace 约 0.5-1MB/s,总计 ~2.7GB 预计 30-50 分钟。如有 HuggingFace 镜像可替换 URL。

模型文件命名规则

QMD 通过 hf:<org>/<repo>/<file> URI 定位模型,缓存文件名格式为 hf_<org>_<repo>_<file>(斜杠替换为下划线)。手动下载时必须遵循此命名。

三、配置 OpenClaw

1. 修改 openclaw.json

memory 配置在 顶层(不是 agents.defaults 下):

// ~/.openclaw/openclaw.json{"memory":{"backend":"qmd","qmd":{"sessions":{"enabled":true}}}}

⚠️ 踩坑记录: 最初尝试将 memory 放在 agents.defaults 下,结果 gateway 启动时 schema 校验会静默移除该字段。memory 必须放在顶层。

2. 配置多语言 Embedding 模型

在 Gateway LaunchAgent plist 中添加环境变量:

<!-- ~/Library/LaunchAgents/ai.openclaw.gateway.plist --><key>QMD_EMBED_MODEL</key><string>hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf</string>

如果通过 openclaw tui 或命令行运行,改为 export 环境变量:

export QMD_EMBED_MODEL="hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"

3. 重启 Gateway

launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway

四、数据隔离

OpenClaw 自动为每个 agent 创建独立的 QMD 数据目录:

~/.openclaw/agents/<agentId>/qmd/├── sessions/      # 会话记录导出├── xdg-cache/     # QMD 索引数据库└── xdg-config/    # QMD 配置

每个 agent 自动创建 3 个 collection:

Collection
内容
memory-root-<agentId>
Workspace 根目录的 MEMORY.md 等
memory-dir-<agentId>memory/
 子目录下的所有 .md 文件
sessions-<agentId>
历史会话记录(需 sessions.enabled: true

15 个 agent = 15 套完全独立的 QMD 索引,互不干扰。

五、验证

1. 检查 Gateway 日志

grep -i "qmd\|memory.*backend" ~/.openclaw/logs/gateway.err.log | tail -20

正常输出会看到每个 agent 的 collection 创建日志:

[memory] qmd collection add skipped for memory-alt-xxx: ... A collection already exists

2. 检查 Agent QMD 目录

ls ~/.openclaw/agents/*/qmd

每个 agent 都应该有 sessions/xdg-cache/xdg-config/ 三个子目录。

3. 查看 Agent Collection

XDG_DATA_HOME=~/.openclaw/agents/<agentId>/qmd/xdg-cache \XDG_CONFIG_HOME=~/.openclaw/agents/<agentId>/qmd/xdg-config \qmd collection list

4. 触发首次索引

Gateway 启动后会在后台自动运行 qmd update + qmd embed

  • update 周期: 每 5 分钟
  • embed 周期: 每 60 分钟
  • 启动时立即执行一次(后台,不阻塞)

如需手动触发预热:

qmd query "test"

首次运行会加载 GGUF 模型到内存(约 1-2 分钟),后续查询秒级响应。

六、QMD 搜索模式对比

模式
命令
特点
searchqmd search "query"
BM25 全文检索,快速,关键词匹配
vsearchqmd vsearch "query"
向量语义搜索,理解语义相似性
queryqmd query "query"
混合搜索 + 查询扩展 + 重排序,最高质量

OpenClaw 默认使用 search 模式。可在配置中修改:

{"memory":{"backend":"qmd","qmd":{"searchMode":"query"// 或 "vsearch"}}}

七、踩坑总结

问题
原因
解决
memory
 放在 agents.defaults 下无效
Schema 不允许,启动时被静默移除
放在 顶层
Gateway 找不到 qmd
launchd PATH 不含 ~/.bun/bin
sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd
HuggingFace 下载极慢
国内网络限制
手动 curl 并行下载或用镜像
qmd query "test"
 首次超时
需要下载 ~2GB GGUF 模型
提前手动下载模型文件
日志显示 "collection add skipped"
Collection 已存在(正常)
忽略,这是幂等操作

参考

  • QMD GitHub[2]
  • OpenClaw QMD Memory Engine 文档[3]
  • OpenClaw Memory 配置参考[4]

引用链接

[1]QMD: https://github.com/tobi/qmd

[2]QMD GitHub: https://github.com/tobi/qmd

[3]OpenClaw QMD Memory Engine 文档: https://docs.openclaw.ai/concepts/memory-qmd

[4]OpenClaw Memory 配置参考: https://docs.openclaw.ai/reference/memory-config

OpenClaw 小龙虾(点击跳转合集)
OpenClaw 2026.4.5 深度解读:从 Agent Runtime 走向多模态 Agent OS
ClawHub CLI 使用记录与实战指南
远程升级 OpenClaw:旧 MacBook Pro 实战记录
远程配置 OpenAI Codex CLI + OpenClaw 集成实录
把 Skill Vetter Guide 做成一个 Skill:从生成、发布到应用的一次完整实践
OpenClaw 安全必装 Skill Vetter 使用指南:给 OpenClaw 建立“先审后装”的第三方 Skill 安全流程
让 OpenClaw 自己配置 Ollama 本地模型:一次对话搞定 Gemma 4 31B
OpenClaw 定时任务通知推送到微信:多 Channel 环境下的 Delivery 配置实战
OpenClaw 能帮你做什么:自动将聊天记录总结生成 Memory 记忆文档
OpenClaw 生产力:你的数字工作与生活操作系统 — P.D.C.A.S 闭环实践
OpenClaw 能帮你做什么:自动解密 WeChat 微信聊天记录 & Markdown 导出文件
OpenClaw 能帮你做什么:自动分享工作区文件素材发布到微信公众号和博客网站
OpenClaw 工作和生活场景:管理日程、事件和提醒
OpenClaw 修复 macOS SSH 登录后中文显示乱码的排查与修复
OpenClaw 2026.4.2 架构收束 + 插件边界重划 + 安全补强 + 多渠道修复
OpenClaw 升级到 2026.4.2:踩坑与经验总结
用 OpenClaw 聊天自动完成 Excel 周报更新
OpenClaw 远程升级实录:通过 Tailscale + SSH 隧道升级 Mac Mini 节点
OpenClaw Exec Approval 全放行指南:4 次审批关掉审批的荒诞之旅
OpenClaw 本地升级记录:2026.3.28 → 2026.4.1(含 npm 安装中断修复)
让 OpenClaw 集群在非交互 SSH 下可直接运行:PATH 问题排查与统一修复
OpenClaw 2026.4.1-beta.1 逐项调研分析:14 项新特性、9 大修复与竞品对比
OpenClaw 2026.4.1 Stable 逐项调研:14 特性、30+ 修复与竞品全景
OpenClaw 工具完全指南
OpenClaw 斜杠命令完全指南
OpenClaw 共享使用 Claude Code Skills 指南
OpenClaw 接入 Claude 的三条路:哪条适合你?
国内 macOS 安装 OpenClaw 踩坑实录
OpenClaw 实战:通过 claude-cli 认证使用 Claude Opus 4.6 [1M]
OpenClaw v2026.3.28 深度分析:安全加固、插件审批、22+ Provider 生态
OpenClaw 多 Agent 分权 ≠ 用户隔离:一个危险的认知误区
OpenClaw 个人和企业权限控制深度解析:从 9 层安检到生产级安全加固
OpenClaw v2026.3.24 正式版:Teams SDK 迁移落地、安全沙箱修复、27 项 Bug 清零
OpenClaw 升级踩坑:插件挂了别慌,跑两遍 update 就好
OpenClaw 微信插件装好了没反应?四个坑踩完才知道
用 OpenClaw 管理多个 OpenClaw:一台机器控制所有实例
OpenClaw v2026.3.23:30 项修复,v2026.3.22 之后的社区驱动热修复
OpenClaw 升级踩坑实录:三个包管理器打架,回滚才是正道
再也不怕封号了:微信官方 OpenClaw 插件正式上线
OpenClaw 被 Anthropic 限流老是先 429?模型 fallback 别再这么排了
Discord 还是飞书?OpenClaw ACP 自主编程的平台选择与 YOLO 模式
让 AI 智能体住进微信:openclaw-wechat 企业微信渠道插件实战
一个机器人,多个 Agent:OpenClaw Discord 频道级路由配置
OpenClaw + 飞书 + Scrum:用 AI Agent 团队跑完整个敏捷研发闭环
CTO 视角:OpenClaw 企业级多项目 AI Agent 架构怎么搭
给 OpenClaw 接飞书机器人,三个坑让我查了一小时
QQ 小龙虾🦞:sliverp/qqbot 和 tencent-connect/openclaw-qqbot 到底选哪个
给 QQ 装个小龙虾🦞:官方openclaw-qqbot 实测,2条命令搞定,群聊踩坑记录
OpenClaw v2026.3.11: WebSocket 劫持已修复, Ollama 正式集成, 记忆搜索支持图片和音频
局域网两台电脑跑 OpenClaw,'Allow device to connect?' 弹个没完?四条命令治好它
Windows 11 原生装 OpenClaw:PowerShell 一行搞定 QQ 机器人
macOS 原生装 OpenClaw:一条命令接上 QQ 机器人
用 Docker 装 OpenClaw:一条命令,三个坑,一个能用的 AI 智能体
OpenClaw Telegram Topics: 一个群组运行多条并行任务流
Claude Agent SDK 系列(点击跳转合集)
Claude Agent SDK 构建 AI Agent 实践:如何实现与上传文件的对话
Claude Agent SDK 构建 AI Agent 实践:服务端向 Claude Agent SDK 注入环境变量的实践
Claude Agent SDK + 微信小程序:AI Agent 项目实践复盘 2026-01-21
Claude Agent SDK + 微信小程序为个人打造 AI 分身:vs-ai-agents 项目技术实践复盘
BMAD AI 驱动敏捷开发系列(点击跳转合集
Claude Code + BMAD + CodeReview 全流程实战:从用户反馈到修复的 AI 辅助开发
BMAD v6.2.1:删掉的代码比写的多,这才是真正的大版本
BMAD Quick Dev + Bruno:AI 一句话生成 Git 友好的 Bruno API 文档
BMAD Quick Dev + Postman:AI 一句话生成可导入 Postman 的 API 文档
BMAD 6.2.0:推荐使用 bmad-product-brief-preview 基于 Prompt 的多 Agent 编排
如何用 BMAD Quick Dev 在 10 分钟内把客户的一句话需求变成完整的可行性评估
Claude Code + BMAD Quick Dev + YOLO:AI 自主修复缺陷的完整闭环实践
BMad v6.1.0 用统一的Skill技能架构替代了旧的工作流引擎
当 BMAD 开发工作流遇上 PPT 周报生成:BMAD Quick Dev 的边界拓展
Claude Code + BMAD + YOLO 模式:一个 Session 搞定全栈功能开发
BMad v6.0.4 + GDS v0.1.10:边缘用例猎手、多智能体测试和引擎知识库
BMAD v6.0.4:从 Beta 到正式版,两分钟搞定
BMAD v6.0.0-beta-8 安装实战:从零开始搭建你的 AI 开发团队
BMAD + Ralph 执行循环:Claude Code 的统一 AI 开发框架
BMAD 最佳实践:AI 驱动的敏捷开发指南
BMAD 突破性 AI 驱动敏捷开发框架:v6.0.0-alpha.23 升级体验:全新安装之旅
BMAD Method 入门指南:用 Quick Dev 工作流更快、更稳地交付
实战测评:用 Claude Code + BMAD + GLM-4.7 打造 HeartPetBond App (心宠纽带)
BMAD V6 安装配置完全指南:项目目录安装最佳实践
BMAD v6 安装更新:模块化 + AgentVibes “会说话”的开发体验
用 Claude Code + BMAD AI 驱动敏捷,把一个想法变成 省钱思维 (MoneyMind) App
AI 时代的"文档屎山"?BMAD、Spec-Kit、OpenSpec 等面向文档AI编程的利弊
在 Codex 里像 Claude Code 一样用 BMAD:把多角色 AI 团队装进你的仓库
BMAD 突破性 AI 驱动敏捷开发框架:深度解析 26 个代理、68 个工作流和 655 个文件
AI 自主开发 App 成功上架:历时 14 天审核,MoneyMind 省钱思维 App 今天发布了
MoneyMind 省钱思维 App 审核又被拒:粗心提交错误版本的惨痛教训
被苹果审核拒绝不要怕:这次用 Google Antigravity AI 快速修复 App Store 审核问题
Claude Code 自主开发 MoneyMind(省钱思维)iOS 应用送审 App Store
用 Claude Code + BMAD AI 驱动敏捷,把一个想法变成 省钱思维 (MoneyMind) App

全网首发?第一款 GLM 4.7 + Claude Code AI 自主开发的心宠纽带 App 首次通过 App Store 审核并上架发布

智谱 GLM 4.7 模型 AI 自主开发 HeartBetBond 心宠纽带 App,从想法到提交 App Store 仅用 12 天

实战测评:用 Claude Code + BMAD + GLM-4.7 打造 HeartPetBond App (心宠纽带)

加入 AI灵感闪现 微信群

长按下图二维码进入 AI灵感闪现 微信群

长按下图二维码添加微信好友 VibeSparking 加群

关注 AI灵感闪现 微信公众号