Gestione delle sessioni
OpenClaw organizza le conversazioni in sessioni. Ogni messaggio viene instradato a una
sessione in base alla sua origine — DM, chat di gruppo, job cron, ecc.
Come vengono instradati i messaggi
| Origine | Comportamento |
|---|
| Messaggi diretti | Sessione condivisa per impostazione predefinita |
| Chat di gruppo | Isolata per gruppo |
| Stanze/canali | Isolata per stanza |
| Job cron | Sessione nuova per ogni esecuzione |
| Webhook | Isolata per hook |
Isolamento dei DM
Per impostazione predefinita, tutti i DM condividono una sessione per garantire continuità. Questo va bene per
configurazioni con un solo utente.
Se più persone possono inviare messaggi al tuo agente, abilita l’isolamento dei DM. Senza di esso, tutti gli
utenti condividono lo stesso contesto di conversazione — i messaggi privati di Alice sarebbero
visibili a Bob.
La soluzione:
{
session: {
dmScope: "per-channel-peer", // isola per canale + mittente
},
}
Altre opzioni:
main (predefinito) — tutti i DM condividono una sessione.
per-peer — isola per mittente (tra i vari canali).
per-channel-peer — isola per canale + mittente (consigliato).
per-account-channel-peer — isola per account + canale + mittente.
Se la stessa persona ti contatta da più canali, usa
session.identityLinks per collegare le sue identità in modo che condividano una sola sessione.
Verifica la configurazione con openclaw security audit.
Ciclo di vita della sessione
Le sessioni vengono riutilizzate finché non scadono:
- Reimpostazione giornaliera (predefinita) — nuova sessione alle 4:00 ora locale sull’host
del gateway.
- Reimpostazione per inattività (facoltativa) — nuova sessione dopo un periodo di inattività. Imposta
session.reset.idleMinutes.
- Reimpostazione manuale — digita
/new o /reset in chat. /new <model> cambia anche
il modello.
Quando sono configurate sia la reimpostazione giornaliera sia quella per inattività, prevale quella che scade per prima.
Dove risiede lo stato
Tutto lo stato della sessione appartiene al gateway. I client UI interrogano il gateway per ottenere
i dati della sessione.
- Archivio:
~/.openclaw/agents/<agentId>/sessions/sessions.json
- Trascrizioni:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl
Manutenzione delle sessioni
OpenClaw limita automaticamente nel tempo l’archiviazione delle sessioni. Per impostazione predefinita, viene eseguito
in modalità warn (riporta cosa verrebbe pulito). Imposta session.maintenance.mode
su "enforce" per la pulizia automatica:
{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500,
},
},
}
Anteprima con openclaw sessions cleanup --dry-run.
Ispezione delle sessioni
openclaw status — percorso dell’archivio delle sessioni e attività recente.
openclaw sessions --json — tutte le sessioni (filtra con --active <minutes>).
/status in chat — utilizzo del contesto, modello e toggle.
/context list — cosa è presente nel prompt di sistema.
Ulteriori letture