Aller au contenu

Gestion de session

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

SourceComportement
Messages directsSession partagée par défaut
Discussions de groupeIsolé par groupe
Salons/canauxIsolé par salon
Tâches cronNouvelle session à chaque exécution
WebhooksIsolé par hook

Par défaut, tous les DMs partagent une même session pour assurer la continuité. C’est adapté pour les configurations mono-utilisateur.

La solution :

{
session: {
dmScope: "per-channel-peer", // isolate by channel + sender
},
}

Autres options :

  • main (par défaut) — tous les DMs partagent une session.
  • per-peer — isoler par expéditeur (à travers les canaux).
  • per-channel-peer — isoler par canal + expéditeur (recommandé).
  • per-account-channel-peer — isoler par compte + canal + expéditeur.

Vérifiez votre configuration avec openclaw security audit.

Les sessions sont réutilisées jusqu’à leur expiration :

  • Réinitialisation quotidienne (par défaut) — nouvelle session à 4h00 heure locale sur la passerelle hôte.
  • Réinitialisation par inactivité (optionnel) — nouvelle session après une période d’inactivité. Définissez session.reset.idleMinutes.
  • Réinitialisation manuelle — tapez /new ou /reset dans le chat. /new <model> permet également de changer de modèle.

Lorsque les réinitialisations quotidiennes et par inactivité sont toutes deux configurées, la première à expirer l’emporte.

Tout l’état de session est détenu par la passerelle. Les clients UI interrogent la passerelle pour les données de session.

  • Stockage : ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • Transcriptions : ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

OpenClaw limite 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,
},
},
}

Aperçu avec openclaw sessions cleanup --dry-run.

  • openclaw status — chemin du magasin de sessions et activité récente.
  • openclaw sessions --json — toutes les sessions (filtrer avec --active <minutes>).
  • /status dans le chat — utilisation du contexte, model et bascules.
  • /context list — ce qui se trouve dans le prompt système.
  • Session Pruning — élagage des résultats des outils
  • Compaction — résumé des longues conversations
  • Session Tools — outils de l’agent pour le travail inter-sessions
  • Session Management Deep Dive — schéma du magasin, transcriptions, politique d’envoi, métadonnées d’origine et configuration avancée
  • Multi-Agent — routage et isolement des sessions entre les agents
  • Background Tasks — comment le travail détaché crée des enregistrements de tâches avec des références de session
  • Channel Routing — routage des messages entrants vers les sessions