Saltar al contenido principal

Gestión de sesiones

OpenClaw organiza las conversaciones en sesiones. Cada mensaje se enruta a una sesión según de dónde proviene: mensajes directos, chats de grupo, trabajos cron, etc.

Cómo se enrutan los mensajes

OrigenComportamiento
Mensajes directosSesión compartida de forma predeterminada
Chats de grupoAislado por grupo
Salas/canalesAislado por sala
Trabajos cronSesión nueva por ejecución
WebhooksAislado por hook

Aislamiento de mensajes directos

De forma predeterminada, todos los mensajes directos comparten una sola sesión para mantener la continuidad. Esto está bien para configuraciones de un solo usuario.
Si varias personas pueden enviar mensajes a tu agente, habilita el aislamiento de mensajes directos. Sin él, todas las personas usuarias comparten el mismo contexto de conversación: los mensajes privados de Alice serían visibles para Bob.
La solución:
{
  session: {
    dmScope: "per-channel-peer", // aislar por canal + remitente
  },
}
Otras opciones:
  • main (predeterminado): todos los mensajes directos comparten una sola 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.
Si la misma persona se pone en contacto contigo desde varios canales, usa session.identityLinks para vincular sus identidades y que compartan una sola sesión.
Verifica tu configuración con openclaw security audit.

Ciclo de vida de la sesión

Las sesiones se reutilizan hasta que caducan:
  • Restablecimiento diario (predeterminado): nueva sesión a las 4:00 a. m. hora local en el host del gateway.
  • Restablecimiento por inactividad (opcional): nueva sesión tras un período de inactividad. Establece session.reset.idleMinutes.
  • Restablecimiento manual: escribe /new o /reset en el chat. /new <model> también cambia el modelo.
Cuando están configurados tanto el restablecimiento diario como el de inactividad, prevalece el que venza primero.

Dónde vive el estado

Todo el estado de la sesión es propiedad del gateway. Los clientes de IU consultan el gateway para obtener los datos de la sesión.
  • Almacén: ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • Transcripciones: ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

Mantenimiento de sesiones

OpenClaw limita automáticamente el almacenamiento de sesiones con el tiempo. De forma predeterminada, se ejecuta en modo warn (informa de lo que se limpiaría). Establece 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.

Inspeccionar sesiones

  • openclaw status: ruta del almacén de sesiones y actividad reciente.
  • openclaw sessions --json: todas las sesiones (filtra con --active <minutes>).
  • /status en el chat: uso de contexto, modelo y conmutadores.
  • /context list: qué hay en el prompt del sistema.

Más información