2026-02-02 · 工具
32
工具 · 2026-02-02

qmd:让 AI agent 精准回忆、几乎零 token 成本(本地语义搜索)

如果你在用 OpenClaw / Claude 这类 agent,你大概率已经感受到了 token 消耗的速度:

有没有办法让 agent 只回忆最相关的那几段,同时 完全零 API 成本

答案是:qmd

qmd 是 Shopify 创始人 Tobi 做的一个本地语义搜索引擎(Rust),专为 AI agent 场景设计:

GitHub:https://github.com/tobi/qmd

3 步配置(10 分钟搞定)

第 1 步:安装 qmd

按官方文档安装:https://github.com/tobi/qmd

首次运行会自动下载模型(之后可完全离线):

第 2 步:创建记忆库 + 生成 embeddings

以 OpenClaw 工作目录为例:

cd ~/clawd

# 创建记忆库(索引 memory 文件夹)
qmd collection add memory/*.md --name daily-logs

# 生成 embeddings
qmd embed daily-logs memory/*.md

# 也可以索引根目录核心文件
qmd collection add *.md --name workspace
qmd embed workspace *.md

索引速度很快:十来个文件通常就是几秒级(纯本地,不联网)。

第 3 步:测试搜索

# 混合搜索(关键词 + 语义,通常最稳)
qmd search daily-logs "关键词" --hybrid

# 纯语义搜索
qmd search daily-logs "关键词"

# 查看所有 collections
qmd list

实测体感:

进阶:MCP 集成(让 agent 主动回忆)

把 qmd 作为 MCP server 接进去,agent 就能“先搜再答”,而不是把整个 MEMORY.md 塞进上下文。

示例:创建 config/mcporter.json

{
  "mcpServers": {
    "qmd": {
      "command": "/Users/你的用户名/.bun/bin/qmd",
      "args": []
    }
  }
}

开箱即用的工具通常包括:

为什么它能省 90% token?

传统“回忆”方式是:把一整份 MEMORY.md(甚至对话历史)塞进 context。

qmd 的方式是:

  1. 先搜「你要的那一小段」
  2. 只把相关段落(比如 200 token)喂给模型

结果就是:

维护:定期更新索引

qmd embed daily-logs memory/*.md
qmd embed workspace *.md

你甚至可以把它加到 heartbeat / cron 里自动执行。

如果你已经在 OpenClaw 上跑了一段时间,我强烈建议你试一下 qmd:

本地、免费、可持续、能把“回忆”变成一件工程化的事。

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单