


























@@ -70,6 +70,37 @@ The first search may be slow -- QMD auto-downloads GGUF models (~2 GB) for
7070reranking and query expansion on the first `qmd query` run.
7171</Info>
727273+## Search performance and compatibility
74+75+OpenClaw keeps the QMD search path compatible with both current and older QMD
76+installs.
77+78+On startup, OpenClaw checks the installed QMD help text once per manager. If the
79+binary advertises support for multiple collection filters, OpenClaw searches all
80+same-source collections with one command:
81+82+```bash
83+qmd search "router notes" --json -n 10 -c memory-root-main -c memory-dir-main
84+```
85+86+This avoids starting one QMD subprocess for every durable-memory collection.
87+Session transcript collections stay in their own source group, so mixed
88+`memory` + `sessions` searches still give the result diversifier input from both
89+sources.
90+91+Older QMD builds only accept one collection filter. When OpenClaw detects one
92+of those builds, it keeps the compatibility path and searches each collection
93+separately before merging and deduplicating results.
94+95+To inspect the installed contract manually, run:
96+97+```bash
98+qmd --help | grep -i collection
99+```
100+101+Current QMD help says collection filters can target one or more collections.
102+Older help usually describes a single collection.
103+73104## Model overrides
7410575106QMD model environment variables pass through unchanged from the gateway
@@ -166,9 +197,32 @@ with no extra dependencies.
166197runs as a service, create a symlink:
167198`sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd`.
168199200+If `qmd --version` works in your shell but OpenClaw still reports
201+`spawn qmd ENOENT`, the gateway process likely has a different `PATH` than your
202+interactive shell. Pin the binary explicitly:
203+204+```json5
205+{
206+ memory: {
207+ backend: "qmd",
208+ qmd: {
209+ command: "/absolute/path/to/qmd",
210+ },
211+ },
212+}
213+```
214+215+Use `command -v qmd` in the environment where QMD is installed, then recheck
216+with `openclaw memory status --deep`.
217+169218**First search very slow?** QMD downloads GGUF models on first use. Pre-warm
170219with `qmd query "test"` using the same XDG dirs OpenClaw uses.
171220221+**Many QMD subprocesses during search?** Update QMD if possible. OpenClaw uses
222+one process for same-source multi-collection searches only when the installed
223+QMD advertises support for multiple `-c` filters; otherwise it keeps the older
224+per-collection fallback for correctness.
225+172226**BM25-only QMD still trying to build llama.cpp?** Set
173227`memory.qmd.searchMode = "search"`. OpenClaw treats that mode as lexical-only,
174228does not run QMD vector status probes or embedding maintenance, and leaves
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。