Aller au contenu

Commandes slash

Le Gateway gère les commandes envoyées sous forme de messages autonomes commençant par /. Les commandes bash réservées à l’hôte utilisent ! <cmd> (avec /bash <cmd> comme alias).

Lorsqu’une conversation est liée à une session ACP, le texte normal est acheminé vers le harnais ACP. Les commandes de gestion du Gateway restent locales : /acp ... atteint toujours le gestionnaire de commandes OpenClaw, et /status ainsi que /unfocus restent locales chaque fois que la gestion des commandes est activée pour la surface.

Commands

Messages autonomes /... gérés par le Gateway. Doivent être envoyés comme seul contenu du message.

Directives

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — retirés du message avant que le model ne le voie. Enregistrent les paramètres de session lorsqu’ils sont envoyés seuls ; agissent comme des indices en ligne lorsqu’ils sont envoyés avec d’autres textes.

Raccourcis en ligne

/help, /commands, /status, /whoami — sont exécutés immédiatement et sont supprimés avant que le modèle ne voie le texte restant. Expéditeurs autorisés uniquement.

Détails du comportement des directives
  • Les directives sont supprimées du message avant que le modèle ne le voie. - Dans les messages uniquement de directives (le message ne contient que des directives), elles persistent dans la session et répondent par un accusé de réception. - Dans les messages de chat normal avec d’autres textes, elles agissent comme des indices en ligne et ne persistent pas les paramètres de la session. - Les directives ne s’appliquent que pour les expéditeurs autorisés. Si commands.allowFrom est défini, c’est la seule liste d’autorisation utilisée ; sinon, l’autorisation provient des listes d’autorisation de canal/appariement ainsi que de commands.useAccessGroups. Les expéditeurs non autorisés voient les directives traitées comme du texte brut.
{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
mcp: false,
plugins: false,
debug: false,
restart: true,
ownerAllowFrom: ["discord:123456789012345678"],
ownerDisplay: "raw",
ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
Active l'analyse des `/...` dans les messages de chat. Sur les interfaces sans commandes natives (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), les commandes texte fonctionnent même lorsqu'elles sont définies sur `false`. Enregistre les commandes natives. Auto : activé pour Discord/Telegram ; désactivé pour Slack ; ignoré pour les fournisseurs sans support natif. Remplacer par canal avec `channels..commands.native`. Sur Discord, `false` ignore l'enregistrement des commandes slash ; les commandes précédemment enregistrées peuvent rester visibles jusqu'à leur suppression. Enregistre nativement les commandes de compétence lorsque pris en charge. Auto : activé pour Discord/Telegram ; désactivé pour Slack. Remplacer par `channels..commands.nativeSkills`. Active `! ` pour exécuter des commandes shell de l'hôte (alias `/bash `). Nécessite des listes d'autorisation `tools.elevated`. Durée d'attente de bash avant de passer en mode arrière-plan (`0` passe en arrière-plan immédiatement). Active `/config` (lit/écrit `openclaw.json`). Réservé au propriétaire. Active `/mcp` (lit/écrit la config MCP gérée par OpenClaw sous `mcp.servers`). Réservé au propriétaire. Active `/plugins` (découverte/statut des plugins plus installation + activation/désactivation). Réservé au propriétaire pour l'écriture. Active `/debug` (surcharges de configuration uniquement à l'exécution). Réservé au propriétaire. Active `/restart` et les actions de l'outil de redémarrage de la passerelle. Liste d'autorisation explicite du propriétaire pour les surfaces de commande réservées au propriétaire. Séparé de `commands.allowFrom` et de l'accès par jumelage DM. Par canal : nécessite l'identité du propriétaire pour les commandes réservées au propriétaire. Lorsque `true`, l'expéditeur doit correspondre à `commands.ownerAllowFrom` ou détenir la portée `operator.admin` interne. Une entrée avec caractère générique `allowFrom` n'est **pas** suffisante. Contrôle l'apparence des identifiants de propriétaire dans l'invite système. Secret HMAC utilisé lors de `commands.ownerDisplay: "hash"`. Liste d'autorisation par fournisseur pour l'autorisation des commandes. Lorsqu'elle est configurée, c'est l'**unique** source d'autorisation pour les commandes et les directives. Utilisez `"*"` pour un paramètre par défaut global ; les clés spécifiques au fournisseur la remplacent. Applique les listes d'autorisation/stratégies pour les commandes lorsque `commands.allowFrom` n'est pas défini.

Les commandes proviennent de trois sources :

  • Intégrées de base : src/auto-reply/commands-registry.shared.ts
  • Commandes générées par le dock : src/auto-reply/commands-registry.data.ts
  • Commandes de plugin : appels plugin registerCommand()

La disponibilité dépend des indicateurs de configuration, de la surface du canal et des plugins installés/activés.

Sessions et exécutions
CommandeDescription
/new [model]Archiver la session actuelle et en démarrer une nouvelle
/reset [soft [message]]Réinitialiser la session actuelle sur place. softCLI conserve la transcription, supprime les identifiants de session backend CLI réutilisés et relance le démarrage
/compact [instructions]Compacter le contexte de la session. Voir Compactage
/stopAnnuler l’exécution actuelle
`/session idle

| Gérer l'expiration d'inactivité de la liaison de thread | |/session max-age

| Gérer l'expiration de l'ancienneté maximale de la liaison de thread | |/export-session [path]| Exporter la session actuelle au format HTML. Alias :/export| |/export-trajectory [path]| Exporter un bundle de trajectoire JSONL pour la session actuelle. Alias :/trajectory` |

Modèle et contrôles d'exécution
CommandeDescription
`/think

| Définit le niveau de réflexion ou efface la substitution de session. Alias :/thinking, /t| |/verbose on|off|full| Active/désactive la sortie verbeuse. Alias :/v| |/trace on|off| Active/désactive la sortie de trace du plugin pour la session actuelle | |/fast [status|on|off|default]| Affiche, définit ou efface le mode rapide | |/reasoning [on|off|stream]| Active/désactive la visibilité du raisonnement. Alias :/reason| |/elevated [on|off|ask|full]| Active/désactive le mode élevé. Alias :/elev| |/exec host=

security=

ask=

node=

| Affiche ou définit les valeurs par défaut d'exécution | |/model [name|#|status]| Affiche ou définit le modèle | |/models [provider] [page] [limit=

|all]| Liste les fournisseurs ou modèles configurés/disponibles via authentification | |/queue

| Gère le comportement de la file d'exécution active. Voir [File d'attente](/fr/concepts/queue) et [Pilotage de la file d'attente](/fr/concepts/queue-steering) | |/steer

| Injecte des directives dans l'exécution active. Alias :/tell`. Voir Pilotage |

verbeux / trace / rapide / sécurité du raisonnement
  • /verbose est destiné au débogage — gardez-le désactivé en usage normal.
  • /trace n’affiche que les lignes de trace/débogage appartenant au plugin ; les bavardages verbeux normaux restent désactivés.
  • /fast on|off persiste une substitution de session ; utilisez l’option inherit de l’interface Sessions pour l’effacer.
  • /fast est spécifique au fournisseur : OpenAI/Codex le mappent à service_tier=priority ; les requêtes directes Anthropic le mappent à service_tier=auto ou standard_only.
  • /reasoning, /verbose, et /trace sont risqués dans les contextes de groupe — ils peuvent révéler le raisonnement interne ou des diagnostics de plugins. Gardez-les désactivés dans les discussions de groupe.
Détails du changement de modèle
  • /model enregistre le nouveau modèle immédiatement dans la session.
  • Si l’agent est inactif, la prochaine exécution l’utilise tout de suite.
  • Si une exécution est active, le changement est marqué en attente et appliqué au prochain point propre de nouvelle tentative.
Discovery et statut
CommandeDescription
/helpAfficher le bref résumé de l’aide
/commandsAfficher le catalogue de commandes généré
/tools [compact|verbose]Afficher ce que l’agent actuel peut utiliser maintenant
/statusAfficher le statut d’exécution, la disponibilité du Gateway et du système, ainsi que l’utilisation/quota du provider
/goal [status|start|pause|resume|complete|block|clear] ...Gérer l’objectif durable goal de la session actuelle
/diagnostics [note]Flux de rapport de support réservé au propriétaire. Demande une approbation d’exécution à chaque fois
`/crestodian

| Exécuter l'assistant de configuration et de réparation de Crestodian depuis un DM de propriétaire | |/tasks| Lister les tâches d'arrière-plan actives/récentes pour la session actuelle | |/context [list|detail|map|json]| Expliquer comment le contexte est assemblé | |/whoami| Afficher votre identifiant d'expéditeur. Alias :/id| |/usage off|tokens|full|cost` | Contrôler le pied de page d’utilisation par réponse ou imprimer un résumé des coûts locaux |

Skills, listes d'autorisation, approbations
CommandeDescription
`/skill

[input]| Exécuter une skill par son nom | |/allowlist [list|add|remove] …| Gérer les entrées de la liste d'autorisation. Texte uniquement | |/approve

| Résoudre les invites d'approbation exec ou plugin | |/btw

| Poser une question annexe sans changer le contexte de la session. Alias :/side`. Voir BTW |

Subagents and ACP
CommandDescription
/subagents list|log|infoInspect sub-agent runs for the current session
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpManage ACP sessions and runtime options
`/focus

| Bind the current Discord thread or Telegram topic to a session target | |/unfocus| Remove the current thread binding | |/agents` | List thread-bound agents for the current session |

Owner-only writes and admin

| Command | Requires | Description | | --- | --- | --- | | /config show\|get\|set\|unset | commands.config: true | Read or write openclaw.json. Owner-only | | /mcp show\|get\|set\|unset | commands.mcp: true | Read or write OpenClaw-managed MCP server config. Owner-only | | /plugins list\|inspect\|show\|get\|install\|enable\|disable | commands.plugins: true | Inspect or mutate plugin state. Owner-only for writes. Alias: /plugin | | /debug show\|set\|unset\|reset | commands.debug: true | Runtime-only config overrides. Owner-only | | /restart | commands.restart: true (default) | Restart OpenClaw | | /send on\|off\|inherit | owner | Set send policy |

Voice, TTS, channel control
CommandDescription
/tts on|off|status|chat|latest|provider|limit|summary|audio|helpControl TTS. See TTS
/activation mention|alwaysSet group activation mode
`/bash

| Run a host shell command. Alias:!

. Requires commands.bash: true| |!poll [sessionId]| Check a background bash job | |!stop [sessionId]` | Stop a background bash job |

Les commandes d’amarrage redirigent la route de réponse de la session active vers un autre canal lié. Voir Amarrage de canal pour la configuration et le dépannage.

Générées à partir de plugins de canal prenant en charge les commandes natives :

  • /dock-discord (alias : /dock_discord)
  • /dock-mattermost (alias : /dock_mattermost)
  • /dock-slack (alias : /dock_slack)
  • /dock-telegram (alias : /dock_telegram)

Les commandes d’amarrage nécessitent session.identityLinks. L’expéditeur source et le pair cible doivent appartenir au même groupe d’identité.

CommandeDescription
/dreaming [on|off|status|help]Activer/désactiver le rêve de la mémoire. Voir Rêve
/pair [qr|status|pending|approve|cleanup|notify]Gérer l’appairage des appareils. Voir Appairage
/phone status|arm ...|disarmArmer temporairement les commandes de nœud de téléphone à haut risque
/voice status|list|set <voiceId>Gérer la configuration vocale de Talk. Nom natif Discord : /talkvoice
/card ...Envoyer des présélections de cartes riches LINE. Voir LINE
/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skillsContrôler le harnais de serveur d’application Codex. Voir Harnais Codex

Uniquement QQBot : /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Les skills invocables par l’utilisateur sont exposées en tant que commandes slash :

  • /skill <name> [input] fonctionne toujours comme point d’entrée générique.
  • Les skills peuvent s’enregistrer en tant que commandes directes (par exemple /prose pour OpenProse).
  • L’enregistrement natif des commandes de skills est contrôlé par commands.nativeSkills et channels.<provider>.commands.nativeSkills.
  • Les noms sont nettoyés en a-z0-9_ (max 32 caractères) ; les collisions reçoivent des suffixes numériques.
Skill command dispatch

Par défaut, les commandes de compétences sont routées vers le modèle comme une demande normale.

Les compétences peuvent déclarer command-dispatch: tool pour router directement vers un outil (déterministe, sans intervention du modèle). Exemple : /prose (plugin OpenProse) — voir OpenProse.

Native command arguments

Discord utilise l’autocomplétion pour les options dynamiques et les menus de boutons lorsque les arguments requis sont omis. Telegram et Slack affichent un menu de boutons pour les commandes avec choix. Les choix dynamiques sont résolus par rapport au modèle de session cible, donc les options spécifiques au modèle comme les niveaux /think suivent la substitution de /model de la session.

/tools — ce que l’agent peut utiliser maintenant

Section intitulée « /tools — ce que l’agent peut utiliser maintenant »

/tools répond à une question d’exécution : ce que cet agent peut utiliser right now in this conversation — pas un catalogue de configuration statique.

/tools # compact view
/tools verbose # with short descriptions

Les résultats sont limités à la session. Changer l’agent, le channel, le fil, l’autorisation de l’expéditeur ou le modèle peut modifier la sortie. Pour l’édition du profil et des substitutions, utilisez le panneau Outils de l’interface de contrôle ou les surfaces de configuration.

/model # show model picker
/model list # same
/model 3 # select by number from picker
/model openai/gpt-5.4
/model opus@anthropic:default
/model status # detailed view with endpoint and API mode

Sur Discord, /model et /models ouvrent un sélecteur interactif avec des menus déroulants pour le fournisseur et le modèle. Le sélecteur respecte agents.defaults.models, y compris les entrées provider/*.

/config — écritures de configuration sur disque

Section intitulée « /config — écritures de configuration sur disque »

/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix

La configuration est validée avant l’écriture. Les modifications non valides sont rejetées. Les mises à jour /config persistent après les redémarrages.

/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7

/mcp stocke la configuration dans la configuration OpenClaw, et non dans les paramètres du projet embedded-agent.

/debug — substitutions uniquement à l’exécution

Section intitulée « /debug — substitutions uniquement à l’exécution »

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin

/plugins enable|disable met à jour la configuration du plugin et recharge à chaud le runtime du plugin Gateway pour les nouveaux tours de l’agent. /plugins install redémarre automatiquement les Gateways gérés car les modules source des plugins ont changé.

/trace # show current trace state
/trace on
/trace off

/trace révèle les lignes de trace/débogage du plugin limitées à la session sans activer le mode verbeux complet. Cela ne remplace pas /debug (substitutions à l’exécution) ni /verbose (sortie d’outil normale).

/btw est une question secondaire rapide sur le contexte de la session actuelle. Alias : /side.

/btw what are we doing right now?
/side what changed while the main run continued?

Contrairement à un message normal :

  • Utilise la session actuelle comme contexte d’arrière-plan.
  • Dans les sessions de harnais Codex, s’exécute en tant que fil secondaire éphémère Codex.
  • Ne modifie pas le contexte de la session future.
  • N’est pas écrit dans l’historique de la transcription.

Voir Questions secondaires BTW pour le comportement complet.

Portée de la session par surface
  • Commandes texte : exécutées dans la session de chat normale (les DMs partagent mainDiscord, les groupes ont leur propre session).
  • Commandes natives Discord : `agent:

:discord:slash:

Slack - **Commandes natives Slack :** agent:

:slack:slash:

(préfixe configurable viachannels.slack.slashCommand.sessionPrefixTelegram) - **Commandes natives Telegram :** telegram:slash:

(cible la session de chat viaCommandTargetSessionKey) - **/stop`** cible la session de chat active pour abandonner l’exécution en cours.

SlackSpécificités Slack

channels.slack.slashCommand prend en charge une seule commande de style /openclaw. Avec commands.native: trueSlack, créez une commande slash Slack par commande intégrée. Enregistrez /agentstatus (et non /statusSlack) car Slack réserve /status. Le texte /statusSlack fonctionne toujours dans les messages Slack.

Raccourcis de chemin rapide et en ligne
  • Les messages contenant uniquement des commandes provenant d’expéditeurs autorisés sont traités immédiatement (contournent la file + le modèle).
  • Les raccourcis en ligne (/help, /commands, /status, /whoami) fonctionnent également intégrés dans les messages normaux et sont supprimés avant que le modèle ne voie le texte restant.
  • Les messages contenant uniquement des commandes non autorisées sont ignorés silencieusement ; les jetons /... en ligne sont traités comme du texte brut.
Notes sur les arguments
  • Les commandes acceptent un : facultatif entre la commande et les arguments (/think: high, /send: on).
  • `/new

accepte un alias de modèle,provider/model, ou un nom de fournisseur (correspondance approximative) ; en l'absence de correspondance, le texte est traité comme le corps du message. - /allowlist add|removenécessitecommands.config: trueet respecte leconfigWrites` du canal.

  • Utilisation/quota du fournisseur (par exemple, « Claude 80 % restant ») s’affiche dans /status pour le fournisseur de modèle actuel lorsque le suivi de l’utilisation est activé.
  • Lignes de jetons/cache dans /status peuvent revenir à la dernière entrée d’utilisation de la transcription lorsque l’instantané de la session en direct est clairsemé.
  • Exécution vs runtime : /status signale Execution pour le chemin effectif du bac à sable et Runtime pour celui qui exécute la session : OpenClaw Default, OpenAI Codex, un backend CLI, ou un backend ACP.
  • Jetons/coût par réponse : contrôlés par /usage off|tokens|full.
  • /model status concerne les modèles/auth/points de terminaison, pas l’utilisation.
Skills

Comment les commandes slash de compétences sont enregistrées et contrôlées.

Créer des compétences

Construire une compétence qui enregistre sa propre commande slash.

BTW

Questions annexes sans changer le contexte de la session.

Diriger

Guidez l’agent en cours d’exécution avec /steer.