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
Messaggi /... autonomi gestiti dal Gateway. Devono essere inviati come
unico contenuto del messaggio.
/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.
/help, /commands, /status, /whoami — vengono eseguite immediatamente e sono
rimosse prima che il modello veda il testo rimanente. Solo mittenti autorizzati.
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
{ 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: trueAbilita 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: falseAbilita ! <cmd> per eseguire comandi shell host (alias /bash <cmd>). Richiede
le allowlist tools.elevated.
commands.bashForegroundMsnumberdefault: 2000Per quanto tempo bash attende prima di passare alla modalità in background (0 manda in background
immediatamente).
commands.configbooleandefault: falseAbilita /config (legge/scrive openclaw.json). Solo owner.
commands.mcpbooleandefault: falseAbilita /mcp (legge/scrive la configurazione MCP gestita da OpenClaw sotto mcp.servers). Solo owner.
commands.pluginsbooleandefault: falseAbilita /plugins (rilevamento/stato Plugin più installazione + abilitazione/disabilitazione). Solo owner per le scritture.
commands.debugbooleandefault: falseAbilita /debug (override di configurazione solo runtime). Solo owner.
commands.restartbooleandefault: trueAbilita /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.ownerDisplaySecretstringSegreto HMAC usato quando commands.ownerDisplay: "hash".
commands.allowFromobjectAllowlist 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: trueApplica 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
/verboseserve per il debug — tienilo disattivato nell’uso normale./tracerivela solo righe di trace/debug di proprietà del Plugin; il normale chiacchiericcio dettagliato resta disattivato./fast auto|on|offmantiene un override di sessione; usa l’opzioneinheritdella UI Sessioni per cancellarlo./fastè specifico del provider: OpenAI/Codex lo mappano aservice_tier=priority; le richieste Anthropic dirette lo mappano aservice_tier=autoostandard_only./reasoning,/verbosee/tracesono rischiosi in contesti di gruppo — possono rivelare ragionamento interno o diagnostica Plugin. Tienili disattivati nelle chat di gruppo.
Dettagli del cambio modello
/modelmantiene 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
/proseper OpenProse). - La registrazione dei comandi Skill nativi è controllata da
commands.nativeSkillsechannels.<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.
/tools # compact view/tools verbose # with short descriptionsI 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 modeSu 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
/config show/config show messages.responsePrefix/config get messages.responsePrefix/config set messages.responsePrefix="[openclaw]"/config unset messages.responsePrefixLa configurazione viene validata prima della scrittura. Le modifiche non valide vengono rifiutate. Gli aggiornamenti di /config
persistono dopo i riavvii.
/mcp — configurazione server MCP
/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
/debug show/debug set messages.responsePrefix="[openclaw]"/debug set channels.whatsapp.allowFrom=["+1555","+4477"]/debug unset messages.responsePrefix/debug reset/plugins — gestione dei Plugin
/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
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 tramitechannels.slack.slashCommand.sessionPrefix) - Comandi Telegram nativi:
telegram:slash:<userId>(punta alla sessione chat tramiteCommandTargetSessionKey) /login codexinvia 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./stoppunta 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/modelo un nome provider (corrispondenza fuzzy); se non c'è corrispondenza, il testo viene trattato come corpo del messaggio./allowlist add|removerichiedecommands.config: truee rispettaconfigWritesdel canale.
Uso e stato del provider
- Uso/quota del provider (ad esempio, "Claude 80% left") appare in
/statusper il provider del modello corrente quando il tracciamento dell'uso è abilitato. - Righe token/cache in
/statuspossono ricadere sull'ultima voce di uso della trascrizione quando lo snapshot live della sessione è scarno. - Esecuzione vs runtime:
/statusriportaExecutionper il percorso sandbox effettivo eRuntimeper 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 statusriguarda modelli/autenticazione/endpoint, non l'uso.