Passer au contenu principal

Gestion des sessions

OpenClaw organise les conversations en sessions. Chaque message est routé vers une session selon sa provenance — DM, discussions de groupe, tâches cron, etc.

Comment les messages sont routés

SourceComportement
Messages directsSession partagée par défaut
Discussions de groupeIsolées par groupe
Salles/canauxIsolés par salle
Tâches cronNouvelle session à chaque exécution
WebhooksIsolés par webhook

Isolation des DM

Par défaut, tous les DM partagent une seule session pour assurer la continuité. Cela convient aux configurations à utilisateur unique.
Si plusieurs personnes peuvent envoyer des messages à votre agent, activez l’isolation des DM. Sinon, tous les utilisateurs partagent le même contexte de conversation — les messages privés d’Alice seraient visibles par Bob.
La solution :
{
  session: {
    dmScope: "per-channel-peer", // isoler par canal + expéditeur
  },
}
Autres options :
  • main (par défaut) — tous les DM partagent une seule session.
  • per-peer — isolation par expéditeur (tous canaux confondus).
  • per-channel-peer — isolation par canal + expéditeur (recommandé).
  • per-account-channel-peer — isolation par compte + canal + expéditeur.
Si la même personne vous contacte depuis plusieurs canaux, utilisez session.identityLinks pour lier ses identités afin qu’elles partagent une seule session.
Vérifiez votre configuration avec openclaw security audit.

Cycle de vie des sessions

Les sessions sont réutilisées jusqu’à leur expiration :
  • Réinitialisation quotidienne (par défaut) — nouvelle session à 4:00 du matin, heure locale, sur l’hôte gateway.
  • Réinitialisation après inactivité (facultative) — nouvelle session après une période d’inactivité. Définissez session.reset.idleMinutes.
  • Réinitialisation manuelle — saisissez /new ou /reset dans le chat. /new <model> change aussi de modèle.
Lorsque les réinitialisations quotidienne et après inactivité sont toutes deux configurées, la première à expirer l’emporte.

Où l’état est stocké

Tout l’état des sessions appartient à la gateway. Les clients UI interrogent la gateway pour obtenir les données de session.
  • Stockage : ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • Transcriptions : ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

Maintenance des sessions

OpenClaw borne automatiquement le stockage des sessions au fil du temps. Par défaut, il fonctionne en mode warn (signale ce qui serait nettoyé). Définissez session.maintenance.mode sur "enforce" pour un nettoyage automatique :
{
  session: {
    maintenance: {
      mode: "enforce",
      pruneAfter: "30d",
      maxEntries: 500,
    },
  },
}
Prévisualisez avec openclaw sessions cleanup --dry-run.

Inspection des sessions

  • openclaw status — chemin du stockage de sessions et activité récente.
  • openclaw sessions --json — toutes les sessions (filtrez avec --active <minutes>).
  • /status dans le chat — utilisation du contexte, modèle et bascules.
  • /context list — ce qui se trouve dans le prompt système.

Pour aller plus loin