Fundamentals
Contexte
Le « contexte » désigne tout ce qu’OpenClaw envoie au modèle pour une exécution. Il est limité par la fenêtre de contexte du modèle (limite de tokens).
Modèle mental pour débutant :
- Prompt système (construit par OpenClaw) : règles, outils, liste des Skills, heure/environnement d’exécution, et fichiers de l’espace de travail injectés.
- Historique de conversation : vos messages + les messages de l’assistant pour cette session.
- Appels/résultats d’outils + pièces jointes : sortie de commande, lectures de fichiers, images/audio, etc.
Le contexte n’est pas la même chose que la « mémoire » : la mémoire peut être stockée sur disque et rechargée plus tard ; le contexte est ce qui se trouve dans la fenêtre actuelle du modèle.
Démarrage rapide (inspecter le contexte)
/status→ vue rapide « à quel point ma fenêtre est-elle pleine ? » + paramètres de session./context list→ ce qui est injecté + tailles approximatives (par fichier + totaux)./context detail→ ventilation plus détaillée : tailles par fichier, par schéma d’outil, par entrée de Skills, taille du prompt système, et nombre de messages de transcription compactables./context map→ image en treemap de style WinDirStat des contributeurs de contexte suivis dans la session actuelle./usage tokens→ ajoute un pied de page d’utilisation par réponse aux réponses normales./compact→ résume l’ancien historique dans une entrée compacte afin de libérer de l’espace dans la fenêtre.
Voir aussi : Commandes slash, Utilisation des tokens et coûts, Compaction.
Exemple de sortie
Les valeurs varient selon le modèle, le fournisseur, la politique d’outils et ce qui se trouve dans votre espace de travail.
/context list
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 12,000 charsSandbox: mode=non-main sandboxed=falseSystem prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok)) Injected workspace files:- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)- HEARTBEAT.md: MISSING | raw 0 | injected 0- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok) Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)Tools: read, edit, write, exec, process, browser, message, sessions_send, …Tool list (system prompt text): 1,032 chars (~258 tok)Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)Tools: (same as above) Session tokens (cached): 14,250 total / ctx=32,000/context detail
🧠 Context breakdown (detailed)…Top skills (prompt entry size):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+10 more skills) Top tools (schema size):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+N more tools)/context map
Envoie une image générée à partir du dernier rapport d’exécution mis en cache. Avant qu’un message normal ait produit un rapport d’exécution dans la session, /context map renvoie un message d’indisponibilité au lieu de rendre une estimation. L’aire des rectangles est proportionnelle aux caractères de prompt suivis :
- fichiers injectés depuis l’espace de travail
- texte du prompt système de base
- entrées de prompt des Skills
- schémas JSON des outils
/context list, /context detail et /context json peuvent toujours inspecter une estimation à la demande lorsqu’aucun rapport d’exécution n’est mis en cache.
Ce qui compte dans la fenêtre de contexte
Tout ce que le modèle reçoit compte, notamment :
- Le prompt système (toutes les sections).
- L’historique de conversation.
- Les appels d’outils + résultats d’outils.
- Les pièces jointes/transcriptions (images/audio/fichiers).
- Les résumés de Compaction et artefacts d’élagage.
- Les « enveloppes » du fournisseur ou en-têtes masqués (non visibles, mais comptabilisés).
Comment OpenClaw construit le prompt système
Le prompt système est contrôlé par OpenClaw et reconstruit à chaque exécution. Il inclut :
- Liste des outils + courtes descriptions.
- Liste des Skills (métadonnées uniquement ; voir ci-dessous).
- Emplacement de l’espace de travail.
- Heure (UTC + heure utilisateur convertie si configurée).
- Métadonnées d’exécution (hôte/OS/modèle/raisonnement).
- Fichiers d’amorçage de l’espace de travail injectés sous Contexte du projet.
Ventilation complète : Prompt système.
Fichiers injectés depuis l’espace de travail (Contexte du projet)
Par défaut, OpenClaw injecte un ensemble fixe de fichiers de l’espace de travail (s’ils sont présents) :
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(première exécution uniquement)
Les gros fichiers sont tronqués fichier par fichier avec agents.defaults.bootstrapMaxChars (20000 caractères par défaut). OpenClaw applique aussi un plafond total d’injection d’amorçage sur l’ensemble des fichiers avec agents.defaults.bootstrapTotalMaxChars (60000 caractères par défaut). /context affiche les tailles brutes et injectées et indique si une troncature a eu lieu.
Lorsqu’une troncature se produit, l’environnement d’exécution peut injecter un bloc d’avertissement dans le prompt sous Contexte du projet. Configurez cela avec agents.defaults.bootstrapPromptTruncationWarning (off, once, always ; always par défaut).
Skills : injectées ou chargées à la demande
Le prompt système inclut une liste de Skills compacte (nom + description + emplacement). Cette liste a un coût réel.
Les instructions des Skills ne sont pas incluses par défaut. Le modèle est censé read le SKILL.md de la Skill uniquement lorsque nécessaire.
Outils : il y a deux coûts
Les outils affectent le contexte de deux façons :
- Texte de la liste d’outils dans le prompt système (ce que vous voyez comme « outillage »).
- Schémas d’outils (JSON). Ils sont envoyés au modèle pour qu’il puisse appeler les outils. Ils comptent dans le contexte même si vous ne les voyez pas comme du texte brut.
/context detail ventile les plus gros schémas d’outils afin que vous puissiez voir ce qui domine.
Commandes, directives et « raccourcis inline »
Les commandes slash sont gérées par le Gateway. Il existe quelques comportements différents :
- Commandes autonomes : un message qui contient seulement
/...s’exécute comme une commande. - Directives :
/think,/verbose,/trace,/reasoning,/elevated,/model,/queuesont retirées avant que le modèle voie le message.- Les messages composés uniquement de directives persistent les paramètres de session.
- Les directives inline dans un message normal agissent comme des indications propres au message.
- Raccourcis inline (expéditeurs en liste d’autorisation uniquement) : certains tokens
/...dans un message normal peuvent s’exécuter immédiatement (exemple : « hey /status »), puis sont retirés avant que le modèle voie le texte restant.
Détails : Commandes slash.
Sessions, Compaction et élagage (ce qui persiste)
Ce qui persiste entre les messages dépend du mécanisme :
- Historique normal : persiste dans la transcription de session jusqu’à être compacté/élagué par la politique.
- Compaction : persiste un résumé dans la transcription et conserve les messages récents intacts.
- Élagage : supprime les anciens résultats d’outils du prompt en mémoire pour libérer de l’espace dans la fenêtre de contexte, mais ne réécrit pas la transcription de session ; l’historique complet reste inspectable sur disque.
Docs : Session, Compaction, Élagage de session.
Par défaut, OpenClaw utilise le moteur de contexte intégré legacy pour l’assemblage et la Compaction. Si vous installez un plugin qui fournit kind: "context-engine" et le sélectionnez avec plugins.slots.contextEngine, OpenClaw délègue plutôt l’assemblage du contexte, /compact et les hooks de cycle de vie de contexte de sous-agent associés à ce moteur. ownsCompaction: false ne provoque pas de repli automatique vers le moteur legacy ; le moteur actif doit toujours implémenter correctement compact(). Consultez Moteur de contexte pour l’interface enfichable complète, les hooks de cycle de vie et la configuration.
Ce que /context rapporte réellement
/context préfère le dernier rapport de prompt système construit par exécution lorsqu’il est disponible :
System prompt (run)= capturé depuis la dernière exécution intégrée (capable d’utiliser des outils) et persisté dans le magasin de session.System prompt (estimate)= calculé à la volée lorsqu’aucun rapport d’exécution n’existe (ou lors d’une exécution via un backend CLI qui ne génère pas le rapport).
Dans les deux cas, il rapporte les tailles et les principaux contributeurs ; il ne vide pas le prompt système complet ni les schémas d’outils. En mode détaillé, il compare aussi la transcription de session avec le même prédicat de messages de conversation réels utilisé par la Compaction, ce qui facilite la distinction entre une utilisation élevée du prompt/cache et un historique de conversation compactable.
Connexe
Injection de contexte personnalisée via des plugins.
Résumer les longues conversations pour les conserver dans la fenêtre du modèle.
Comment le prompt système est construit et ce qu’il injecte à chaque tour.
Le cycle complet d’exécution de l’agent, du message entrant à la réponse finale.