Skills

Comandi slash

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

Dettagli del comportamento delle direttive
  • 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

json5
{  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.textbooleandefault: 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.nativeboolean | "auto"default: "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.nativeSkillsboolean | "auto"default: "auto"

Registra nativamente i comandi Skills quando supportati. Auto: attivo per Discord/Telegram; disattivo per Slack. Override con channels.<provider>.commands.nativeSkills.

commands.bashbooleandefault: false

Abilita ! <cmd> per eseguire comandi shell host (alias /bash <cmd>). Richiede le allowlist tools.elevated.

commands.bashForegroundMsnumberdefault: 2000

Per quanto tempo bash attende prima di passare alla modalità in background (0 manda in background immediatamente).

commands.configbooleandefault: false

Abilita /config (legge/scrive openclaw.json). Solo owner.

commands.mcpbooleandefault: false

Abilita /mcp (legge/scrive la configurazione MCP gestita da OpenClaw sotto mcp.servers). Solo owner.

commands.pluginsbooleandefault: false

Abilita /plugins (rilevamento/stato Plugin più installazione + abilitazione/disabilitazione). Solo owner per le scritture.

commands.debugbooleandefault: false

Abilita /debug (override di configurazione solo runtime). Solo owner.

commands.restartbooleandefault: true

Abilita /restart e le azioni strumento di riavvio del Gateway.

commands.ownerAllowFromstring[]

Allowlist esplicita degli owner per le superfici di comando solo owner. Separata da commands.allowFrom e dall’accesso tramite associazione DM.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImNoYW5uZWxzLjxjaGFubmVs .commands.enforceOwnerForCommands" type="boolean" default="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.ownerDisplaySecretstring

Segreto HMAC usato quando commands.ownerDisplay: "hash".

commands.allowFromobject

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.useAccessGroupsbooleandefault: 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

Sessioni ed esecuzioni
Comando Descrizione
/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
/stop Interrompe 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
Controlli di modello ed esecuzione
Comando Descrizione
/think <level|default> Imposta il livello di pensiero o cancella l’override della sessione. Alias: /thinking, /t
/verbose on|off|full Attiva/disattiva l’output dettagliato. Alias: /v
/trace on|off Attiva/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
sicurezza di verbose / trace / fast / reasoning
  • /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.
Dettagli del cambio modello
  • /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.
Rilevamento e stato
Comando Descrizione
/help Mostra il breve riepilogo di aiuto
/commands Mostra il catalogo comandi generato
/tools [compact|verbose] Mostra cosa può usare l’agente corrente in questo momento
/status Mostra stato di esecuzione/runtime, uptime di Gateway e sistema, salute Plugin, più utilizzo/quota provider
/status plugins Mostra 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
/tasks Elenca le attività in background attive/recenti per la sessione corrente
/context [list|detail|map|json] Spiega come viene assemblato il contesto
/whoami Mostra il tuo id mittente. Alias: /id
/usage off|tokens|full|reset|cost Controlla 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
Skills, allowlist, approvazioni
Comando Descrizione
/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
Subagenti e ACP
Comando Descrizione
/subagents list|log|info Ispeziona 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|help Gestisci 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
/unfocus Rimuovi l'associazione del thread corrente
/agents Elenca gli agenti associati al thread per la sessione corrente
Scritture riservate al proprietario e amministrazione
Comando Richiede Descrizione
/config show|get|set|unset commands.config: true Leggi o scrivi openclaw.json. Solo proprietario
/mcp show|get|set|unset commands.mcp: true Leggi o scrivi la configurazione del server MCP gestito da OpenClaw. Solo proprietario
/plugins list|inspect|show|get|install|enable|disable commands.plugins: true Ispeziona o modifica lo stato dei Plugin. Solo proprietario per le scritture. Alias: /plugin
/debug show|set|unset|reset commands.debug: true Override della configurazione solo a runtime. Solo proprietario
/restart commands.restart: true (predefinito) Riavvia OpenClaw
/send on|off|inherit proprietario Imposta la policy di invio
Voce, TTS, controllo del canale
Comando Descrizione
/tts on|off|status|chat|latest|provider|limit|summary|audio|help Controlla TTS. Vedi TTS
/activation mention|always Imposta 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

Comando Descrizione
/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 ...|disarm Abilita 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|skills Controlla 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.
Dispatch dei comandi Skill

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.

Argomenti dei comandi nativi

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.

text
/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

text
/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

text
/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

text
/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

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

/plugins — gestione dei Plugin

text
/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

text
/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.

text
/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

Ambito di sessione per 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.
Specifiche Slack

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.

Percorso rapido e scorciatoie inline
  • 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.
Note sugli argomenti
  • 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

Was this useful?
On this page

On this page