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
| Origen | Comportamiento |
|---|
| Mensajes directos | Sesión compartida de forma predeterminada |
| Chats de grupo | Aislado por grupo |
| Salas/canales | Aislado por sala |
| Trabajos cron | Sesión nueva por ejecución |
| Webhooks | Aislado 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.