Saltar al contenido principal

Motor de memoria integrado

El motor integrado es el backend de memoria predeterminado. Almacena tu índice de memoria en una base de datos SQLite por agente y no necesita dependencias adicionales para empezar.

Qué ofrece

  • Búsqueda por palabras clave mediante indexación de texto completo FTS5 (puntuación BM25).
  • Búsqueda vectorial mediante embeddings de cualquier proveedor compatible.
  • Búsqueda híbrida que combina ambas para obtener mejores resultados.
  • Compatibilidad con CJK mediante tokenización trigram para chino, japonés y coreano.
  • Aceleración con sqlite-vec para consultas vectoriales dentro de la base de datos (opcional).

Primeros pasos

Si tienes una API key para OpenAI, Gemini, Voyage o Mistral, el motor integrado la detecta automáticamente y habilita la búsqueda vectorial. No se necesita configuración. Para establecer un proveedor explícitamente:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
      },
    },
  },
}
Sin un proveedor de embeddings, solo está disponible la búsqueda por palabras clave.

Proveedores de embeddings compatibles

ProveedorIDDetección automáticaNotas
OpenAIopenaiPredeterminado: text-embedding-3-small
GeminigeminiAdmite multimodal (imagen + audio)
Voyagevoyage
Mistralmistral
OllamaollamaNoLocal, establecer explícitamente
LocallocalSí (primero)Modelo GGUF, descarga de ~0.6 GB
La detección automática elige el primer proveedor cuya API key puede resolverse, en el orden mostrado. Establece memorySearch.provider para sobrescribirlo.

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
  • Supervisión de archivos: los cambios en archivos de memoria activan una reindexación con debounce (1.5 s).
  • Reindexación automática: cuando cambia el proveedor de embeddings, el modelo o la configuración de fragmentación, todo el índice se reconstruye automáticamente.
  • Reindexación a demanda: openclaw memory index --force
También puedes indexar archivos Markdown fuera del espacio de trabajo con memorySearch.extraPaths. Consulta la referencia de configuración.

Cuándo usarlo

El motor integrado es la opción correcta para la mayoría de los usuarios:
  • Funciona de inmediato sin dependencias adicionales.
  • Maneja bien la búsqueda por palabras clave y vectorial.
  • Admite todos los proveedores de embeddings.
  • La búsqueda híbrida combina lo mejor de ambos enfoques de recuperación.
Considera cambiar a QMD si necesitas reranking, expansión de consultas o quieres indexar directorios fuera del espacio de trabajo. Considera Honcho si quieres memoria entre sesiones con modelado automático del usuario.

Solución de problemas

¿Búsqueda de memoria deshabilitada? Revisa openclaw memory status. Si no se detecta ningún proveedor, establece uno explícitamente o añade una API key. ¿Resultados obsoletos? Ejecuta openclaw memory index --force para reconstruir. El observador puede no detectar cambios en casos límite poco frecuentes. ¿sqlite-vec no carga? OpenClaw vuelve automáticamente a similitud coseno en proceso. Revisa los registros para ver el error de carga específico.

Configuración

Para la configuración de proveedores de embeddings, ajuste de búsqueda híbrida (pesos, MMR, decaimiento temporal), indexación por lotes, memoria multimodal, sqlite-vec, rutas adicionales y todos los demás controles de configuración, consulta la referencia de configuración de memoria.