Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw fournit aux agents des outils pour travailler entre les sessions, inspecter l’état et orchestrer des sous-agents.

Outils disponibles

OutilCe qu’il fait
sessions_listRépertorie les sessions avec des filtres facultatifs (kind, label, agent, récence, aperçu)
sessions_historyLit la transcription d’une session spécifique
sessions_sendEnvoie un message à une autre session et attend facultativement
sessions_spawnLance une session de sous-agent isolée pour un travail en arrière-plan
sessions_yieldTermine le tour actuel et attend les résultats de suivi des sous-agents
subagentsRépertorie, guide ou arrête les sous-agents lancés pour cette session
session_statusAffiche une carte de style /status et définit facultativement une substitution de modèle par session
Ces outils restent soumis au profil d’outils actif et à la politique d’autorisation/refus. tools.profile: "coding" inclut l’ensemble complet d’orchestration de sessions, notamment sessions_spawn, sessions_yield et subagents. tools.profile: "messaging" inclut les outils de messagerie entre sessions (sessions_list, sessions_history, sessions_send, session_status), mais n’inclut pas le lancement de sous-agents. Pour conserver un profil de messagerie tout en autorisant la délégation native, ajoutez :
{
  tools: {
    profile: "messaging",
    alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
  },
}
Les politiques de groupe, provider, sandbox et par agent peuvent toujours retirer ces outils après l’étape de profil. Utilisez /tools depuis la session concernée pour inspecter la liste effective des outils.

Répertorier et lire les sessions

sessions_list renvoie les sessions avec leur clé, agentId, kind, canal, modèle, nombres de tokens et horodatages. Filtrez par kind (main, group, cron, hook, node), label exact, agentId exact, texte de recherche ou récence (activeMinutes). Quand vous avez besoin d’un tri de type boîte de réception, il peut également demander un titre dérivé limité à la visibilité, un extrait d’aperçu du dernier message ou des messages récents bornés sur chaque ligne. Les titres dérivés et les aperçus ne sont produits que pour les sessions que l’appelant peut déjà voir selon la politique de visibilité des outils de session configurée, afin que les sessions sans lien restent masquées. sessions_history récupère la transcription de conversation pour une session spécifique. Par défaut, les résultats d’outils sont exclus — passez includeTools: true pour les voir. La vue renvoyée est volontairement bornée et filtrée pour la sécurité :
  • le texte de l’assistant est normalisé avant le rappel :
    • les balises de réflexion sont supprimées
    • les blocs d’échafaudage <relevant-memories> / <relevant_memories> sont supprimés
    • les blocs de charge utile XML d’appels d’outils en texte brut tels que <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls> et <function_calls>...</function_calls> sont supprimés, y compris les charges utiles tronquées qui ne se ferment jamais proprement
    • l’échafaudage d’appels/résultats d’outils rétrogradé tel que [Tool Call: ...], [Tool Result ...] et [Historical context ...] est supprimé
    • les tokens de contrôle de modèle divulgués tels que <|assistant|>, les autres tokens ASCII <|...|> et les variantes pleine chasse <|...|> sont supprimés
    • le XML d’appel d’outil MiniMax malformé tel que <invoke ...> / </minimax:tool_call> est supprimé
  • le texte ressemblant à des identifiants ou tokens est expurgé avant d’être renvoyé
  • les longs blocs de texte sont tronqués
  • les historiques très volumineux peuvent supprimer des lignes anciennes ou remplacer une ligne surdimensionnée par [sessions_history omitted: message too large]
  • l’outil signale des indicateurs récapitulatifs tels que truncated, droppedMessages, contentTruncated, contentRedacted et bytes
Les deux outils acceptent soit une clé de session (comme "main"), soit un ID de session issu d’un appel de liste précédent. Si vous avez besoin de la transcription exacte octet par octet, inspectez le fichier de transcription sur disque au lieu de traiter sessions_history comme un vidage brut.

Envoyer des messages entre sessions

sessions_send transmet un message à une autre session et attend facultativement la réponse :
  • Envoyer sans attendre : définissez timeoutSeconds: 0 pour mettre en file d’attente et revenir immédiatement.
  • Attendre la réponse : définissez un délai d’expiration et obtenez la réponse en ligne.
Les sessions de discussion limitées à un fil, comme les clés Slack ou Discord se terminant par :thread:<id>, ne sont pas des cibles sessions_send valides. Utilisez la clé de session du canal parent pour la coordination entre agents afin que les messages routés par outil n’apparaissent pas dans un fil actif visible par un humain. Les messages et les réponses de suivi A2A sont marqués comme données inter-sessions dans le prompt récepteur ([Inter-session message ... isUser=false]) et dans la provenance de la transcription. L’agent récepteur doit les traiter comme des données routées par outil, et non comme une instruction rédigée directement par l’utilisateur final. Après la réponse de la cible, OpenClaw peut exécuter une boucle de réponse en retour dans laquelle les agents alternent les messages (jusqu’à session.agentToAgent.maxPingPongTurns, plage 0-20, 5 par défaut). L’agent cible peut répondre REPLY_SKIP pour s’arrêter plus tôt.

Assistants d’état et d’orchestration

session_status est l’outil léger équivalent à /status pour la session actuelle ou une autre session visible. Il signale l’utilisation, l’heure, l’état du modèle/runtime et le contexte de tâche en arrière-plan lié lorsqu’il est présent. Comme /status, il peut rétroremplir des compteurs clairsemés de tokens/cache depuis la dernière entrée d’utilisation de transcription, et model=default efface une substitution par session. Utilisez sessionKey="current" pour la session actuelle de l’appelant ; les libellés client visibles tels que openclaw-tui ne sont pas des clés de session. sessions_yield termine volontairement le tour actuel afin que le message suivant puisse être l’événement de suivi que vous attendez. Utilisez-le après avoir lancé des sous-agents lorsque vous voulez que les résultats d’achèvement arrivent comme message suivant au lieu de construire des boucles de sondage. subagents est l’assistant de plan de contrôle pour les sous-agents OpenClaw déjà lancés. Il prend en charge :
  • action: "list" pour inspecter les exécutions actives/récentes
  • action: "steer" pour envoyer des consignes de suivi à un enfant en cours d’exécution
  • action: "kill" pour arrêter un enfant ou all

Lancer des sous-agents

sessions_spawn crée par défaut une session isolée pour une tâche en arrière-plan. Il est toujours non bloquant — il revient immédiatement avec un runId et une childSessionKey. Options clés :
  • runtime: "subagent" (par défaut) ou "acp" pour les agents de harnais externes.
  • Substitutions model et thinking pour la session enfant.
  • thread: true pour lier le lancement à un fil de discussion (Discord, Slack, etc.).
  • sandbox: "require" pour imposer le sandboxing à l’enfant.
  • context: "fork" pour les sous-agents natifs lorsque l’enfant a besoin de la transcription actuelle du demandeur ; omettez-le ou utilisez context: "isolated" pour un enfant propre. Les sous-agents natifs liés à un fil utilisent par défaut context: "fork" sauf si threadBindings.defaultSpawnContext indique autre chose.
Les sous-agents feuilles par défaut n’obtiennent pas les outils de session. Lorsque maxSpawnDepth >= 2, les sous-agents orchestrateurs de profondeur 1 reçoivent en plus sessions_spawn, subagents, sessions_list et sessions_history afin de pouvoir gérer leurs propres enfants. Les exécutions feuilles n’obtiennent toujours pas d’outils d’orchestration récursive. Après l’achèvement, une étape d’annonce publie le résultat sur le canal du demandeur. La livraison de l’achèvement préserve le routage de fil/sujet lié lorsqu’il est disponible, et si l’origine de l’achèvement n’identifie qu’un canal, OpenClaw peut encore réutiliser la route enregistrée de la session du demandeur (lastChannel / lastTo) pour une livraison directe. Pour le comportement propre à ACP, consultez Agents ACP.

Visibilité

Les outils de session sont limités pour restreindre ce que l’agent peut voir :
NiveauPortée
selfUniquement la session actuelle
treeSession actuelle + sous-agents lancés
agentToutes les sessions pour cet agent
allToutes les sessions (inter-agents si configuré)
La valeur par défaut est tree. Les sessions sandboxées sont limitées à tree quelle que soit la configuration.

Pour aller plus loin

Connexe