CLI commands
Canais
openclaw channels
Gerencie contas de canais de chat e o status de execução delas no Gateway.
Documentação relacionada:
- Guias de canais: Canais
- Configuração do Gateway: Configuração
Comandos comuns
openclaw channels listopenclaw channels list --allopenclaw channels statusopenclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123openclaw channels resolve --channel slack "#general" "@jane"openclaw channels logs --channel allchannels list mostra somente canais de chat: por padrão, as contas configuradas, com indicadores de status installed, configured e enabled por conta (--json para saída processável por máquina). Passe --all para também exibir canais incluídos que ainda não tenham uma conta configurada e canais instaláveis do catálogo que ainda não estejam no disco. A autenticação de provedores e o uso de modelos ficam em outros comandos: openclaw models auth list para perfis de autenticação de provedores e openclaw status ou openclaw models list para uso/cota.
Status / recursos / resolução / logs
channels status:--channel <name>,--probe,--timeout <ms>(padrão:10000),--jsonchannels capabilities:--channel <name>,--account <id>(requer--channel),--target <dest>(requer--channel),--timeout <ms>(padrão:10000, limitado a30000),--jsonchannels resolve <entries...>:--channel <name>,--account <id>,--kind <auto|user|group>(padrão:auto),--jsonchannels logs:--channel <name|all>(padrão:all),--lines <n>(padrão:200),--json
channels status --probe é o caminho de verificação em tempo real: em um Gateway acessível, ele executa as verificações probeAccount e, opcionalmente, auditAccount para cada conta; portanto, a saída pode incluir o estado do transporte e resultados de verificação como works, probe failed, audit ok ou audit failed. Se o Gateway estiver inacessível, channels status recorre a resumos baseados somente na configuração, em vez da saída da verificação em tempo real.
Não use openclaw sessions, sessions.list do Gateway nem a ferramenta sessions_list do agente como indicador da integridade do socket do canal. Essas interfaces informam linhas de conversas armazenadas, não o estado de execução do provedor. Após a reinicialização de um provedor do Discord, uma conta conectada, mas sem atividade, pode estar íntegra mesmo que nenhuma linha de sessão do Discord apareça até o próximo evento de conversa recebido ou enviado.
Adicionar / remover contas
openclaw channels add --channel telegram --token <bot-token>openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"openclaw channels remove --channel telegram --deletechannels remove opera somente em plugins de canal instalados/configurados. Para canais instaláveis do catálogo, use primeiro channels add. Sem --delete, ele solicita a desativação da conta e mantém sua configuração; --delete remove as entradas de configuração sem solicitar confirmação.
Para plugins de canal com suporte em tempo de execução, channels remove também solicita que o Gateway em execução interrompa a conta selecionada antes de atualizar a configuração. Assim, desativar ou excluir uma conta não mantém o listener antigo ativo até a reinicialização.
Opções de adição não interativa compartilhadas entre canais: --account <id>, --name <name>, --token, --token-file, --bot-token, --app-token, --secret, --secret-file, --password, --cli-path, --url, --base-url, --http-url, --auth-dir e --use-env (autenticação baseada em variáveis de ambiente, somente para a conta padrão, quando houver suporte). As opções específicas de cada canal incluem:
| Canal | Opções |
|---|---|
| Google Chat | --webhook-path, --webhook-url, --audience-type, --audience |
| iMessage | --cli-path, --db-path, --service, --region |
| Matrix | --homeserver, --user-id, --access-token, --password, --device-name, --initial-sync-limit |
| Nostr | --private-key, --relay-urls |
| Signal | --signal-number, --cli-path, --http-url, --http-host, --http-port |
| Tlon | --ship, --url, --code, --group-channels, --dm-allowlist, --auto-discover-channels |
--auth-dir |
Se for necessário instalar um plugin de canal durante um comando de adição orientado por opções, o OpenClaw usará a fonte de instalação padrão do canal sem abrir a solicitação interativa de instalação do plugin.
Ao executar openclaw channels add sem opções, o assistente interativo pode solicitar:
- IDs das contas de cada canal selecionado
- nomes de exibição opcionais para essas contas
Route these channel accounts to agents now?
Se você confirmar a vinculação imediata, o assistente perguntará qual agente deve ser responsável por cada conta de canal configurada e gravará vínculos de roteamento específicos por conta.
Você também pode gerenciar posteriormente as mesmas regras de roteamento com openclaw agents bindings, openclaw agents bind e openclaw agents unbind (consulte agentes).
Quando você adiciona uma conta não padrão a um canal que ainda usa configurações de nível superior para uma única conta, o OpenClaw promove esses valores de nível superior para o mapa de contas do canal antes de gravar a nova conta. A promoção reutiliza uma conta nomeada existente quando o canal tem exatamente uma ou quando defaultAccount aponta para uma; caso contrário, os valores são armazenados em channels.<channel>.accounts.default.
O comportamento de roteamento permanece consistente:
- Vínculos existentes somente com o canal (sem
accountId) continuam correspondendo à conta padrão. channels addnão cria nem regrava vínculos automaticamente no modo não interativo.- A configuração interativa pode adicionar opcionalmente vínculos específicos por conta.
Se sua configuração já estiver em um estado misto (com contas nomeadas presentes e valores de nível superior para uma única conta ainda definidos), execute openclaw doctor --fix para mover os valores específicos da conta para a conta promovida escolhida para esse canal.
Login e logout (interativos)
openclaw channels login --channel whatsappopenclaw channels logout --channel whatsappchannels loginaceita--account <id>e--verbose;channels logoutaceita--account <id>.channels loginelogoutpodem inferir o canal quando somente um canal configurado aceita essa ação; quando houver vários, passe--channel.channels logoutdá preferência ao caminho pelo Gateway ativo quando ele está acessível, para que o logout interrompa qualquer listener ativo antes de limpar o estado de autenticação do canal. Se um Gateway local não estiver acessível, ele recorre à limpeza da autenticação local; comgateway.mode: "remote", o erro do Gateway faz o comando falhar.- Após um login bem-sucedido, a CLI solicita que um Gateway local acessível inicie a conta; no modo remoto, ela salva a autenticação localmente e informa que o ambiente de execução remoto não foi reiniciado.
- Execute
channels loginem um terminal no host do Gateway. Oexecdo agente bloqueia esse fluxo de login interativo; ferramentas de login de agentes nativas do canal, comowhatsapp_login, devem ser usadas pelo chat quando disponíveis.
Solução de problemas
- Execute
openclaw status --deeppara uma verificação ampla. - Use
openclaw doctorpara correções orientadas. openclaw channels statusrecorre a resumos baseados somente na configuração quando o Gateway está inacessível. Se a credencial de um canal compatível estiver configurada por meio deSecretRef, mas indisponível no caminho do comando atual, ele informará que a conta está configurada, com observações sobre a funcionalidade reduzida, em vez de mostrá-la como não configurada.
Verificação de recursos
Obtenha indicações de recursos do provedor (intenções/escopos, quando disponíveis), além do suporte estático a funcionalidades:
openclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123Observações:
--channelé opcional; omita-o para listar todos os canais (inclusive os fornecidos por plugins).--accountsó é válido com--channel.--targetaceitachannel:<id>ou um ID numérico bruto de canal e se aplica somente ao Discord. Para canais de voz do Discord, a verificação de permissões sinaliza a ausência deViewChannel,Connect,Speak,SendMessageseReadMessageHistory.- As verificações são específicas de cada provedor: identidade do bot do Discord + intenções e permissões opcionais do canal; bot do Slack + escopos de usuário; opções do bot do Telegram + Webhook; versão do daemon do Signal; token do aplicativo do Microsoft Teams + funções/escopos do Graph (anotados quando conhecidos). Canais sem verificações informam
Probe: unavailable.
Resolver nomes em IDs
Resolva nomes de canais/usuários em IDs usando o diretório do provedor:
openclaw channels resolve --channel slack "#general" "@jane"openclaw channels resolve --channel discord "My Server/#support" "@someone"openclaw channels resolve --channel matrix "Project Room"Observações:
- Use
--kind user|group|autopara forçar o tipo de destino. - A resolução dá preferência a correspondências ativas quando várias entradas têm o mesmo nome.
channels resolveé somente leitura. Se uma conta selecionada estiver configurada por meio deSecretRef, mas essa credencial estiver indisponível no caminho do comando atual, o comando retornará resultados não resolvidos com funcionalidade reduzida e observações, em vez de interromper toda a execução.channels resolvenão instala plugins de canal. Usechannels add --channel <name>antes de resolver nomes para um canal instalável do catálogo.