Description
openclaw doctor reports a false positive for the memory search check when using the local provider with node-llama-cpp.
Steps to reproduce
- Set up local memory search with
node-llama-cpp (provider: local)
- Download a GGUF embedding model (e.g.,
embeddinggemma-300m-qat-Q8_0.gguf)
- Verify it works:
openclaw memory status --deep shows "Embeddings: ready"
- Run
openclaw doctor --non-interactive
Expected
Doctor should detect the working local model and report memory search as healthy.
Actual
Doctor reports:
Memory search provider is set to "local" but no local model file was found.
Fix (pick one):
- Install node-llama-cpp and set a local model path in config
- Switch to a remote provider: openclaw config set agents.defaults.memorySearch.provider openai
Meanwhile openclaw memory status --deep confirms everything is working:
Provider: local (requested: local)
Model: hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf
Embeddings: ready
Indexed: 197/257 files · 2595 chunks
Embedding cache: enabled (7641 entries)
Root cause (likely)
Doctor appears to look for a model path in openclaw.json config rather than checking where node-llama-cpp actually stores downloaded models (~/.node-llama-cpp/models/). The config only has "provider": "local" without an explicit model path, but node-llama-cpp resolves the model from its own cache at runtime.
Environment
- OpenClaw: v2026.2.25
- Platform: Linux x86_64 (Ubuntu 24.04)
- node-llama-cpp models dir:
~/.node-llama-cpp/models/
Description
openclaw doctorreports a false positive for the memory search check when using thelocalprovider withnode-llama-cpp.Steps to reproduce
node-llama-cpp(provider:local)embeddinggemma-300m-qat-Q8_0.gguf)openclaw memory status --deepshows "Embeddings: ready"openclaw doctor --non-interactiveExpected
Doctor should detect the working local model and report memory search as healthy.
Actual
Doctor reports:
Meanwhile
openclaw memory status --deepconfirms everything is working:Root cause (likely)
Doctor appears to look for a model path in
openclaw.jsonconfig rather than checking wherenode-llama-cppactually stores downloaded models (~/.node-llama-cpp/models/). The config only has"provider": "local"without an explicit model path, butnode-llama-cppresolves the model from its own cache at runtime.Environment
~/.node-llama-cpp/models/