Sessions and memory

Descripción general de la memoria

OpenClaw recuerda elementos escribiendo archivos Markdown sin formato en el espacio de trabajo del agente (valor predeterminado: ~/.openclaw/workspace). El modelo solo recuerda lo que se guarda en el disco; no hay ningún estado oculto.

Cómo funciona

El agente tiene tres archivos relacionados con la memoria:

  • MEMORY.md — memoria a largo plazo. Hechos duraderos, preferencias y decisiones. Se carga al inicio de una sesión.
  • memory/YYYY-MM-DD.md (o memory/YYYY-MM-DD-<slug>.md) — notas diarias. Contexto y observaciones en curso. Las notas fechadas de hoy y ayer se cargan automáticamente con un simple /new o /reset; las variantes con identificador, como las escritas por el hook de memoria de sesión incluido, se recogen junto con el archivo que solo contiene la fecha.
  • DREAMS.md (opcional) — diario de sueños y resúmenes de las revisiones de Dreaming para su revisión humana, incluidas entradas históricas de reposición fundamentada.

Qué se guarda en cada lugar

MEMORY.md es la capa compacta y seleccionada: hechos duraderos, preferencias, decisiones permanentes y resúmenes breves que deben estar disponibles al inicio de una sesión. No es una transcripción sin procesar, un registro diario ni un archivo exhaustivo.

Los archivos memory/YYYY-MM-DD.md son la capa de trabajo: notas diarias detalladas, observaciones, resúmenes de sesiones y contexto sin procesar que aún puede resultar útil más adelante. Se indexan para memory_search y memory_get, pero no se inyectan en el prompt de arranque en cada turno.

Con el tiempo, el agente destila el material útil de las notas diarias en MEMORY.md y elimina las entradas obsoletas de la memoria a largo plazo. Las instrucciones generadas para el espacio de trabajo y el flujo de Heartbeat lo hacen periódicamente; no es necesario editar manualmente MEMORY.md para cada detalle.

Si MEMORY.md supera el presupuesto de archivos de arranque, OpenClaw conserva intacto el archivo en el disco, pero trunca la copia inyectada en el contexto. Esto debe considerarse una señal para trasladar el material detallado a memory/*.md, conservar solo un resumen duradero en MEMORY.md o aumentar los límites de arranque si se desea dedicar más presupuesto del prompt. Utilice /context list, /context detail o openclaw doctor para consultar los tamaños sin procesar e inyectados y el estado de truncamiento.

Importación desde asistentes de programación

La interfaz de control puede importar memoria local existente desde Codex y Claude Code. Abra SettingsImport Memory, elija el agente de destino, revise los archivos detectados y confirme la importación. OpenClaw solo copia memoria en Markdown:

  • Codex: los archivos consolidados MEMORY.md y memory_summary.md dentro de ~/.codex/memories (o CODEX_HOME/memories). Los archivos de ejecución y transcripción sin procesar no se importan.
  • Claude Code: archivos Markdown de cada directorio de memoria automática del proyecto dentro de ~/.claude/projects/*/memory, además de un autoMemoryDirectory configurado por el usuario, cuando exista. Las instrucciones del proyecto, las sesiones, la configuración y las credenciales no forman parte de esta acción exclusiva de memoria.

Los archivos importados permanecen separados en memory/imports/codex/ y memory/imports/claude-code/ dentro del espacio de trabajo del agente seleccionado. Se indexan para memory_search y están disponibles mediante memory_get; no se combinan con el archivo de arranque MEMORY.md del agente. Los archivos de origen no se modifican.

La vista previa señala los conflictos de destino. Active Replace existing imports para reemplazar esos archivos; al aplicar la operación, se crea una copia de seguridad previa a la importación verificada y se conservan copias individuales de los archivos sobrescritos en el informe de migración.

Memorias sensibles a las acciones

La mayoría de las memorias son notas Markdown comunes. Algunas afectan a lo que el agente debe hacer posteriormente; en esos casos, registre cuándo es seguro actuar según la nota, no solo el hecho en sí.

Registre ese límite de acción cuando una nota implique:

  • requisitos de aprobación o permiso,
  • restricciones temporales,
  • transferencias a otra sesión, hilo o persona,
  • condiciones de vencimiento,
  • momento seguro para actuar,
  • autoridad de la fuente o del responsable,
  • instrucciones para evitar una acción tentadora.

Una memoria útil y sensible a las acciones deja claro:

  • qué cambia el comportamiento futuro,
  • cuándo o bajo qué condición se aplica,
  • cuándo vence o qué habilita la acción,
  • qué debe evitar hacer el agente,
  • quién es la fuente o el responsable, si esto afecta a la confianza o la autoridad.

La memoria puede conservar el contexto de aprobación, pero no aplica políticas. Utilice la configuración de aprobación de OpenClaw, el aislamiento y las tareas programadas para establecer controles operativos estrictos.

Ejemplo:

md
La migración de la API se está diseñando en otra sesión. Los turnos futuros no debeneditar la implementación de la API desde este hilo; los hallazgos de aquí deben usarse únicamente comoinformación para el diseño hasta que se incorpore el plan de migración.

Otro ejemplo:

md
Un informe de una fuente no fiable debe revisarse antes de su promoción. Los turnos futurosdeben tratarlo únicamente como evidencia; no debe almacenarse como memoria duradera hasta que unrevisor de confianza confirme el contenido.

Este esquema no es obligatorio para todas las memorias; los hechos simples pueden mantenerse concisos. Utilice límites sensibles a las acciones cuando perder el momento, la autoridad, el vencimiento o el contexto de seguridad para actuar pueda hacer que el agente actúe incorrectamente más adelante.

Utilice compromisos para seguimientos inferidos y de corta duración. Utilice tareas programadas para recordatorios exactos, comprobaciones temporizadas y trabajos recurrentes. La memoria puede seguir resumiendo el contexto duradero relacionado con cualquiera de estas opciones.

Compromisos inferidos

Algunos seguimientos futuros no son hechos duraderos. Si se menciona una entrevista mañana, la memoria útil podría ser «hacer seguimiento después de la entrevista», no «guardar esto para siempre en MEMORY.md».

Los compromisos son memorias de seguimiento opcionales y de corta duración para ese caso. OpenClaw los infiere en una ejecución oculta en segundo plano, limita su alcance al mismo agente y canal, y entrega mediante Heartbeat los seguimientos que vencen. Los recordatorios explícitos siguen utilizando tareas programadas.

Herramientas de memoria

El agente dispone de dos herramientas para trabajar con la memoria:

  • memory_search — encuentra notas relevantes mediante búsqueda semántica, incluso cuando la redacción difiere de la original.
  • memory_get — lee un archivo de memoria o intervalo de líneas específico.

Ambas herramientas son proporcionadas por el Plugin de memoria activo (valor predeterminado: memory-core).

Búsqueda en la memoria

Cuando se configura un proveedor de embeddings, memory_search utiliza una búsqueda híbrida: similitud vectorial (significado semántico) combinada con coincidencia de palabras clave (términos exactos como identificadores y símbolos de código). Esto funciona de inmediato con una clave de API de cualquier proveedor compatible.

Consulte Búsqueda en la memoria para conocer el funcionamiento de la búsqueda, las opciones de ajuste y la configuración de proveedores.

Backends de memoria

Capa de wiki de conocimiento

Si se desea que la memoria duradera se comporte más como una base de conocimiento mantenida que como notas sin procesar, utilice el Plugin memory-wiki incluido. Compila el conocimiento duradero en un repositorio wiki con una estructura de páginas determinista, afirmaciones y evidencias estructuradas, seguimiento de contradicciones y vigencia, paneles generados, compendios compilados y herramientas nativas de wiki (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).

memory-wiki no reemplaza al Plugin de memoria activo; el Plugin de memoria activo sigue siendo responsable de la recuperación, la promoción y Dreaming. memory-wiki añade una capa de conocimiento con abundante información de procedencia junto a él.

Vaciado automático de memoria

Antes de que la Compaction resuma la conversación, OpenClaw ejecuta un turno silencioso que recuerda al agente guardar el contexto importante en los archivos de memoria. Esta función está activada de forma predeterminada; configure agents.defaults.compaction.memoryFlush.enabled: false para desactivarla.

Para mantener ese turno de mantenimiento en un modelo local, configure una sustitución exacta que se aplique únicamente al turno de vaciado de memoria (no hereda la cadena de modelos alternativos de la sesión activa):

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

Dreaming

Dreaming es una ejecución opcional de consolidación de memoria en segundo plano. Recopila señales de recuperación a corto plazo, puntúa candidatos y solo promueve los elementos que cumplen los requisitos a la memoria a largo plazo (MEMORY.md):

  • Opcional: desactivado de forma predeterminada.
  • Programado: cuando está activado, memory-core administra automáticamente un trabajo Cron recurrente para una revisión completa de Dreaming.
  • Con umbrales: las promociones deben superar los criterios de puntuación, frecuencia de recuperación y diversidad de consultas.
  • Revisable: los resúmenes de fases y las entradas del diario se escriben en DREAMS.md para su revisión humana.

Consulte Dreaming para obtener información sobre el comportamiento de las fases, las señales de puntuación y los detalles del diario de sueños.

Reposición fundamentada y promoción en vivo

El sistema de Dreaming tiene dos vías de revisión relacionadas:

  • Dreaming en vivo trabaja con el almacén de Dreaming a corto plazo situado en memory/.dreams/ y es el que utiliza la fase profunda normal para decidir qué pasa a MEMORY.md.
  • Reposición fundamentada lee las notas históricas de memory/YYYY-MM-DD.md como archivos diarios independientes y escribe resultados de revisión estructurados en DREAMS.md.

La reposición fundamentada resulta útil para reproducir notas antiguas e inspeccionar qué considera duradero el sistema, sin editar manualmente MEMORY.md.

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

La opción --stage-short-term incorpora candidatos duraderos fundamentados al mismo almacén de Dreaming a corto plazo que ya utiliza la fase profunda normal; no los promueve directamente. Por tanto:

  • DREAMS.md sigue siendo la superficie de revisión humana.
  • El almacén a corto plazo sigue siendo la superficie de clasificación orientada a la máquina.
  • MEMORY.md sigue siendo escrito únicamente por la promoción profunda.

Para deshacer una reproducción sin modificar las entradas ordinarias del diario ni el estado normal de recuperación:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # Comprobar el estado del índice y el proveedoropenclaw memory search "query"  # Buscar desde la línea de comandosopenclaw memory index --force   # Reconstruir el índice

Lecturas adicionales

Was this useful?
On this page

On this page