Skip to main content
Il Gateway gestisce i comandi inviati come messaggi autonomi che iniziano con /. I comandi bash solo per l’host usano ! <cmd> (con /bash <cmd> come alias). Quando una conversazione è associata a una sessione ACP, il testo normale viene inoltrato all’harness ACP. I comandi di gestione del Gateway rimangono locali: /acp ... raggiunge sempre il gestore dei comandi di OpenClaw, mentre /status e /unfocus rimangono locali ogni volta che la gestione dei comandi è abilitata per l’interfaccia.

Tre tipi di comando

Comandi

Messaggi autonomi /... gestiti dal Gateway. Devono essere inviati come unico contenuto del messaggio.

Direttive

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — vengono rimossi dal messaggio prima che il modello lo visualizzi. Mantengono le impostazioni della sessione quando vengono inviati da soli; fungono da suggerimenti inline quando vengono inviati insieme ad altro testo.

Scorciatoie inline

/help, /commands, /status, /whoami — vengono eseguiti immediatamente e rimossi prima che il modello visualizzi il testo rimanente. Solo per mittenti autorizzati.
  • Le direttive vengono rimosse dal messaggio prima che il modello lo visualizzi.
  • Nei messaggi contenenti solo direttive (il messaggio contiene esclusivamente direttive), queste vengono mantenute nella sessione e ricevono una risposta di conferma.
  • Nei messaggi di chat normale contenenti altro testo, fungono da suggerimenti inline e non mantengono le impostazioni della sessione.
  • Le direttive si applicano solo ai mittenti autorizzati. Se commands.allowFrom è impostato, costituisce l’unico elenco consentiti utilizzato; altrimenti l’autorizzazione deriva dagli elenchi consentiti/associazioni del canale e da commands.useAccessGroups. Per i mittenti non autorizzati, le direttive vengono trattate come testo normale.

Configurazione

boolean
predefinito:"true"
Abilita l’analisi di /... nei messaggi di chat. Nelle interfacce prive di comandi nativi (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), i comandi testuali funzionano anche quando l’opzione è impostata su false.
boolean | "auto"
predefinito:"\"auto\""
Registra i comandi nativi. Modalità automatica: attiva per Discord/Telegram; disattiva per Slack; ignorata per i provider privi di supporto nativo. È possibile sovrascriverla per ciascun canale con channels.<provider>.commands.native. Su Discord, false evita la registrazione dei comandi slash; i comandi registrati in precedenza possono rimanere visibili fino alla loro rimozione.
boolean | "auto"
predefinito:"\"auto\""
Registra in modo nativo i comandi delle Skills quando supportati. Modalità automatica: attiva per Discord/Telegram; disattiva per Slack. È possibile sovrascriverla con channels.<provider>.commands.nativeSkills.
boolean
predefinito:"false"
Abilita ! <cmd> per eseguire comandi della shell dell’host (alias /bash <cmd>). Richiede gli elenchi consentiti tools.elevated.
number
predefinito:"2000"
Durata dell’attesa di bash prima del passaggio alla modalità in background (0 passa immediatamente in background).
boolean
predefinito:"false"
Abilita /config (legge/scrive openclaw.json). Solo per il proprietario.
boolean
predefinito:"false"
Abilita /mcp (legge/scrive la configurazione MCP gestita da OpenClaw in mcp.servers). Solo per il proprietario.
boolean
predefinito:"false"
Abilita /plugins (rilevamento/stato dei plugin, oltre a installazione e attivazione/disattivazione). Le operazioni di scrittura sono riservate al proprietario.
boolean
predefinito:"false"
Abilita /debug (sostituzioni della configurazione valide solo durante l’esecuzione). Solo per il proprietario.
boolean
predefinito:"true"
Abilita /restart e le richieste di riavvio esterne SIGUSR1.
string[]
Elenco consentiti esplicito del proprietario per le interfacce di comando riservate al proprietario. Separato da commands.allowFrom e dall’accesso tramite associazione dei messaggi diretti.
boolean
predefinito:"false"
Per canale: richiede l’identità del proprietario per i comandi riservati al proprietario. Quando true, il mittente deve corrispondere a commands.ownerAllowFrom o disporre dell’ambito interno operator.admin. Una voce jolly allowFrom non è sufficiente.
"raw" | "hash"
Controlla il modo in cui gli ID del proprietario vengono visualizzati nel prompt di sistema.
string
Segreto HMAC utilizzato quando commands.ownerDisplay: "hash".
object
Elenco consentiti per provider per l’autorizzazione dei comandi. Quando è configurato, costituisce l’unica fonte di autorizzazione per comandi e direttive. Utilizzare "*" come valore predefinito globale; le chiavi specifiche dei provider lo sovrascrivono.
boolean
predefinito:"true"
Applica gli elenchi consentiti/le policy ai comandi quando commands.allowFrom non è impostato.

Elenco dei comandi

I comandi provengono da tre fonti:
  • Comandi integrati principali: src/auto-reply/commands-registry.shared.ts
  • Comandi dock generati: src/auto-reply/commands-registry.data.ts
  • Comandi dei plugin: chiamate registerCommand() dei plugin
La disponibilità dipende dai flag di configurazione, dall’interfaccia del canale e dai plugin installati/abilitati.

Comandi principali

I percorsi /export-session espliciti sostituiscono i file esistenti all’interno dell’area di lavoro. Omettere il percorso per generare un nome file che eviti le collisioni.
Control UI intercetta /new quando viene digitato per creare e passare a una nuova sessione del pannello di controllo, tranne quando session.dmScope: "main" è configurato e il genitore corrente è la sessione principale dell’agente: in tal caso /new reimposta sul posto la sessione principale. /reset digitato continua a eseguire la reimpostazione sul posto del Gateway. Utilizzare /model default per cancellare la selezione fissata del modello della sessione.
  • /verbose è destinato al debug: mantenerlo disattivato durante l’uso normale.
  • /trace mostra solo le righe di traccia/debug appartenenti ai plugin; il normale output dettagliato rimane disattivato.
  • /fast auto|on|off mantiene una sostituzione della sessione; utilizzare l’opzione inherit dell’interfaccia Sessioni per cancellarla.
  • /fast è specifico del provider: OpenAI/Codex lo mappano a service_tier=priority; le richieste Anthropic dirette lo mappano a service_tier=auto o standard_only.
  • /reasoning, /verbose e /trace comportano rischi nei contesti di gruppo: potrebbero rivelare ragionamenti interni o diagnostica dei plugin. Mantenerli disattivati nelle chat di gruppo.
  • /model mantiene immediatamente il nuovo modello nella sessione.
  • Se l’agente è inattivo, l’esecuzione successiva lo utilizza immediatamente.
  • Se un’esecuzione è attiva, il cambio viene contrassegnato come in sospeso e applicato al successivo punto di nuovo tentativo pulito.

Comandi di aggancio

I comandi di aggancio spostano il percorso di risposta della sessione attiva su un altro canale collegato. Per la configurazione e la risoluzione dei problemi, consultare Aggancio dei canali. Generati dai plugin dei canali con supporto per i comandi nativi:
  • /dock-discord (alias: /dock_discord)
  • /dock-mattermost (alias: /dock_mattermost)
  • /dock-slack (alias: /dock_slack)
  • /dock-telegram (alias: /dock_telegram)
I comandi di aggancio richiedono session.identityLinks. Il mittente di origine e il peer di destinazione devono appartenere allo stesso gruppo di identità.

Comandi dei plugin inclusi

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

Comandi delle skill

Le skill richiamabili dagli utenti sono esposte come comandi slash:
  • /skill <name> [input] funziona sempre come punto di ingresso generico.
  • Le Skills possono registrarsi come comandi diretti (ad esempio /prose per OpenProse).
  • La registrazione dei comandi nativi delle skill è controllata da commands.nativeSkills e channels.<provider>.commands.nativeSkills.
  • I nomi vengono normalizzati in a-z0-9_ (massimo 32 caratteri); in caso di collisione vengono aggiunti suffissi numerici.
Per impostazione predefinita, i comandi delle skill vengono inoltrati al modello come una normale richiesta.Le Skills possono dichiarare command-dispatch: tool per inoltrare direttamente a uno strumento (in modo deterministico, senza coinvolgere il modello). Esempio: /prose (plugin OpenProse) — consultare OpenProse.
Discord utilizza il completamento automatico per le opzioni dinamiche e i menu a pulsanti quando vengono omessi gli argomenti obbligatori. Telegram e Slack mostrano un menu a pulsanti per i comandi con opzioni. Le opzioni dinamiche vengono risolte rispetto al modello della sessione di destinazione, quindi le opzioni specifiche del modello, come i livelli /think, seguono la sostituzione /model della sessione.

/tools: ciò che l’agente può utilizzare ora

/tools risponde a una domanda sul runtime: ciò che questo agente può utilizzare in questo momento in questa conversazione, non un catalogo statico della configurazione.
I risultati sono circoscritti alla sessione. La modifica dell’agente, del canale, del thread, dell’autorizzazione del mittente o del modello può modificare l’output. Per modificare i profili e le sostituzioni, utilizzare il pannello Strumenti della Control UI o le superfici di configurazione.

/model: selezione del modello

Su Discord, /model e /models aprono un selettore interattivo con menu a discesa per provider e modello. Il selettore rispetta agents.defaults.models, incluse le voci provider/*.

/config: scritture della configurazione su disco

Solo proprietario. Disabilitato per impostazione predefinita; abilitarlo con commands.config: true.
La configurazione viene convalidata prima della scrittura. Le modifiche non valide vengono rifiutate. Gli aggiornamenti di /config persistono dopo i riavvii.

/mcp: configurazione dei server MCP

Solo proprietario. Disabilitato per impostazione predefinita; abilitarlo con commands.mcp: true.
/mcp memorizza la configurazione nella configurazione di OpenClaw, non nelle impostazioni del progetto dell’agente incorporato. /mcp show oscura i campi contenenti credenziali, i valori dei flag riconosciuti relativi alle credenziali e gli argomenti noti con formato simile a un segreto. Quando viene eseguito da un gruppo, la configurazione viene inviata privatamente al proprietario; se non è disponibile alcun percorso privato verso il proprietario, il comando termina in modo sicuro e chiede al proprietario di riprovare da una chat diretta.

/debug: sostituzioni solo per il runtime

Solo proprietario. Disabilitato per impostazione predefinita; abilitarlo con commands.debug: true. Le sostituzioni si applicano immediatamente alle nuove letture della configurazione, ma non scrivono su disco.

/plugins: gestione dei plugin

Le scritture sono riservate al proprietario. Disabilitato per impostazione predefinita; abilitarlo con commands.plugins: true.
/plugins enable|disable aggiorna la configurazione dei plugin e ricarica a caldo il runtime dei plugin del Gateway per i nuovi turni dell’agente. /plugins install riavvia automaticamente i Gateway gestiti perché i moduli sorgente dei plugin sono cambiati. Le installazioni attendibili da ClawHub e dal catalogo ufficiale non richiedono conferme aggiuntive. Le origini arbitrarie npm, git, archivio, npm-pack: e percorso locale mostrano un avviso sulla provenienza e richiedono un --force finale dopo la verifica dell’origine. Questo flag conferma l’origine e consente di sostituire un’installazione esistente; non aggira security.installPolicy né i controlli di sicurezza del programma di installazione. Le versioni di ClawHub con avvisi di rischio richiedono comunque il flag separato, disponibile solo nella shell, --acknowledge-clawhub-risk. Anche le installazioni da marketplace, collegate e bloccate a una versione rimangono disponibili solo nella shell.

/trace: output di tracciamento dei plugin

/trace mostra le righe di tracciamento/debug dei plugin circoscritte alla sessione senza attivare la modalità completamente dettagliata. Non sostituisce /debug (sostituzioni del runtime) né /verbose (normale output degli strumenti).

/btw: domande secondarie

/btw è una domanda secondaria rapida sul contesto della sessione corrente. Alias: /side.
A differenza di un normale messaggio:
  • Utilizza la sessione corrente come contesto di riferimento.
  • Nelle sessioni dell’harness Codex, viene eseguita come thread secondario temporaneo di Codex.
  • Non modifica il contesto futuro della sessione.
  • Non viene scritta nella cronologia della trascrizione.
Per il comportamento completo, consultare Domande secondarie BTW.

Note sulle superfici

  • Comandi di testo: vengono eseguiti nella normale sessione di chat (i messaggi diretti condividono main, i gruppi hanno una sessione propria).
  • Comandi nativi di Discord: agent:<agentId>:discord:slash:<userId>
  • Comandi nativi di Slack: agent:<agentId>:slack:slash:<userId> (prefisso configurabile tramite channels.slack.slashCommand.sessionPrefix)
  • Comandi nativi di Telegram: telegram:slash:<userId> (ha come destinazione la sessione di chat tramite CommandTargetSessionKey)
  • /login codex invia i codici di associazione dei dispositivi esclusivamente tramite chat privata o percorsi di risposta della Web UI. Le invocazioni da gruppi/argomenti Telegram chiedono invece al proprietario di inviare un messaggio diretto al bot.
  • /stop ha come destinazione la sessione di chat attiva per interrompere l’esecuzione corrente.
channels.slack.slashCommand supporta un singolo comando in stile /openclaw. Con commands.native: true, creare un comando slash di Slack per ogni comando integrato. Registrare /agentstatus (non /status) perché Slack riserva /status. Il testo /status continua a funzionare nei messaggi di Slack.
  • I messaggi contenenti solo comandi provenienti da mittenti inclusi nell’elenco consentito vengono gestiti immediatamente (ignorando coda + modello).
  • Le scorciatoie inline (/help, /commands, /status, /whoami) funzionano anche se incorporate nei messaggi normali e vengono rimosse prima che il modello veda il testo rimanente.
  • I messaggi non autorizzati contenenti solo comandi vengono ignorati senza alcuna notifica; i token inline /... vengono trattati come testo normale.
  • I comandi accettano un : facoltativo tra il comando e gli argomenti (/think: high, /send: on).
  • /new <model> accetta un alias del modello, provider/model o il nome di un provider (corrispondenza approssimativa); se non viene trovata alcuna corrispondenza, il testo viene trattato come corpo del messaggio.
  • /allowlist add|remove richiede commands.config: true e rispetta il valore configWrites del canale.

Utilizzo e stato del provider

  • Utilizzo/quota del provider (ad es. “Claude: 80% rimanente”) viene visualizzato in /status per il provider del modello corrente quando il monitoraggio dell’utilizzo è abilitato.
  • Le righe relative a token/cache in /status possono ricorrere alla voce di utilizzo più recente della trascrizione quando l’istantanea della sessione attiva contiene pochi dati.
  • Esecuzione e runtime: /status indica Execution per il percorso effettivo della sandbox e Runtime per indicare chi esegue la sessione: OpenClaw Default, OpenAI Codex, un backend CLI o un backend ACP.
  • Token/costo per risposta: controllati da /usage off|tokens|full.
  • /model status riguarda modelli/autenticazione/endpoint, non l’utilizzo.

Correlati

Skills

Modalità di registrazione e autorizzazione dei comandi slash delle skill.

Creazione di skill

Creare una skill che registri il proprio comando slash.

BTW

Domande secondarie senza modificare il contesto della sessione.

Indirizzamento

Guidare l’agente durante l’esecuzione con /steer.