这份指南按 OpenClaw 官网「QMD backend (experimental)」思路整理:
- Markdown 是“记忆源数据”
- QMD 是本地检索引擎(BM25 + 向量 + rerank),用来减少上下文 token(需要记忆时再检索注入)
适用:macOS(本机自托管 Gateway)。
- 长久记忆不等于自动记住所有聊天
- OpenClaw 的“记忆”本体是写入磁盘的 Markdown(例如 、、以及你额外加的笔记目录)。
- QMD 只是把这些内容建索引,供 之类的检索使用。
- 第一次使用会慢
- QMD 会自动从 HuggingFace 下载本地 GGUF 模型(query expansion / rerank / embedding)。
- 第一次 query 可能会下载几百 MB~1GB+。
推荐 Homebrew:
Bun 安装(推荐):
验证:
官网建议(macOS):
文件:
最小推荐配置(可直接参考官网结构):
配置改完后重启 Gateway:
在这台 Mac mini 上: 目录是 root 拥有,导致 QMD 默认写 会 EACCES。
解决办法(实战有效):用一个 wrapper 强制把 qmd 的 config/cache 放到 OpenClaw state 目录下。
示例(路径按需调整):
- 脚本:
- OpenClaw 配置里把:
- 改成这个脚本路径
脚本做的事:
- 设置 / 到
- 设置 (qmd 自己支持的 override)到可写目录
- 说明 qmd 还在尝试写 。
- 用 wrapper + 解决(见第 3 节)。
- 优先用 验证 QMD 本身是否有结果。
- 若 qmd 在 模式下仍向 stdout 输出了“进度/解释文本”,可能会影响上层解析。
- 这种情况下:
- 先让 qmd 完成首次模型下载(避免一直输出进度条)
- 再重跑
- 这是正常的:reranker/query-expansion/embedding 会下载 GGUF。
- 想提前 warm:手动跑一次 。
- 让“可沉淀的东西”进 Markdown(Notes/Obsidian/notes 目录)。
- 对话里需要回忆时,用检索(QMD)找“短 snippet”注入,而不是把整段历史塞进上下文。
- 定期整理:重要决策写 ;日常流水写 。
) QMD 测试结果(实测 OK)
会记录成“可检索的会话转录(sessions)”——这是我刚按官网建议帮你打开的:
真正“长期记忆”还是你写进 Markdown/Notes 的内容(比如 workspace 的 MEMORY.md、memory/YYYY-MM-DD.md,或你自己的 notes 目录)。
你有两种方式:
A) 最推荐:把知识库放openclaw 安装成 Markdown 文件夹,然后加到 memory.qmd.paths
比如你有个库在 /Users/cccc/KnowledgeBase(里面都是 .md),就加一条:
B) 如果知识库不是 Markdown
先导出/转换成 Markdown(或至少 txt),再按 A 加路径。QMD/OpenClaw 主要索引 Markdown。
你现在已经包含的知识库有哪些?
• /Users/cccc/notes//.md(name: docs)
• workspace 默认记忆:MEMORY.md + memory/.md
• 近 14 天会话(sessions)
你把“知识库路径”发我(例如一个文件夹路径),我可以直接帮你把它加进 memory.qmd.paths 并触发索引。
发布者:Ai探索者,转载请注明出处:https://javaforall.net/253150.html原文链接:https://javaforall.net
