Vai al contenuto principale
Il Gateway gestisce i comandi inviati come messaggi autonomi che iniziano con /. I comandi bash solo host usano ! <cmd> (con /bash <cmd> come alias). Quando una conversazione è associata a una sessione ACP, il testo normale viene instradato all’harness ACP. I comandi di gestione del Gateway restano locali: /acp ... raggiunge sempre il gestore comandi di OpenClaw, e /status più /unfocus restano locali ogni volta che la gestione dei comandi è abilitata per la superficie.

Tre tipi di comandi

Comandi

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

Direttive

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — rimosse dal messaggio prima che il modello lo veda. Mantengono le impostazioni della sessione quando inviate da sole; agiscono come suggerimenti inline quando inviate con altro testo.

Scorciatoie inline

/help, /commands, /status, /whoami — vengono eseguite immediatamente e sono rimosse prima che il modello veda il testo rimanente. Solo mittenti autorizzati.
  • Le direttive vengono rimosse dal messaggio prima che il modello lo veda.
  • Nei messaggi solo direttive (il messaggio contiene solo direttive), vengono mantenute nella sessione e rispondono con una conferma.
  • Nei messaggi di chat normale con altro testo, agiscono come suggerimenti inline e non mantengono le impostazioni della sessione.
  • Le direttive si applicano solo ai mittenti autorizzati. Se commands.allowFrom è impostato, è l’unica allowlist usata; altrimenti l’autorizzazione proviene dalle allowlist/associazione del canale più commands.useAccessGroups. I mittenti non autorizzati vedono le direttive trattate come testo semplice.

Configurazione

{
  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,
  },
}
commands.text
boolean
predefinito:"true"
Abilita l’analisi di /... nei messaggi di chat. Sulle superfici senza comandi nativi (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), i comandi testuali funzionano anche quando è impostato su false.
commands.native
boolean | "auto"
predefinito:"\"auto\""
Registra i comandi nativi. Auto: attivo per Discord/Telegram; disattivo per Slack; ignorato per i provider senza supporto nativo. Override per canale con channels.<provider>.commands.native. Su Discord, false salta la registrazione degli slash command; i comandi registrati in precedenza possono restare visibili finché non vengono rimossi.
commands.nativeSkills
boolean | "auto"
predefinito:"\"auto\""
Registra nativamente i comandi Skills quando supportati. Auto: attivo per Discord/Telegram; disattivo per Slack. Override con channels.<provider>.commands.nativeSkills.
commands.bash
boolean
predefinito:"false"
Abilita ! <cmd> per eseguire comandi shell host (alias /bash <cmd>). Richiede le allowlist tools.elevated.
commands.bashForegroundMs
number
predefinito:"2000"
Per quanto tempo bash attende prima di passare alla modalità in background (0 manda in background immediatamente).
commands.config
boolean
predefinito:"false"
Abilita /config (legge/scrive openclaw.json). Solo owner.
commands.mcp
boolean
predefinito:"false"
Abilita /mcp (legge/scrive la configurazione MCP gestita da OpenClaw sotto mcp.servers). Solo owner.
commands.plugins
boolean
predefinito:"false"
Abilita /plugins (rilevamento/stato Plugin più installazione + abilitazione/disabilitazione). Solo owner per le scritture.
commands.debug
boolean
predefinito:"false"
Abilita /debug (override di configurazione solo runtime). Solo owner.
commands.restart
boolean
predefinito:"true"
Abilita /restart e le azioni strumento di riavvio del Gateway.
commands.ownerAllowFrom
string[]
Allowlist esplicita degli owner per le superfici di comando solo owner. Separata da commands.allowFrom e dall’accesso tramite associazione DM.
channels.<channel>.commands.enforceOwnerForCommands
boolean
predefinito:"false"
Per canale: richiede l’identità owner per i comandi solo owner. Quando true, il mittente deve corrispondere a commands.ownerAllowFrom o avere lo scope interno operator.admin. Una voce jolly allowFrom non è sufficiente.
commands.ownerDisplay
"raw" | "hash"
Controlla come gli id owner appaiono nel prompt di sistema.
commands.ownerDisplaySecret
string
Segreto HMAC usato quando commands.ownerDisplay: "hash".
commands.allowFrom
object
Allowlist per provider per l’autorizzazione dei comandi. Quando configurata, è l’unica fonte di autorizzazione per comandi e direttive. Usa "*" per un default globale; le chiavi specifiche del provider lo sovrascrivono.
commands.useAccessGroups
boolean
predefinito:"true"
Applica allowlist/policy per i comandi quando commands.allowFrom non è impostato.

Elenco dei comandi

I comandi provengono da tre fonti:
  • Integrati core: src/auto-reply/commands-registry.shared.ts
  • Comandi dock generati: src/auto-reply/commands-registry.data.ts
  • Comandi Plugin: chiamate registerCommand() del plugin
La disponibilità dipende dai flag di configurazione, dalla superficie del canale e dai plugin installati/abilitati.

Comandi core

ComandoDescrizione
/new [model]Archivia la sessione corrente e ne avvia una nuova
/reset [soft [message]]Reimposta la sessione corrente sul posto. soft mantiene la trascrizione, elimina gli id di sessione backend CLI riutilizzati ed esegue di nuovo l’avvio
/name <title>Assegna un nome o rinomina la sessione corrente. Ometti il titolo per vedere il nome corrente e un suggerimento
/compact [instructions]Compatta il contesto della sessione. Vedi Compaction
/stopInterrompe l’esecuzione corrente
/session idle <duration|off>Gestisce la scadenza di inattività dell’associazione al thread
/session max-age <duration|off>Gestisce la scadenza di età massima dell’associazione al thread
/export-session [path]Esporta la sessione corrente in HTML. Alias: /export
/export-trajectory [path]Esporta un bundle di traiettoria JSONL per la sessione corrente. Alias: /trajectory
Control UI intercetta /new digitato per creare e passare a una nuova sessione dashboard, tranne quando session.dmScope: "main" è configurato e il parent corrente è la sessione principale dell’agente — in quel caso /new reimposta la sessione principale sul posto. /reset digitato esegue comunque il reset sul posto del Gateway. Usa /model default quando vuoi cancellare una selezione di modello sessione fissata.
ComandoDescrizione
/think <level|default>Imposta il livello di pensiero o cancella l’override della sessione. Alias: /thinking, /t
/verbose on|off|fullAttiva/disattiva l’output dettagliato. Alias: /v
/trace on|offAttiva/disattiva l’output di trace Plugin per la sessione corrente
/fast [status|auto|on|off|default]Mostra, imposta o cancella la modalità veloce
/reasoning [on|off|stream]Attiva/disattiva la visibilità del ragionamento. Alias: /reason
/elevated [on|off|ask|full]Attiva/disattiva la modalità elevata. Alias: /elev
/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>Mostra o imposta i default exec
/login [codex|openai|openai-codex]Associa il login Codex/OpenAI da una chat privata o una sessione Web UI. Solo owner/admin
/model [name|#|status]Mostra o imposta il modello
/models [provider] [page] [limit=<n>|all]Elenca provider o modelli configurati/autenticati disponibili
/queue <mode>Gestisce il comportamento della coda dell’esecuzione attiva. Vedi Coda e Controllo della coda
/steer <message>Inietta indicazioni nell’esecuzione attiva. Alias: /tell. Vedi Steer
  • /verbose serve per il debug — tienilo disattivato nell’uso normale.
  • /trace rivela solo righe di trace/debug di proprietà del Plugin; il normale chiacchiericcio dettagliato resta disattivato.
  • /fast auto|on|off mantiene un override di sessione; usa l’opzione inherit della UI Sessioni per cancellarlo.
  • /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 sono rischiosi in contesti di gruppo — possono rivelare ragionamento interno o diagnostica Plugin. Tienili disattivati nelle chat di gruppo.
  • /model mantiene immediatamente il nuovo modello nella sessione.
  • Se l’agente è inattivo, la prossima esecuzione lo usa subito.
  • Se un’esecuzione è attiva, il cambio è marcato come in sospeso e applicato al prossimo punto di retry pulito.
ComandoDescrizione
/helpMostra il breve riepilogo di aiuto
/commandsMostra il catalogo comandi generato
/tools [compact|verbose]Mostra cosa può usare l’agente corrente in questo momento
/statusMostra stato di esecuzione/runtime, uptime di Gateway e sistema, salute Plugin, più utilizzo/quota provider
/status pluginsMostra la salute dettagliata dei Plugin: errori di caricamento, quarantene, guasti dei canali, problemi di dipendenze, avvisi di compatibilità
/goal [status|start|pause|resume|complete|block|clear] ...Gestisce il goal durevole della sessione corrente
/diagnostics [note]Flusso di report di supporto solo owner. Chiede ogni volta l’approvazione exec
/crestodian <request>Esegue l’helper di configurazione e riparazione Crestodian da un DM owner
/tasksElenca le attività in background attive/recenti per la sessione corrente
/context [list|detail|map|json]Spiega come viene assemblato il contesto
/whoamiMostra il tuo id mittente. Alias: /id
/usage off|tokens|full|reset|costControlla il piè di pagina di utilizzo per risposta (reset/inherit/clear/default cancella l’override di sessione per ereditare di nuovo il default configurato) o stampa un riepilogo locale dei costi
ComandoDescrizione
/skill <name> [input]Esegue una skill per nome
/allowlist [list|add|remove] ...Gestisce le voci allowlist. Solo testo
/approve <id> <decision>Risolve prompt di approvazione exec o Plugin
/btw <question>Pone una domanda laterale senza modificare il contesto della sessione. Alias: /side. Vedi BTW
ComandoDescrizione
/subagents list|log|infoIspeziona le esecuzioni dei sub-agenti per la sessione corrente
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpGestisci le sessioni ACP e le opzioni di runtime. I controlli di runtime richiedono un proprietario esterno o un’identità amministratore Gateway interna
/focus <target>Associa il thread Discord corrente o l’argomento Telegram a un target di sessione
/unfocusRimuovi l’associazione del thread corrente
/agentsElenca gli agenti associati al thread per la sessione corrente
ComandoRichiedeDescrizione
/config show|get|set|unsetcommands.config: trueLeggi o scrivi openclaw.json. Solo proprietario
/mcp show|get|set|unsetcommands.mcp: trueLeggi o scrivi la configurazione del server MCP gestito da OpenClaw. Solo proprietario
/plugins list|inspect|show|get|install|enable|disablecommands.plugins: trueIspeziona o modifica lo stato dei Plugin. Solo proprietario per le scritture. Alias: /plugin
/debug show|set|unset|resetcommands.debug: trueOverride della configurazione solo a runtime. Solo proprietario
/restartcommands.restart: true (predefinito)Riavvia OpenClaw
/send on|off|inheritproprietarioImposta la policy di invio
ComandoDescrizione
/tts on|off|status|chat|latest|provider|limit|summary|audio|helpControlla TTS. Vedi TTS
/activation mention|alwaysImposta la modalità di attivazione del gruppo
/bash <command>Esegui un comando shell host. Alias: ! <command>. Richiede commands.bash: true
!poll [sessionId]Controlla un job bash in background
!stop [sessionId]Arresta un job bash in background

Comandi Dock

I comandi Dock spostano la route di risposta della sessione attiva su un altro canale collegato. Vedi Channel docking per configurazione e risoluzione dei problemi. Generati dai Plugin di canale con supporto per comandi nativi:
  • /dock-discord (alias: /dock_discord)
  • /dock-mattermost (alias: /dock_mattermost)
  • /dock-slack (alias: /dock_slack)
  • /dock-telegram (alias: /dock_telegram)
I comandi Dock richiedono session.identityLinks. Il mittente di origine e il peer di destinazione devono trovarsi nello stesso gruppo di identità.

Comandi Plugin inclusi

ComandoDescrizione
/dreaming [on|off|status|help]Attiva o disattiva il Dreaming della memoria (proprietario o amministratore Gateway). Vedi Dreaming
/pair [qr|status|pending|approve|cleanup|notify]Gestisci l’associazione del dispositivo. Vedi Associazione
/phone status|arm ...|disarmAbilita temporaneamente i comandi del nodo telefono ad alto rischio
/voice status|list|set <voiceId>Gestisci la configurazione della voce Talk. Nome nativo Discord: /talkvoice
/card ...Invia preset di schede ricche LINE. Vedi LINE
/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skillsControlla l’harness app-server Codex. Vedi Harness Codex
Solo QQBot: /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Comandi Skill

Le Skills richiamabili dall’utente sono esposte come comandi slash:
  • /skill <name> [input] funziona sempre come entrypoint generico.
  • Le Skills possono registrarsi come comandi diretti (ad esempio /prose per OpenProse).
  • La registrazione dei comandi Skill nativi è controllata da commands.nativeSkills e channels.<provider>.commands.nativeSkills.
  • I nomi vengono normalizzati in a-z0-9_ (max 32 caratteri); le collisioni ricevono suffissi numerici.
Per impostazione predefinita, i comandi Skill vengono instradati al modello come una normale richiesta.Le Skills possono dichiarare command-dispatch: tool per instradare direttamente a uno strumento (deterministico, senza coinvolgimento del modello). Esempio: /prose (Plugin OpenProse) — vedi OpenProse.
Discord usa il completamento automatico per opzioni dinamiche e menu a pulsanti quando gli argomenti obbligatori sono omessi. Telegram e Slack mostrano un menu a pulsanti per i comandi con scelte. Le scelte dinamiche vengono risolte rispetto al modello della sessione di destinazione, quindi le opzioni specifiche del modello come i livelli di /think seguono l’override /model della sessione.

/tools — cosa può usare l’agente ora

/tools risponde a una domanda di runtime: cosa può usare questo agente in questo momento in questa conversazione — non un catalogo statico della configurazione.
/tools         # compact view
/tools verbose # with short descriptions
I risultati hanno ambito di sessione. Cambiare agente, canale, thread, autorizzazione del mittente o modello può modificare l’output. Per modificare profili e override, usa il pannello Tools della Control UI o le superfici di configurazione.

/model — selezione del modello

/model             # show model picker
/model list        # same
/model 3           # select by number from picker
/model openai/gpt-5.4
/model opus@anthropic:default
/model default     # clear the session model selection
/model status      # detailed view with endpoint and API mode
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 — abilita con commands.config: true.
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
La configurazione viene validata prima della scrittura. Le modifiche non valide vengono rifiutate. Gli aggiornamenti di /config persistono dopo i riavvii.

/mcp — configurazione server MCP

Solo proprietario. Disabilitato per impostazione predefinita — abilita con commands.mcp: true.
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
/mcp archivia la configurazione nella configurazione OpenClaw, non nelle impostazioni di progetto dell’agente incorporato.

/debug — override solo a runtime

Solo proprietario. Disabilitato per impostazione predefinita — abilita con commands.debug: true. Gli override si applicano immediatamente alle nuove letture della configurazione ma non scrivono su disco.
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins — gestione dei Plugin

Solo proprietario per le scritture. Disabilitato per impostazione predefinita — abilita con commands.plugins: true.
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin
/plugins enable|disable aggiorna la configurazione dei Plugin e ricarica a caldo il runtime Plugin del Gateway per i nuovi turni dell’agente. /plugins install riavvia automaticamente i Gateway gestiti perché i moduli sorgente del Plugin sono cambiati.

/trace — output trace dei Plugin

/trace          # show current trace state
/trace on
/trace off
/trace mostra le righe trace/debug dei Plugin con ambito di sessione senza la modalità verbose completa. Non sostituisce /debug (override di runtime) né /verbose (normale output degli strumenti).

/btw — domande laterali

/btw è una domanda laterale rapida sul contesto della sessione corrente. Alias: /side.
/btw what are we doing right now?
/side what changed while the main run continued?
A differenza di un messaggio normale:
  • Usa la sessione corrente come contesto di sfondo.
  • Nelle sessioni dell’harness Codex, viene eseguito come thread laterale Codex effimero.
  • Non modifica il contesto futuro della sessione.
  • Non viene scritto nella cronologia della trascrizione.
Vedi Domande laterali BTW per il comportamento completo.

Note sulla superficie

  • Comandi testuali: vengono eseguiti nella normale sessione chat (i DM condividono main, i gruppi hanno la propria sessione).
  • Comandi Discord nativi: agent:<agentId>:discord:slash:<userId>
  • Comandi Slack nativi: agent:<agentId>:slack:slash:<userId> (prefisso configurabile tramite channels.slack.slashCommand.sessionPrefix)
  • Comandi Telegram nativi: telegram:slash:<userId> (punta alla sessione chat tramite CommandTargetSessionKey)
  • /login codex invia codici di associazione del dispositivo solo tramite chat privata o percorsi di risposta Web UI. Le invocazioni da gruppi/argomenti Telegram chiedono invece al proprietario di inviare un DM al bot.
  • /stop punta alla sessione chat attiva per interrompere l’esecuzione corrente.
channels.slack.slashCommand supporta un singolo comando in stile /openclaw. Con commands.native: true, crea un comando slash Slack per ogni comando integrato. Registra /agentstatus (non /status) perché Slack riserva /status. Il testo /status funziona comunque nei messaggi Slack.
  • I messaggi contenenti solo comandi da mittenti allowlist vengono gestiti immediatamente (bypass della coda + modello).
  • Anche le scorciatoie inline (/help, /commands, /status, /whoami) funzionano incorporate nei messaggi normali e vengono rimosse prima che il modello veda il testo rimanente.
  • I messaggi contenenti solo comandi da mittenti non autorizzati vengono ignorati silenziosamente; i token inline /... sono trattati come testo semplice.
  • I comandi accettano un : facoltativo tra comando e argomenti (/think: high, /send: on).
  • /new <model> accetta un alias di modello, provider/model o un nome provider (corrispondenza fuzzy); se non c’è corrispondenza, il testo viene trattato come corpo del messaggio.
  • /allowlist add|remove richiede commands.config: true e rispetta configWrites del canale.

Uso e stato del provider

  • Uso/quota del provider (ad esempio, “Claude 80% left”) appare in /status per il provider del modello corrente quando il tracciamento dell’uso è abilitato.
  • Righe token/cache in /status possono ricadere sull’ultima voce di uso della trascrizione quando lo snapshot live della sessione è scarno.
  • Esecuzione vs runtime: /status riporta Execution per il percorso sandbox effettivo e Runtime per chi sta eseguendo la sessione: OpenClaw Default, OpenAI Codex, un backend CLI o un backend ACP.
  • Token/costo per risposta: controllato da /usage off|tokens|full.
  • /model status riguarda modelli/autenticazione/endpoint, non l’uso.

Correlati

Skills

Come vengono registrati e controllati i comandi slash delle Skills.

Creazione di Skills

Crea una Skill che registra il proprio comando slash.

BTW

Domande laterali senza modificare il contesto della sessione.

Steer

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