Motor de memoria incorporado
El motor incorporado es el backend de memoria predeterminado. Almacena su índice de memoria en una base de datos SQLite por agente y no necesita dependencias adicionales para comenzar.
Lo que ofrece
Sección titulada «Lo que ofrece»- Búsqueda de palabras clave a través de indexación de texto completo FTS5 (puntuación BM25).
- Búsqueda vectorial a través de incrustaciones de cualquier proveedor compatible.
- Búsqueda híbrida que combina ambas para obtener los mejores resultados.
- Soporte CJK a través de tokenización de trigramas para chino, japonés y coreano.
- Aceleración sqlite-vec para consultas vectoriales dentro de la base de datos (opcional).
Para empezar
Sección titulada «Para empezar»De forma predeterminada, el motor integrado utiliza incrustaciones de OpenAI. Si ya tiene
OPENAI_API_KEY o models.providers.openai.apiKey configurado, la búsqueda vectorial
funciona sin configuración de memoria adicional.
Para establecer un proveedor explícitamente:
{ agents: { defaults: { memorySearch: { provider: "openai", }, }, },}Sin un proveedor de incrustaciones, solo está disponible la búsqueda de palabras clave.
Para forzar el proveedor de incrustaciones local integrado, instale el paquete
de tiempo de ejecución opcional node-llama-cpp junto a OpenClaw y luego señale local.modelPath
a un archivo GGUF:
{ agents: { defaults: { memorySearch: { provider: "local", fallback: "none", local: { modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf", }, }, }, },}Proveedores de incrustaciones compatibles
Sección titulada «Proveedores de incrustaciones compatibles»| Proveedor | ID | Notas |
|---|---|---|
| Bedrock | bedrock | Usa la cadena de credenciales de AWS |
| DeepInfra | deepinfra | Predeterminado: BAAI/bge-m3 |
| Gemini | gemini | Admite multimodal (imagen + audio) |
| GitHub Copilot | github-copilot | Usa la suscripción a Copilot |
| Local | local | Tiempo de ejecución node-llama-cpp opcional |
| Mistral | mistral | |
| Ollama | ollama | Local/autoalojado |
| OpenAI | openai | Predeterminado: text-embedding-3-small |
| Compatible con OpenAI | openai-compatible | Punto final /v1/embeddings genérico |
| Voyage | voyage |
Establezca memorySearch.provider para cambiar de OpenAI.
Cómo funciona la indexación
Sección titulada «Cómo funciona la indexación»OpenClaw indexa MEMORY.md y memory/*.md en fragmentos (~400 tokens con
superposición de 80 tokens) y los almacena en una base de datos SQLite por agente.
- Ubicación del índice:
~/.openclaw/memory/<agentId>.sqlite - Mantenimiento del almacenamiento: los sidecars de WAL de SQLite están limitados con puntos de control periódicos y de apagado.
- Observación de archivos: los cambios en los archivos de memoria activan un reindexado con rebote (1.5s).
- Reindexado automático: cuando cambia el proveedor de incrustaciones, el modelo o la configuración de fragmentación, todo el índice se reconstruye automáticamente.
- Reindexado bajo demanda:
openclaw memory index --force
Cuándo usar
Sección titulada «Cuándo usar»El motor integrado es la opción correcta para la mayoría de los usuarios:
- Funciona directamente sin dependencias adicionales.
- Maneja bien la búsqueda de palabras clave y vectorial.
- Admite todos los proveedores de incrustaciones.
- La búsqueda híbrida combina lo mejor de ambos enfoques de recuperación.
Considere cambiar a QMD si necesita reranking, expansión de consultas o desea indexar directorios fuera del espacio de trabajo.
Considere Honcho si desea memoria entre sesiones con modelado de usuario automático.
Solución de problemas
Sección titulada «Solución de problemas»¿Búsqueda de memoria deshabilitada? Verifique openclaw memory status. Si no se detecta ningún proveedor, configure uno explícitamente o añada una clave de API.
¿No se detectó el proveedor local? Confirme que la ruta local existe y ejecute:
openclaw memory status --deep --agent mainopenclaw memory index --force --agent mainTanto los comandos independientes de CLI como la Gateway usan el mismo id de proveedor local.
Establezca memorySearch.provider: "local" cuando desee incrustaciones locales.
¿Resultados obsoletos? Ejecute openclaw memory index --force para reconstruir. El observador puede perder cambios en casos extremos raros.
¿sqlite-vec no se carga? OpenClaw vuelve automáticamente a la similitud de coseno en proceso. openclaw memory status --deep informa el almacén de vectores local por separado del proveedor de incrustaciones, por lo que Vector store: unavailable apunta a la carga de sqlite-vec mientras que Embeddings: unavailable apunta al proveedor/autenticación o la disponibilidad del modelo. Revise los registros para ver el error de carga específico.
Configuración
Sección titulada «Configuración»Para la configuración del proveedor de incrustaciones, el ajuste de la búsqueda híbrida (ponderaciones, MMR, degradación temporal), indexación por lotes, memoria multimodal, sqlite-vec, rutas adicionales y todos los demás ajustes de configuración, consulte la Referencia de configuración de memoria.