Pular para o conteúdo principal
O Gateway lida com comandos enviados como mensagens avulsas que começam com /. Comandos bash somente do host usam ! <cmd> (com /bash <cmd> como alias). Quando uma conversa está vinculada a uma sessão ACP, o texto normal é roteado para o harness ACP. Os comandos de gerenciamento do Gateway permanecem locais: /acp ... sempre chega ao manipulador de comandos do OpenClaw, e /status mais /unfocus permanecem locais sempre que o tratamento de comandos está habilitado para a superfície.

Três tipos de comando

Comandos

Mensagens avulsas /... tratadas pelo Gateway. Devem ser enviadas como o único conteúdo na mensagem.

Diretivas

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — removidas da mensagem antes que o modelo as veja. Persistem as configurações da sessão quando enviadas sozinhas; atuam como dicas inline quando enviadas com outro texto.

Atalhos inline

/help, /commands, /status, /whoami — executam imediatamente e são removidos antes que o modelo veja o texto restante. Apenas remetentes autorizados.
  • As diretivas são removidas da mensagem antes que o modelo as veja.
  • Em mensagens somente com diretivas (a mensagem contém apenas diretivas), elas persistem na sessão e respondem com uma confirmação.
  • Em mensagens de chat normal com outro texto, elas atuam como dicas inline e não persistem as configurações da sessão.
  • As diretivas se aplicam apenas a remetentes autorizados. Se commands.allowFrom estiver definido, essa será a única lista de permissões usada; caso contrário, a autorização vem de listas de permissões/emparelhamento do canal mais commands.useAccessGroups. Remetentes não autorizados veem diretivas tratadas como texto simples.

Configuração

{
  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
padrão:"true"
Habilita a análise de /... em mensagens de chat. Em superfícies sem comandos nativos (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), comandos de texto funcionam mesmo quando definido como false.
commands.native
boolean | "auto"
padrão:"\"auto\""
Registra comandos nativos. Auto: ativado para Discord/Telegram; desativado para Slack; ignorado para provedores sem suporte nativo. Substitua por canal com channels.<provider>.commands.native. No Discord, false ignora o registro de comandos slash; comandos registrados anteriormente podem permanecer visíveis até serem removidos.
commands.nativeSkills
boolean | "auto"
padrão:"\"auto\""
Registra comandos de skill nativamente quando houver suporte. Auto: ativado para Discord/Telegram; desativado para Slack. Substitua com channels.<provider>.commands.nativeSkills.
commands.bash
boolean
padrão:"false"
Habilita ! <cmd> para executar comandos de shell do host (alias /bash <cmd>). Exige listas de permissões tools.elevated.
commands.bashForegroundMs
number
padrão:"2000"
Por quanto tempo o bash espera antes de alternar para o modo em segundo plano (0 coloca em segundo plano imediatamente).
commands.config
boolean
padrão:"false"
Habilita /config (lê/grava openclaw.json). Somente proprietário.
commands.mcp
boolean
padrão:"false"
Habilita /mcp (lê/grava configuração MCP gerenciada pelo OpenClaw em mcp.servers). Somente proprietário.
commands.plugins
boolean
padrão:"false"
Habilita /plugins (descoberta/status de Plugin mais instalação + ativar/desativar). Somente proprietário para gravações.
commands.debug
boolean
padrão:"false"
Habilita /debug (substituições de configuração somente em runtime). Somente proprietário.
commands.restart
boolean
padrão:"true"
Habilita /restart e ações de ferramenta de reinício do gateway.
commands.ownerAllowFrom
string[]
Lista de permissões explícita de proprietário para superfícies de comando somente do proprietário. Separada de commands.allowFrom e do acesso por emparelhamento de DM.
channels.<channel>.commands.enforceOwnerForCommands
boolean
padrão:"false"
Por canal: exige identidade de proprietário para comandos somente do proprietário. Quando true, o remetente deve corresponder a commands.ownerAllowFrom ou possuir o escopo interno operator.admin. Uma entrada curinga allowFrom não é suficiente.
commands.ownerDisplay
"raw" | "hash"
Controla como IDs de proprietário aparecem no prompt do sistema.
commands.ownerDisplaySecret
string
Segredo HMAC usado quando commands.ownerDisplay: "hash".
commands.allowFrom
object
Lista de permissões por provedor para autorização de comandos. Quando configurada, ela é a única fonte de autorização para comandos e diretivas. Use "*" para um padrão global; chaves específicas de provedor a substituem.
commands.useAccessGroups
boolean
padrão:"true"
Impõe listas de permissões/políticas para comandos quando commands.allowFrom não está definido.

Lista de comandos

Os comandos vêm de três fontes:
  • Integrados do core: src/auto-reply/commands-registry.shared.ts
  • Comandos de dock gerados: src/auto-reply/commands-registry.data.ts
  • Comandos de Plugin: chamadas registerCommand() do Plugin
A disponibilidade depende de flags de configuração, superfície do canal e plugins instalados/habilitados.

Comandos do core

ComandoDescrição
/new [model]Arquiva a sessão atual e inicia uma nova
/reset [soft [message]]Redefine a sessão atual no lugar. soft mantém a transcrição, descarta IDs de sessão de backend CLI reutilizados e executa a inicialização novamente
/name <title>Nomeia ou renomeia a sessão atual. Omita o título para ver o nome atual e uma sugestão
/compact [instructions]Compacta o contexto da sessão. Veja Compaction
/stopAborta a execução atual
/session idle <duration|off>Gerencia a expiração por inatividade da vinculação de thread
/session max-age <duration|off>Gerencia a expiração por idade máxima da vinculação de thread
/export-session [path]Exporta a sessão atual para HTML. Alias: /export
/export-trajectory [path]Exporta um pacote de trajetória JSONL para a sessão atual. Alias: /trajectory
A UI de controle intercepta /new digitado para criar e alternar para uma nova sessão de dashboard, exceto quando session.dmScope: "main" está configurado e o pai atual é a sessão principal do agente — nesse caso /new redefine a sessão principal no lugar. /reset digitado ainda executa a redefinição no lugar do Gateway. Use /model default quando quiser limpar uma seleção de modelo fixada na sessão.
ComandoDescrição
/think <level|default>Define o nível de pensamento ou limpa a substituição da sessão. Aliases: /thinking, /t
/verbose on|off|fullAlterna a saída detalhada. Alias: /v
/trace on|offAlterna a saída de trace de Plugin para a sessão atual
/fast [status|auto|on|off|default]Mostra, define ou limpa o modo rápido
/reasoning [on|off|stream]Alterna a visibilidade do raciocínio. Alias: /reason
/elevated [on|off|ask|full]Alterna o modo elevado. Alias: /elev
/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>Mostra ou define padrões de exec
/login [codex|openai|openai-codex]Emparelha login Codex/OpenAI a partir de um chat privado ou sessão da interface Web. Somente proprietário/admin
/model [name|#|status]Mostra ou define o modelo
/models [provider] [page] [limit=<n>|all]Lista provedores ou modelos configurados/disponíveis por autenticação
/queue <mode>Gerencia o comportamento da fila de execuções ativas. Veja Queue e Direção de fila
/steer <message>Injeta orientação na execução ativa. Alias: /tell. Veja Direcionar
  • /verbose é para depuração — mantenha desativado no uso normal.
  • /trace revela apenas linhas de trace/depuração pertencentes ao Plugin; conversas detalhadas normais permanecem desativadas.
  • /fast auto|on|off persiste uma substituição de sessão; use a opção inherit da UI de Sessões para limpá-la.
  • /fast é específico do provedor: OpenAI/Codex o mapeiam para service_tier=priority; solicitações diretas à Anthropic o mapeiam para service_tier=auto ou standard_only.
  • /reasoning, /verbose e /trace são arriscados em ambientes de grupo — eles podem revelar raciocínio interno ou diagnósticos de Plugin. Mantenha-os desativados em chats de grupo.
  • /model persiste o novo modelo imediatamente na sessão.
  • Se o agente estiver ocioso, a próxima execução o usará imediatamente.
  • Se uma execução estiver ativa, a troca será marcada como pendente e aplicada no próximo ponto de nova tentativa limpa.
ComandoDescrição
/helpMostra o resumo curto de ajuda
/commandsMostra o catálogo de comandos gerado
/tools [compact|verbose]Mostra o que o agente atual pode usar agora
/statusMostra status de execução/runtime, uptime do Gateway e do sistema, integridade de Plugin, mais uso/cota de provedor
/status pluginsMostra integridade detalhada de Plugin: erros de carregamento, quarentenas, falhas de canal, problemas de dependência, avisos de compatibilidade
/goal [status|start|pause|resume|complete|block|clear] ...Gerencia o objetivo durável da sessão atual
/diagnostics [note]Fluxo de relatório de suporte somente do proprietário. Solicita aprovação de exec sempre
/crestodian <request>Executa o auxiliar de configuração e reparo Crestodian a partir de uma DM do proprietário
/tasksLista tarefas em segundo plano ativas/recentes para a sessão atual
/context [list|detail|map|json]Explica como o contexto é montado
/whoamiMostra o ID do seu remetente. Alias: /id
/usage off|tokens|full|reset|costControla o rodapé de uso por resposta (reset/inherit/clear/default limpa a substituição da sessão para voltar a herdar o padrão configurado) ou imprime um resumo de custo local
ComandoDescrição
/skill <name> [input]Executa uma skill pelo nome
/allowlist [list|add|remove] ...Gerencia entradas de lista de permissões. Somente texto
/approve <id> <decision>Resolve prompts de aprovação de exec ou Plugin
/btw <question>Faz uma pergunta paralela sem alterar o contexto da sessão. Alias: /side. Veja BTW
ComandoDescrição
/subagents list|log|infoInspeciona execuções de subagentes para a sessão atual
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpGerencia sessões ACP e opções de runtime. Controles de runtime exigem proprietário externo ou identidade de administrador interno do Gateway
/focus <target>Vincula a thread atual do Discord ou o tópico atual do Telegram a um alvo de sessão
/unfocusRemove o vínculo da thread atual
/agentsLista agentes vinculados à thread para a sessão atual
ComandoExigeDescrição
/config show|get|set|unsetcommands.config: trueLê ou grava openclaw.json. Somente proprietário
/mcp show|get|set|unsetcommands.mcp: trueLê ou grava a configuração de servidor MCP gerenciada pelo OpenClaw. Somente proprietário
/plugins list|inspect|show|get|install|enable|disablecommands.plugins: trueInspeciona ou altera o estado de plugin. Somente proprietário para gravações. Alias: /plugin
/debug show|set|unset|resetcommands.debug: trueSubstituições de configuração somente em runtime. Somente proprietário
/restartcommands.restart: true (padrão)Reinicia o OpenClaw
/send on|off|inheritproprietárioDefine a política de envio
ComandoDescrição
/tts on|off|status|chat|latest|provider|limit|summary|audio|helpControla TTS. Consulte TTS
/activation mention|alwaysDefine o modo de ativação de grupo
/bash <command>Executa um comando de shell do host. Alias: ! <command>. Exige commands.bash: true
!poll [sessionId]Verifica uma tarefa bash em segundo plano
!stop [sessionId]Interrompe uma tarefa bash em segundo plano

Comandos dock

Comandos dock alternam a rota de resposta da sessão ativa para outro canal vinculado. Consulte Acoplamento de canais para configuração e solução de problemas. Gerados a partir de plugins de canal com suporte a comando nativo:
  • /dock-discord (alias: /dock_discord)
  • /dock-mattermost (alias: /dock_mattermost)
  • /dock-slack (alias: /dock_slack)
  • /dock-telegram (alias: /dock_telegram)
Comandos dock exigem session.identityLinks. O remetente de origem e o par de destino devem estar no mesmo grupo de identidade.

Comandos de plugins integrados

ComandoDescrição
/dreaming [on|off|status|help]Alterna Dreaming de memória (proprietário ou administrador do Gateway). Consulte Dreaming
/pair [qr|status|pending|approve|cleanup|notify]Gerencia pareamento de dispositivos. Consulte Pareamento
/phone status|arm ...|disarmArma temporariamente comandos de nó de telefone de alto risco
/voice status|list|set <voiceId>Gerencia a configuração de voz Talk. Nome nativo no Discord: /talkvoice
/card ...Envia predefinições de cartão rico LINE. Consulte LINE
/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skillsControla o harness do servidor de aplicativo Codex. Consulte Harness Codex
Somente QQBot: /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Comandos de Skills

Skills invocáveis pelo usuário são expostas como comandos slash:
  • /skill <name> [input] sempre funciona como o ponto de entrada genérico.
  • Skills podem se registrar como comandos diretos (por exemplo, /prose para OpenProse).
  • O registro de comandos nativos de Skills é controlado por commands.nativeSkills e channels.<provider>.commands.nativeSkills.
  • Os nomes são sanitizados para a-z0-9_ (máx. 32 caracteres); colisões recebem sufixos numéricos.
Por padrão, comandos de Skills são roteados ao modelo como uma solicitação normal.Skills podem declarar command-dispatch: tool para rotear diretamente a uma ferramenta (determinístico, sem envolvimento do modelo). Exemplo: /prose (plugin OpenProse) — consulte OpenProse.
O Discord usa preenchimento automático para opções dinâmicas e menus de botões quando argumentos obrigatórios são omitidos. Telegram e Slack mostram um menu de botões para comandos com escolhas. Escolhas dinâmicas são resolvidas em relação ao modelo da sessão alvo, portanto opções específicas de modelo, como níveis de /think, seguem a substituição de /model da sessão.

/tools — o que o agente pode usar agora

/tools responde a uma pergunta de runtime: o que este agente pode usar agora nesta conversa — não um catálogo de configuração estático.
/tools         # compact view
/tools verbose # with short descriptions
Os resultados têm escopo de sessão. Alterar agente, canal, thread, autorização do remetente ou modelo pode alterar a saída. Para edição de perfil e substituição, use o painel Ferramentas da Control UI ou superfícies de configuração.

/model — seleção de modelo

/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
No Discord, /model e /models abrem um seletor interativo com menus suspensos de provedor e modelo. O seletor respeita agents.defaults.models, incluindo entradas provider/*.

/config — gravações de configuração em disco

Somente proprietário. Desativado por padrão — habilite com commands.config: true.
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
A configuração é validada antes da gravação. Alterações inválidas são rejeitadas. /config persiste atualizações entre reinicializações.

/mcp — configuração de servidor MCP

Somente proprietário. Desativado por padrão — habilite com commands.mcp: true.
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
/mcp armazena a configuração na configuração do OpenClaw, não nas configurações de projeto do agente incorporado.

/debug — substituições somente em runtime

Somente proprietário. Desativado por padrão — habilite com commands.debug: true. As substituições se aplicam imediatamente a novas leituras de configuração, mas não gravam em disco.
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins — gerenciamento de plugins

Somente proprietário para gravações. Desativado por padrão — habilite com commands.plugins: true.
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin
/plugins enable|disable atualiza a configuração de plugin e recarrega a quente o runtime de plugins do Gateway para novas rodadas do agente. /plugins install reinicia Gateways gerenciados automaticamente porque os módulos-fonte do plugin mudaram.

/trace — saída de rastreamento de plugin

/trace          # show current trace state
/trace on
/trace off
/trace revela linhas de rastreamento/depuração de plugin com escopo de sessão sem o modo verboso completo. Ele não substitui /debug (substituições de runtime) nem /verbose (saída normal de ferramentas).

/btw — perguntas paralelas

/btw é uma pergunta paralela rápida sobre o contexto da sessão atual. Alias: /side.
/btw what are we doing right now?
/side what changed while the main run continued?
Ao contrário de uma mensagem normal:
  • Usa a sessão atual como contexto de fundo.
  • Em sessões do harness Codex, executa como uma thread lateral efêmera do Codex.
  • Não altera o contexto futuro da sessão.
  • Não é gravada no histórico de transcrição.
Consulte Perguntas paralelas BTW para o comportamento completo.

Observações de superfície

  • Comandos de texto: executam na sessão de chat normal (DMs compartilham main, grupos têm sua própria sessão).
  • Comandos nativos do Discord: agent:<agentId>:discord:slash:<userId>
  • Comandos nativos do Slack: agent:<agentId>:slack:slash:<userId> (prefixo configurável via channels.slack.slashCommand.sessionPrefix)
  • Comandos nativos do Telegram: telegram:slash:<userId> (direciona a sessão de chat via CommandTargetSessionKey)
  • /login codex envia códigos de pareamento de dispositivo somente por chat privado ou caminhos de resposta da Web UI. Invocações em grupo/tópico do Telegram pedem que o proprietário envie uma DM ao bot.
  • /stop mira a sessão de chat ativa para abortar a execução atual.
channels.slack.slashCommand oferece suporte a um único comando no estilo /openclaw. Com commands.native: true, crie um comando slash do Slack por comando integrado. Registre /agentstatus (não /status) porque o Slack reserva /status. O texto /status ainda funciona em mensagens do Slack.
  • Mensagens somente de comando de remetentes allowlisted são tratadas imediatamente (ignorando fila + modelo).
  • Atalhos inline (/help, /commands, /status, /whoami) também funcionam incorporados em mensagens normais e são removidos antes que o modelo veja o texto restante.
  • Mensagens somente de comando não autorizadas são ignoradas silenciosamente; tokens inline /... são tratados como texto simples.
  • Comandos aceitam um : opcional entre o comando e os argumentos (/think: high, /send: on).
  • /new <model> aceita um alias de modelo, provider/model ou um nome de provedor (correspondência aproximada); se não houver correspondência, o texto será tratado como corpo da mensagem.
  • /allowlist add|remove exige commands.config: true e respeita configWrites do canal.

Uso e status de provedor

  • Uso/cota do provedor (por exemplo, “Claude 80% left”) aparece em /status para o provedor do modelo atual quando o rastreamento de uso está habilitado.
  • Linhas de token/cache em /status podem recorrer à entrada de uso mais recente da transcrição quando o snapshot da sessão ao vivo está esparso.
  • Execução vs runtime: /status relata Execution para o caminho efetivo de sandbox e Runtime para quem está executando a sessão: OpenClaw Default, OpenAI Codex, um backend de CLI ou um backend ACP.
  • Tokens/custo por resposta: controlado por /usage off|tokens|full.
  • /model status trata de modelos/autenticação/endpoints, não de uso.

Relacionados

Skills

Como os comandos slash de Skills são registrados e controlados.

Criação de Skills

Crie uma Skill que registre seu próprio comando slash.

BTW

Perguntas paralelas sem alterar o contexto da sessão.

Steer

Oriente o agente durante a execução com /steer.