Ir al contenido

Gestión de sesiones

OpenClaw organiza las conversaciones en sesiones. Cada mensaje se enruta a una sesión según su origen — mensajes directos, chats grupales, trabajos cron, etc.

OrigenComportamiento
Mensajes directosSesión compartida por defecto
Chats grupalesAislado por grupo
Salas/canalesAislado por sala
Trabajos cronSesión nueva por ejecución
WebhooksAislado por webhook

Por defecto, todos los mensajes directos comparten una sesión para mantener la continuidad. Esto es adecuado para configuraciones de un solo usuario.

La solución:

{
session: {
dmScope: "per-channel-peer", // isolate by channel + sender
},
}

Otras opciones:

  • main (por defecto) — todos los mensajes directos comparten una sesión.
  • per-peer — aislar por remitente (entre canales).
  • per-channel-peer — aislar por canal + remitente (recomendado).
  • per-account-channel-peer — aislar por cuenta + canal + remitente.

Verifique su configuración con openclaw security audit.

Las sesiones se reutilizan hasta que caducan:

  • Reinicio diario (por defecto) — sesión nueva a las 4:00 AM hora local en la puerta de enlace (gateway).
  • Reinicio por inactividad (opcional) — sesión nueva después de un período de inactividad. Configure session.reset.idleMinutes.
  • Reinicio manual — escriba /new o /reset en el chat. /new <model> también cambia el modelo.

Cuando se configuran tanto el reinicio diario como el por inactividad, gana el que caduque primero.

Todo el estado de la sesión es propiedad de la puerta de enlace (gateway). Los clientes de la interfaz de usuario consultan la puerta de enlace para obtener datos de la sesión.

  • Almacenamiento: ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • Transcripciones: ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

OpenClaw delimita automáticamente el almacenamiento de la sesión a lo largo del tiempo. De forma predeterminada, se ejecuta en modo warn (informa qué se limpiaría). Establezca session.maintenance.mode en "enforce" para la limpieza automática:

{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500,
},
},
}

Vista previa con openclaw sessions cleanup --dry-run.

  • openclaw status — ruta de almacenamiento de la sesión y actividad reciente.
  • openclaw sessions --json — todas las sesiones (filtrar con --active <minutes>).
  • /status en el chat — uso del contexto, modelo e interruptores.
  • /context list — qué hay en el prompt del sistema.