docs(memory): document explicit provider failures

This commit is contained in:
Onur Solmaz
2026-06-04 22:57:57 +08:00
parent dafc13f2d6
commit 8c1b4288b2
2 changed files with 20 additions and 6 deletions

View File

@@ -76,9 +76,16 @@ flowchart LR
- **BM25 keyword search** finds exact matches (IDs, error strings, config
keys).
If only one path is available (no embeddings or no FTS), the other runs alone.
If only one path is available, the other runs alone. Intentional FTS-only mode
(`provider: "none"`) and automatic/default provider selection can still use
lexical ranking when embeddings are unavailable.
When embeddings are unavailable, OpenClaw still uses lexical ranking over FTS results instead of falling back to raw exact-match ordering only. That degraded mode boosts chunks with stronger query-term coverage and relevant file paths, which keeps recall useful even without `sqlite-vec` or an embedding provider.
Explicit non-local embedding providers are different. If you set
`memorySearch.provider` to a concrete remote-backed provider and that provider
is unavailable at runtime, `memory_search` reports memory as unavailable instead
of silently using FTS-only results. This keeps a broken configured semantic
provider visible. Set `provider: "none"` for deliberate FTS-only recall, or fix
the provider/auth configuration to restore semantic ranking.
## Improving search quality

View File

@@ -67,10 +67,17 @@ automatically re-embedding everything. Rebuild when you are ready with
`openclaw memory index --force --agent <id>`.
</Warning>
If OpenAI embeddings are unreachable from your network, memory recall fails open
instead of blocking the turn. Set the existing `memorySearch.provider` field to a
reachable local, Ollama, regional, or OpenAI-compatible provider to restore
semantic ranking.
When `provider` is unset, legacy `provider: "auto"` is present, or
`provider: "none"` intentionally selects FTS-only mode, memory recall can still
use lexical FTS ranking when embeddings are unavailable.
Explicit non-local providers fail closed. If you set `memorySearch.provider` to
a concrete remote-backed provider such as OpenAI, Gemini, Voyage, Mistral,
Bedrock, GitHub Copilot, DeepInfra, Ollama, LM Studio, or an OpenAI-compatible
custom provider, and that provider is unavailable at runtime, `memory_search`
returns an unavailable result instead of silently using FTS-only recall. Fix the
provider/auth configuration, switch to a reachable provider, or set
`provider: "none"` if you want deliberate FTS-only recall.
### Custom provider ids