What You Need to Know
OpenClaw's memory system uses vector embeddings to enable semantic search across conversation history. When you say "remember the deployment process we discussed last month," the assistant searches its vector index for semantically similar content. The quality of these results depends directly on the embedding model and its configuration.
The LanceDB backend is a lightweight, file-based vector database that runs locally without external services. With this update, you can now point it at any OpenAI-compatible embedding API by setting a custom baseUrl. This means you can use local embedding servers (like Ollama with an embedding model), private API endpoints, or specialized embedding providers without being locked to OpenAI's hosted API.
Custom embedding dimensions let you optimize the tradeoff between search quality and storage size. Higher dimensions (1536, 3072) capture more semantic nuance but use more disk space and RAM. Lower dimensions (384, 768) are faster and smaller, which matters on resource-constrained deployments like Raspberry Pi or small VPS instances.
The practical benefit is flexibility. A privacy-focused user can run embeddings entirely locally with Ollama and a model like nomic-embed-text, keeping all memory data on their own hardware. A team deployment can use a centralized embedding service for consistency. A cost-optimized setup can use smaller dimensions to reduce storage without meaningfully degrading search quality for typical personal assistant use cases.
Configuration is in openclaw.json under the memory section. Set memory.lancedb.embeddingBaseUrl to your endpoint and memory.lancedb.embeddingDimensions to match your model's output size. After changing dimensions, run openclaw memory index --all to rebuild the index with the new configuration.