用了这个开源项目,把 OpenClaw 的 token 账单砍掉了 80%

哈喽,大家好,我是蝈蝈。

今天来聊一个 OpenClaw 用户几乎都会遇到的问题——token 烧得太快了。

用过 OpenClaw(ClawdBot)的朋友都有这个体验:刚开始用的时候特别爽,AI 记住你的偏好、习惯、工作背景,像一个真正了解你的私人助理。但用了一段时间之后,账单一来,有点傻眼。

钱到底烧在哪了?今天把这个问题说清楚,顺便给出一个社区实测有效的解法。


先搞清楚问题根源

OpenClaw 的长期记忆,本质上是一堆 Markdown 文件——你的偏好、工作信息、历史对话摘要,全存在 MEMORY.md 或者 memory/ 目录里。每次你问它一个问题,它要”翻记忆”来给你更好的回答。

最原始的做法,是把整个记忆文件完整地塞进上下文。知识库小的时候没感觉,但一旦你用了几个月,记忆文件膨胀到几万字,每次对话光”加载记忆”这一步就要烧掉大量 token。而那几万字里,和你当前问题真正相关的,可能只有几百字。

剩下的 80%?纯纯的浪费。

而且这个问题会随着时间持续恶化——知识库越大,每次烧的越多,没有上限。


解法:QMD 本地混合检索

社区目前最主流的解法,是用 QMD 做本地混合检索,取代把整个 MEMORY.md 反复塞给大模型的笨办法。

实测数据很直接:能省 70%–97% 的 token 消耗。视知识库大小和使用方式而定,但大部分人长期使用下来能稳定省掉 80%+,知识库越大,效果越明显。

QMD 是 Tobi(Shopify 创始人)开源的一个本地轻量混合搜索引擎,专为 Markdown 知识库设计,用 Rust 实现,跑起来很快。它的核心是三种检索方式的组合:

  • BM25 关键词搜索:传统全文检索,精准匹配关键词
  • 语义向量搜索:理解语义,找”意思相近”但措辞不同的内容
  • LLM rerank 重排序:对结果再做一次智能排序,最相关的排最前面

github地址: github.com/tobi/qmd

三合一的效果,远比”把整个文件塞进去”精准得多。而且最关键的——全部跑在本地,不联网,不烧任何 API token。搜索本身零成本,数据也不出本地。

OpenClaw 2026 年 2 月之后的版本,已经原生集成了 QMD 作为可选的 memory backend,官方叫它 “QMD Memory Plugin” 或 “QMD skill”。


上手前的必要准备:装 Bun

不管你选哪种接入方式,都要先装 Bun——QMD 官方推荐的运行环境,比 npm/yarn 轻量很多。

Linux / macOS:

curl -fsSL https://bun.sh/install | bash

装完重启终端,验证:

bun --version

能看到版本号(比如 1.1.x 或更高)就 OK。

Windows 用 PowerShell:

irm bun.sh/install.ps1 | iex

方式一:最简单——让 OpenClaw 自己搞定(新手推荐)

这个方式的核心思路是:全程靠”说话”完成配置,不需要手动敲太多命令。

第一步,更新 OpenClaw 到最新版(2026.2.x 之后才原生支持 QMD):

Update yourself to the latest version

第二步,让它自己安装 QMD 依赖:

请安装 QMD skill 的所有依赖,包括本地 embedding 模型

第三步,启用 QMD 作为记忆后端,直接说:

从现在开始使用 QMD 作为我的主要长期记忆检索方式
不要再每次都加载整个 MEMORY.md
只在必要时用 qmd search / qmd vsearch / qmd query 取相关片段

或者直接改配置文件 ~/.openclaw/openclaw.json:

{
"memory":{
"backend":"qmd",
"qmdCollections":["memory","life","workspace"],
"experimental":{
"useQmdForSession":true
}
}
}

第四步,也是最容易被跳过的一步——初始化索引:

请对我的 memory/ 目录、life/ 目录运行 qmd update && qmd embed
以后每天自动更新一次索引

没有索引,QMD 就没有东西可搜。这步不能省。

四步完成,OpenClaw 就会自动用 QMD 检索记忆,而不是每次把几万 token 的上下文全塞进来了。


方式二:更灵活——手动装 QMD,自己配置(进阶用户推荐)

想精细控制的朋友,可以按照自己的知识库结构来划分 collections。

先手动安装 QMD:

bun install -g @tobi/qmd
# 或者:
cargo install qmd

然后按照不同层次的记忆,创建对应的 collections:

# 日常记忆 / 每日日志
qmd collection add ~/clawd/memory --name memory --mask '**/*.md'

# 人生/长期事实
qmd collection add ~/clawd/life --name life --mask '**/*.{md,json}'

# 工作空间文档
qmd collection add ~/clawd --name workspace --mask '**/*.md'

# 可选:清洗过的历史会话
qmd collection add ~/clawd/sessions-clean --name sessions-clean --mask '**/*.md'

建完 collections,跑一次索引和 embedding:

qmd update    # 全量更新索引
qmd embed     # 生成向量(语义搜索需要这一步)

第一次会稍慢,之后是增量更新,很快。

0 3 * * * cd ~/clawd && qmd update --pull && qmd embed

最后,把下面这段加到 OpenClaw 的 skill 或自定义指令里,教它怎么用 QMD:

当你需要回忆/查找历史信息时,用以下命令:
- qmd search "关键词" -c memory         # 关键词搜
- qmd vsearch "自然语言描述" -c life    # 语义搜
- qmd query "问题" -c memory,life       # 混合搜(最推荐)

只读取返回的片段,不要加载整文件

配置完怎么确认有没有生效?

直接在聊天里问它:

“现在用什么 memory backend?”

回答 QMD,配置成功。然后观察 1–2 天,看 input token 是否明显下降。

对照这张 Check-list 查漏补缺:

  • ✅ OpenClaw 版本 ≥ 2026.2.x
  • ✅ 已启用 QMD backend
  • ✅ 至少跑过一次 qmd update && qmd embed
  • ✅ 已告诉 agent:”以后用 qmd 搜索记忆,不要再塞整份 MEMORY.md”
  • ✅ 观察 1–2 天,确认 input token 明显下降

最后说几句

这套方案配置完,大部分人的 token 消耗腰斩起步,长期使用能稳定省掉 80%+。

但我觉得这件事更大的意义,不只是省了钱。它代表的是 AI 工具使用方式的一次深层转变——从”暴力喂数据”走向”精准检索+按需加载”。


如果这篇对你有帮助,帮忙点赞关注,帮助作者有动力继续更新!

欢迎关注公众号:蝈蝈的AI笔记,里面有更多干货内容。