乐于分享
好东西不私藏

如何让 openclaw 成本降低90% 之QMD

如何让 openclaw 成本降低90% 之QMD

最近发现一个神器,能让 OpenClaw 的成本直接砍掉 90%。不是营销号那种吹牛,是真真切切测出来的。

OpenClaw 的痛点

用 OpenClaw 时间长了,会越来越慢,越来越贵。

特别是长期运行的会话,历史记录动不动就几万 token,每次请求都要把这些历史全塞进去。结果就是:

  • • 响应慢:等个回复要 30-40 秒
  • • 成本高:单次请求成本飙升到几块钱
  • • 容易卡死:上下文太长直接超时

最惨的是,这些 token 里有 90% 都跟当前问题毫无关系。比如你问"今天天气怎么样",它却要把三个月前聊过的项目方案全塞进去。

这就是典型的"上下文爆炸"问题。

QMD 是什么

QMD (Quantum Memory Database) 是 Shopify 联合创始人 Tobi 开发的本地语义搜索引擎。

核心思路:不要把整个文件塞给 AI,而是先用本地搜索找到最相关的片段,再把这些精准内容传给 AI。

具体来说:

  • • 传统方式:把整个 MEMORY.md(可能几万字)全塞进上下文
  • • QMD 方式:先本地搜索,只提取最相关的 2-3 句话

效果惊人:

  • • 📊 Token 削减:60-97%(平均 95% 以上)
  • • ⚡ 响应速度提升:5-50 倍
  • • 💰 成本降低:90-99%
  • • 🎯 精准度:93%(纯语义搜索才 59%)

实测对比

我做了几组对比测试,结果相当震撼。

场景一:长期会话记忆查询

问:"我们三个月前讨论的那个项目,最后用的什么方案?"

传统方式

  • • 上下文大小:8 万+ tokens
  • • 响应时间:45 秒(超时失败)
  • • API 成本:$2.4
  • • 结果:失败

QMD 方式

  • • 上下文大小:削减 95%+
  • • 响应时间:2 秒
  • • API 成本:$0.01
  • • 结果:成功

速度快了 20+ 倍,成本降低 200+ 倍。

场景二:跨文件知识检索

问:"我们之前所有项目用过哪些技术栈?"

传统方式

  • • 上下文大小:15000+ tokens
  • • 响应时间:25-30 秒
  • • 容易触发 rate limit 卡死

QMD 方式

  • • 上下文大小:削减 90%+
  • • 响应时间:3 秒
  • • 从不卡死

速度提升 10 倍,再也没卡死过。

安装 QMD

安装过程不复杂,但有几个坑要注意。

前提条件

OpenClaw 版本需要 ≥ 2026.2.2

检查版本:

openclaw --version

如果版本低于 2026.2.2,需要先更新。

第一步:安装 QMD

推荐使用 Bun(速度更快):

bun install -g @tobilu/qmd

或使用 npm:

npm install -g @tobilu/qmd

第二步:安装支持扩展的 SQLite

QMD 需要支持 vector 扩展的 SQLite。

macOS 用户

brew install sqlitesqlite3 --version  # 应该显示版本号 ≥ 3.40.0

Linux 用户 (Ubuntu/Debian)

sudo apt updatesudo apt install sqlite3sqlite3 --version

Windows 用户

  1. 1. 访问 https://www.sqlite.org/download.html
  2. 2. 下载 "Precompiled Binaries for Windows"
  3. 3. 解压到任意目录(例如 C:\sqlite)
  4. 4. 添加到系统 PATH 环境变量
  5. 5. 重启终端,验证:sqlite3 --version

第三步:验证安装

qmd --version

如果显示版本号,说明安装成功。

配置 OpenClaw 使用 QMD

找到配置文件

  • • macOS/Linux~/.openclaw/openclaw.json
  • • WindowsC:\Users\你的用户名\.openclaw\openclaw.json

修改配置

在配置文件中添加:

{  "memory": {    "backend": "qmd",    "qmd": {      "limits": {        "timeoutMs": 8000      }    }  }}

配置说明:

  • • backend: "qmd" - 切换到 QMD 记忆后端
  • • timeoutMs: 8000 - 超时时间 8 秒(默认 4 秒可能不够)

重启 OpenClaw

openclaw gateway restart

重启后,OpenClaw 会自动使用 QMD 进行记忆检索。如果 QMD 出现问题,会自动回退到内置的 SQLite 记忆系统,不影响正常使用。

验证是否正常工作:

openclaw logs --follow

如果看到 "Using QMD memory backend" 的日志,说明配置成功。

适用场景

必须启用的情况

  • • 🔴 会话历史超过 1 万 token(基本上运行一周就会超过)
  • • 🔴 经常被慢速响应或卡死困扰(特别是长期会话)
  • • 🔴 单次请求成本超过 $1

技术原理

QMD 采用三层混合检索:

  1. 1. BM25 全文搜索 - 传统关键词搜索
  2. 2. 向量语义搜索 - 理解语义的向量搜索
  3. 3. LLM 重排序 - 用本地模型对结果重新排序

根据实测数据:

  • • 混合搜索精准度:93%
  • • 纯语义搜索精准度:59%

混合搜索明显更准确。

安全和隐私

完全安全:

  • • ✅ 完全免费
  • • ✅ 完全本地运行
  • • ✅ 数据永远不出你的电脑
  • • ✅ 不消耗任何 API 配额

首次安装时会下载模型(需要联网),之后完全离线运行。

常见问题

Q: QMD 和传统记忆系统的区别?

传统系统把整个文件直接塞进上下文,其中 90% 可能和当前问题毫无关系。QMD 先用本地搜索找到最相关的片段(通常只有 2-3 句话),再传给 AI。

Q: 如果 QMD 出现问题怎么办?

OpenClaw 有自动回退机制,如果 QMD 出现问题,会自动回退到内置的 SQLite 记忆系统。

Q: QMD 需要联网吗?

首次安装时需要下载模型(需要联网),之后完全离线运行。

Q: 如何卸载 QMD?

修改配置文件:

{  "memory": {    "backend": "sqlite"  }}

重启 OpenClaw:

openclaw gateway restart

卸载 QMD 包(可选):

bun uninstall -g @tobilu/qmd# 或npm uninstall -g @tobilu/qmd

最后说一句:工具是为了解决问题,不是为了炫技。能用简单的方案解决的,就别折腾复杂的。QMD 就是这样诞生的——解决实际问题,提升效率,降低成本。

如果这篇文章对你有帮助,欢迎分享给需要的朋友。