Vai al contenuto principale

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

OrigineComportamento
Messaggi direttiSessione condivisa per impostazione predefinita
Chat di gruppoIsolata per gruppo
Stanze/canaliIsolata per stanza
Job cronSessione nuova per ogni esecuzione
WebhookIsolata 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