Chaves de configuração por canal emDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
channels.*. Abrange acesso a DMs e grupos,
configurações com várias contas, controle por menções e chaves por canal para Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage e os outros plugins de canal incluídos.
Para agentes, ferramentas, runtime do gateway e outras chaves de nível superior, consulte
Referência de configuração.
Canais
Cada canal inicia automaticamente quando sua seção de configuração existe (a menos queenabled: false).
Acesso a DMs e grupos
Todos os canais oferecem suporte a políticas de DM e políticas de grupo:| Política de DM | Comportamento |
|---|---|
pairing (padrão) | Remetentes desconhecidos recebem um código de pareamento de uso único; o proprietário deve aprovar |
allowlist | Somente remetentes em allowFrom (ou no armazenamento de permissões pareadas) |
open | Permite todas as DMs de entrada (requer allowFrom: ["*"]) |
disabled | Ignora todas as DMs de entrada |
| Política de grupo | Comportamento |
|---|---|
allowlist (padrão) | Somente grupos correspondentes à lista de permissões configurada |
open | Ignora listas de permissões de grupos (o controle por menções ainda se aplica) |
disabled | Bloqueia todas as mensagens de grupo/sala |
channels.defaults.groupPolicy define o padrão quando o groupPolicy de um provedor não está definido.
Códigos de pareamento expiram após 1 hora. Solicitações pendentes de pareamento por DM são limitadas a 3 por canal.
Se um bloco de provedor estiver totalmente ausente (channels.<provider> ausente), a política de grupo em runtime volta para allowlist (falha fechada) com um aviso na inicialização.Substituições de modelo por canal
Usechannels.modelByChannel para fixar IDs de canal específicos a um modelo. Os valores aceitam provider/model ou aliases de modelo configurados. O mapeamento de canal se aplica quando uma sessão ainda não tem uma substituição de modelo (por exemplo, definida via /model).
Padrões de canal e heartbeat
Usechannels.defaults para comportamento compartilhado de política de grupo e Heartbeat entre provedores:
channels.defaults.groupPolicy: política de grupo de fallback quando umgroupPolicyno nível do provedor não está definido.channels.defaults.contextVisibility: modo padrão de visibilidade de contexto suplementar para todos os canais. Valores:all(padrão, inclui todo o contexto de citação/thread/histórico),allowlist(inclui somente contexto de remetentes na lista de permissões),allowlist_quote(igual a allowlist, mas mantém contexto explícito de citação/resposta). Substituição por canal:channels.<channel>.contextVisibility.channels.defaults.heartbeat.showOk: inclui status íntegros de canal na saída do Heartbeat.channels.defaults.heartbeat.showAlerts: inclui status degradados/de erro na saída do Heartbeat.channels.defaults.heartbeat.useIndicator: renderiza saída de Heartbeat compacta em estilo de indicador.
WhatsApp com várias contas
WhatsApp com várias contas
- Comandos de saída usam por padrão a conta
default, se ela existir; caso contrário, o primeiro id de conta configurado (ordenado). - O
channels.whatsapp.defaultAccountopcional substitui essa seleção de conta padrão de fallback quando corresponde a um id de conta configurado. - O diretório legado de autenticação Baileys de conta única é migrado por
openclaw doctorparawhatsapp/default. - Substituições por conta:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Token do bot:
channels.telegram.botTokenouchannels.telegram.tokenFile(somente arquivo regular; symlinks rejeitados), comTELEGRAM_BOT_TOKENcomo fallback para a conta padrão. apiRooté somente a raiz da Telegram Bot API. Usehttps://api.telegram.orgou sua raiz auto-hospedada/de proxy, nãohttps://api.telegram.org/bot<TOKEN>;openclaw doctor --fixremove um sufixo/bot<TOKEN>final acidental.- O
channels.telegram.defaultAccountopcional substitui a seleção de conta padrão quando corresponde a um id de conta configurado. - Em configurações com várias contas (2+ ids de conta), defina um padrão explícito (
channels.telegram.defaultAccountouchannels.telegram.accounts.default) para evitar roteamento de fallback;openclaw doctoravisa quando isso está ausente ou inválido. configWrites: falsebloqueia gravações de configuração iniciadas pelo Telegram (migrações de ID de supergrupo,/config set|unset).- Entradas
bindings[]de nível superior comtype: "acp"configuram vinculações ACP persistentes para tópicos de fórum (use ochatId:topic:topicIdcanônico emmatch.peer.id). A semântica dos campos é compartilhada em Agentes ACP. - Pré-visualizações de stream do Telegram usam
sendMessage+editMessageText(funciona em chats diretos e de grupo). - Política de novas tentativas: consulte Política de novas tentativas.
Discord
- Token:
channels.discord.token, comDISCORD_BOT_TOKENcomo fallback para a conta padrão. - Chamadas diretas de saída que fornecem um
tokenexplícito do Discord usam esse token para a chamada; as configurações de nova tentativa/política da conta ainda vêm da conta selecionada no snapshot de runtime ativo. channels.discord.defaultAccountopcional substitui a seleção da conta padrão quando corresponde a um id de conta configurado.- Use
user:<id>(DM) ouchannel:<id>(canal de guilda) para destinos de entrega; IDs numéricos simples são rejeitados. - Slugs de guilda são em minúsculas com espaços substituídos por
-; chaves de canal usam o nome em slug (sem#). Prefira IDs de guilda. - Mensagens criadas por bots são ignoradas por padrão.
allowBots: trueas habilita; useallowBots: "mentions"para aceitar apenas mensagens de bots que mencionem o bot (mensagens próprias ainda são filtradas). channels.discord.guilds.<id>.ignoreOtherMentions(e substituições por canal) descarta mensagens que mencionam outro usuário ou função, mas não o bot (excluindo @everyone/@here).channels.discord.mentionAliasesmapeia texto@handleestável de saída para IDs de usuário do Discord antes do envio, para que colegas conhecidos possam ser mencionados de forma determinística mesmo quando o cache transitório de diretório está vazio. Substituições por conta ficam emchannels.discord.accounts.<accountId>.mentionAliases.maxLinesPerMessage(padrão 17) divide mensagens altas mesmo quando estão abaixo de 2000 caracteres.channels.discord.threadBindingscontrola o roteamento vinculado a threads do Discord:enabled: substituição do Discord para recursos de sessão vinculados a thread (/focus,/unfocus,/agents,/session idle,/session max-agee entrega/roteamento vinculados)idleHours: substituição do Discord para auto-unfocus por inatividade em horas (0desabilita)maxAgeHours: substituição do Discord para idade máxima rígida em horas (0desabilita)spawnSessions: alternância parasessions_spawn({ thread: true })e criação/vinculação automática de threads por spawn de thread ACP (padrão:true)defaultSpawnContext: contexto nativo de subagente para spawns vinculados a thread ("fork"por padrão)
- Entradas
bindings[]de nível superior comtype: "acp"configuram vinculações ACP persistentes para canais e threads (use o id do canal/thread emmatch.peer.id). A semântica dos campos é compartilhada em Agentes ACP. channels.discord.ui.components.accentColordefine a cor de destaque para contêineres de componentes v2 do Discord.channels.discord.voicehabilita conversas em canais de voz do Discord e substituições opcionais de autoentrada + LLM + TTS. Configurações do Discord somente texto deixam voz desativada por padrão; definachannels.discord.voice.enabled=truepara habilitar.channels.discord.voice.modelsubstitui opcionalmente o modelo LLM usado para respostas em canais de voz do Discord.channels.discord.voice.daveEncryptionechannels.discord.voice.decryptionFailureTolerancesão repassados para as opções DAVE de@discordjs/voice(truee24por padrão).channels.discord.voice.connectTimeoutMscontrola a espera inicial por Ready de@discordjs/voicepara tentativas de/vc joine autoentrada (30000por padrão).channels.discord.voice.reconnectGraceMscontrola quanto tempo uma sessão de voz desconectada pode levar para entrar em sinalização de reconexão antes que o OpenClaw a destrua (15000por padrão).- A reprodução de voz do Discord não é interrompida pelo evento de início de fala de outro usuário. Para evitar loops de feedback, o OpenClaw ignora nova captura de voz enquanto TTS está tocando.
- O OpenClaw também tenta recuperar o recebimento de voz saindo/reentrando em uma sessão de voz após falhas repetidas de descriptografia.
channels.discord.streamingé a chave canônica do modo de stream. O Discord usastreaming.mode: "progress"por padrão para que o progresso de ferramenta/trabalho apareça em uma mensagem de prévia editada; definastreaming.mode: "off"para desabilitar. Valores legadosstreamModee booleanosstreamingpermanecem aliases de runtime; executeopenclaw doctor --fixpara reescrever a configuração persistida.channels.discord.autoPresencemapeia a disponibilidade de runtime para presença do bot (healthy => online, degraded => idle, exhausted => dnd) e permite substituições opcionais de texto de status.channels.discord.dangerouslyAllowNameMatchingreabilita correspondência mutável por nome/tag (modo de compatibilidade de emergência).channels.discord.execApprovals: entrega de aprovação de exec nativa do Discord e autorização de aprovadores.enabled:true,falseou"auto"(padrão). No modo auto, aprovações de exec são ativadas quando aprovadores podem ser resolvidos a partir deapproversoucommands.ownerAllowFrom.approvers: IDs de usuário do Discord autorizados a aprovar solicitações de exec. Usacommands.ownerAllowFromcomo fallback quando omitido.agentFilter: lista de permissões opcional de IDs de agente. Omita para encaminhar aprovações para todos os agentes.sessionFilter: padrões opcionais de chave de sessão (substring ou regex).target: para onde enviar prompts de aprovação."dm"(padrão) envia para DMs dos aprovadores,"channel"envia para o canal de origem,"both"envia para ambos. Quando o alvo inclui"channel", os botões só podem ser usados por aprovadores resolvidos.cleanupAfterResolve: quandotrue, exclui DMs de aprovação após aprovação, negação ou timeout.
off (nenhuma), own (mensagens do bot, padrão), all (todas as mensagens), allowlist (de guilds.<id>.users em todas as mensagens).
Google Chat
- JSON de conta de serviço: embutido (
serviceAccount) ou baseado em arquivo (serviceAccountFile). - SecretRef de conta de serviço também é compatível (
serviceAccountRef). - Fallbacks de env:
GOOGLE_CHAT_SERVICE_ACCOUNTouGOOGLE_CHAT_SERVICE_ACCOUNT_FILE. - Use
spaces/<spaceId>ouusers/<userId>para destinos de entrega. channels.googlechat.dangerouslyAllowNameMatchingreabilita correspondência mutável por principal de e-mail (modo de compatibilidade de emergência).
Slack
- Modo Socket exige tanto
botTokenquantoappToken(SLACK_BOT_TOKEN+SLACK_APP_TOKENpara fallback de env da conta padrão). - Modo HTTP exige
botTokenmaissigningSecret(na raiz ou por conta). socketModerepassa o ajuste de transporte Socket Mode do SDK do Slack para a API pública do receptor Bolt. Use apenas ao investigar timeout de ping/pong ou comportamento de websocket obsoleto.botToken,appToken,signingSecreteuserTokenaceitam strings de texto simples ou objetos SecretRef.- Snapshots de conta do Slack expõem campos de origem/status por credencial, como
botTokenSource,botTokenStatus,appTokenStatuse, no modo HTTP,signingSecretStatus.configured_unavailablesignifica que a conta está configurada por SecretRef, mas o caminho atual de comando/runtime não conseguiu resolver o valor do segredo. configWrites: falsebloqueia gravações de configuração iniciadas pelo Slack.channels.slack.defaultAccountopcional substitui a seleção da conta padrão quando corresponde a um id de conta configurado.channels.slack.streaming.modeé a chave canônica do modo de stream do Slack.channels.slack.streaming.nativeTransportcontrola o transporte de streaming nativo do Slack. Valores legadosstreamMode, booleanosstreamingenativeStreamingpermanecem aliases de runtime; executeopenclaw doctor --fixpara reescrever a configuração persistida.unfurlLinkseunfurlMediarepassam os booleanos de unfurl de link e mídia dechat.postMessagedo Slack para respostas do bot. Omita-os para manter o comportamento padrão do Slack; defina-os emchannels.slack.accounts.<accountId>para substituir o padrão de nível superior de uma conta.- Use
user:<id>(DM) ouchannel:<id>para destinos de entrega.
off, own (padrão), all, allowlist (de reactionAllowlist).
Isolamento de sessão por thread: thread.historyScope é por thread (padrão) ou compartilhado no canal. thread.inheritParent copia a transcrição do canal pai para novas threads.
- O streaming nativo do Slack junto com o status de thread “is typing…” em estilo assistente do Slack exigem um alvo de thread de resposta. DMs de nível superior ficam fora de threads por padrão, então ainda podem transmitir por prévias de rascunho publicar-e-editar do Slack em vez de mostrar a prévia nativa de stream/status em estilo de thread.
typingReactionadiciona uma reação temporária à mensagem de entrada do Slack enquanto uma resposta está em execução e a remove na conclusão. Use um shortcode de emoji do Slack, como"hourglass_flowing_sand".channels.slack.execApprovals: entrega de aprovação de exec nativa do Slack e autorização de aprovadores. Mesmo esquema do Discord:enabled(true/false/"auto"),approvers(IDs de usuário do Slack),agentFilter,sessionFilteretarget("dm","channel"ou"both").
| Grupo de ações | Padrão | Observações |
|---|---|---|
| reactions | habilitado | Reagir + listar reações |
| messages | habilitado | Ler/enviar/editar/excluir |
| pins | habilitado | Fixar/desafixar/listar |
| memberInfo | habilitado | Informações de membro |
| emojiList | habilitado | Lista de emojis personalizados |
Mattermost
O Mattermost é distribuído como um Plugin incluído nas versões atuais do OpenClaw. Builds mais antigos ou personalizados podem instalar um pacote npm atual comopenclaw plugins install @openclaw/mattermost. Verifique npmjs.com/package/@openclaw/mattermost para os dist-tags atuais antes de fixar uma versão.
oncall (responde em @menção, padrão), onmessage (toda mensagem), onchar (mensagens que começam com o prefixo de acionamento).
Quando os comandos nativos do Mattermost estão ativados:
commands.callbackPathdeve ser um caminho (por exemplo/api/channels/mattermost/command), não uma URL completa.commands.callbackUrldeve resolver para o endpoint do Gateway do OpenClaw e ser acessível pelo servidor Mattermost.- Callbacks slash nativos são autenticados com os tokens por comando retornados
pelo Mattermost durante o registro de comandos slash. Se o registro falhar ou nenhum
comando for ativado, o OpenClaw rejeita callbacks com
Unauthorized: invalid command token. - Para hosts de callback privados/tailnet/internos, o Mattermost pode exigir
que
ServiceSettings.AllowedUntrustedInternalConnectionsinclua o host/domínio de callback. Use valores de host/domínio, não URLs completas. channels.mattermost.configWrites: permite ou nega gravações de configuração iniciadas pelo Mattermost.channels.mattermost.requireMention: exige@mentionantes de responder em canais.channels.mattermost.groups.<channelId>.requireMention: substituição por canal do bloqueio por menção ("*"para o padrão).- O
channels.mattermost.defaultAccountopcional substitui a seleção de conta padrão quando corresponde a um id de conta configurado.
Signal
off, own (padrão), all, allowlist (de reactionAllowlist).
channels.signal.account: fixa a inicialização do canal a uma identidade de conta Signal específica.channels.signal.configWrites: permite ou nega gravações de configuração iniciadas pelo Signal.- O
channels.signal.defaultAccountopcional substitui a seleção de conta padrão quando corresponde a um id de conta configurado.
iMessage
O OpenClaw iniciaimsg rpc (JSON-RPC sobre stdio). Nenhum daemon ou porta é necessário. Esse é o caminho preferencial para novas configurações de iMessage do OpenClaw quando o host pode conceder permissões de banco de dados do Messages e Automação.
O suporte ao BlueBubbles foi removido. channels.bluebubbles não é uma superfície de configuração de runtime compatível no OpenClaw atual. Migre configurações antigas para channels.imessage; use Remoção do BlueBubbles e o caminho do iMessage com imsg para a versão curta e Vindo do BlueBubbles para a tabela de tradução completa.
Se o Gateway não estiver em execução no Mac conectado ao Messages, mantenha channels.imessage.enabled=true e defina channels.imessage.cliPath como um wrapper SSH que execute imsg "$@" nesse Mac. O caminho local padrão imsg é somente para macOS.
-
O
channels.imessage.defaultAccountopcional substitui a seleção de conta padrão quando corresponde a um id de conta configurado. - Requer Acesso Total ao Disco para o banco de dados do Messages.
-
Prefira destinos
chat_id:<id>. Useimsg chats --limit 20para listar chats. -
cliPathpode apontar para um wrapper SSH; definaremoteHost(hostouuser@host) para buscar anexos via SCP. -
attachmentRootseremoteAttachmentRootsrestringem caminhos de anexos de entrada (padrão:/Users/*/Library/Messages/Attachments). -
O SCP usa verificação rigorosa de chave de host, então garanta que a chave do host de retransmissão já exista em
~/.ssh/known_hosts. -
channels.imessage.configWrites: permite ou nega gravações de configuração iniciadas pelo iMessage. -
channels.imessage.actions.*: ativa ações de API privada que também são bloqueadas porimsg status/openclaw channels status --probe. -
channels.imessage.includeAttachmentsfica desativado por padrão; defina-o comotrueantes de esperar mídia de entrada em turnos do agente. -
channels.imessage.catchup.enabled: opta por reproduzir mensagens de entrada que chegaram enquanto o Gateway estava inativo. -
channels.imessage.groups: registro de grupos e configurações por grupo. ComgroupPolicy: "allowlist", configure chaveschat_idexplícitas ou uma entrada curinga"*"para que mensagens de grupo possam passar pelo bloqueio do registro. -
Entradas
bindings[]de nível superior comtype: "acp"podem vincular conversas do iMessage a sessões ACP persistentes. Use um identificador normalizado ou destino de chat explícito (chat_id:*,chat_guid:*,chat_identifier:*) emmatch.peer.id. Semântica dos campos compartilhados: Agentes ACP.
Exemplo de wrapper SSH do iMessage
Exemplo de wrapper SSH do iMessage
Matrix
Matrix é baseado em Plugin e configurado emchannels.matrix.
- A autenticação por token usa
accessToken; a autenticação por senha usauserId+password. channels.matrix.proxyroteia o tráfego HTTP do Matrix por meio de um proxy HTTP(S) explícito. Contas nomeadas podem substituí-lo comchannels.matrix.accounts.<id>.proxy.channels.matrix.network.dangerouslyAllowPrivateNetworkpermite homeservers privados/internos.proxye essa opção de rede são controles independentes.channels.matrix.defaultAccountseleciona a conta preferida em configurações com múltiplas contas.channels.matrix.autoJoinusaoffpor padrão, então salas com convite e novos convites no estilo DM são ignorados até você definirautoJoin: "allowlist"comautoJoinAllowlistouautoJoin: "always".channels.matrix.execApprovals: entrega de aprovações de exec nativas do Matrix e autorização de aprovadores.enabled:true,falseou"auto"(padrão). No modo automático, aprovações de exec são ativadas quando aprovadores podem ser resolvidos a partir deapproversoucommands.ownerAllowFrom.approvers: IDs de usuários Matrix (por exemplo,@owner:example.org) autorizados a aprovar solicitações de exec.agentFilter: allowlist opcional de IDs de agente. Omita para encaminhar aprovações de todos os agentes.sessionFilter: padrões opcionais de chave de sessão (substring ou regex).target: para onde enviar prompts de aprovação."dm"(padrão),"channel"(sala de origem) ou"both".- Substituições por conta:
channels.matrix.accounts.<id>.execApprovals.
channels.matrix.dm.sessionScopecontrola como DMs do Matrix são agrupadas em sessões:per-user(padrão) compartilha por par roteado, enquantoper-roomisola cada sala de DM.- Sondas de status do Matrix e consultas de diretório ao vivo usam a mesma política de proxy que o tráfego de runtime.
- A configuração completa do Matrix, regras de destino e exemplos de configuração estão documentados em Matrix.
Microsoft Teams
Microsoft Teams é baseado em Plugin e configurado emchannels.msteams.
- Caminhos de chave principais abordados aqui:
channels.msteams,channels.msteams.configWrites. - A configuração completa do Teams (credenciais, webhook, política de DM/grupo, substituições por equipe/por canal) está documentada em Microsoft Teams.
IRC
IRC é baseado em Plugin e configurado emchannels.irc.
- Caminhos de chave principais abordados aqui:
channels.irc,channels.irc.dmPolicy,channels.irc.configWrites,channels.irc.nickserv.*. - O
channels.irc.defaultAccountopcional substitui a seleção de conta padrão quando corresponde a um id de conta configurado. - A configuração completa do canal IRC (host/porta/TLS/canais/allowlists/bloqueio por menção) está documentada em IRC.
Múltiplas contas (todos os canais)
Execute múltiplas contas por canal (cada uma com seu próprioaccountId):
defaulté usado quandoaccountIdé omitido (CLI + roteamento).- Tokens de env se aplicam apenas à conta padrão.
- As configurações básicas do canal se aplicam a todas as contas, a menos que sejam substituídas por conta.
- Use
bindings[].match.accountIdpara rotear cada conta para um agente diferente. - Se você adicionar uma conta não padrão via
openclaw channels add(ou onboarding de canal) enquanto ainda estiver em uma configuração de canal de nível superior com conta única, o OpenClaw primeiro promove valores de conta única de nível superior com escopo de conta para o mapa de contas do canal, para que a conta original continue funcionando. A maioria dos canais os move parachannels.<channel>.accounts.default; Matrix pode preservar um destino nomeado/padrão correspondente existente. - Bindings existentes apenas de canal (sem
accountId) continuam correspondendo à conta padrão; bindings com escopo de conta permanecem opcionais. openclaw doctor --fixtambém repara formatos mistos movendo valores de conta única de nível superior com escopo de conta para a conta promovida escolhida para esse canal. A maioria dos canais usaaccounts.default; Matrix pode preservar um destino nomeado/padrão correspondente existente.
Outros canais de Plugin
Muitos canais de Plugin são configurados comochannels.<id> e documentados em suas páginas de canal dedicadas (por exemplo Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat e Twitch).
Veja o índice completo de canais: Canais.
Bloqueio de menção em chat de grupo
Mensagens de grupo usam exigir menção por padrão (menção de metadados ou padrões regex seguros). Aplica-se a chats de grupo do WhatsApp, Telegram, Discord, Google Chat e iMessage. As respostas visíveis são controladas separadamente. Salas de grupos/canais usam por padrãomessages.groupChat.visibleReplies: "message_tool": o OpenClaw ainda processa o turno, mas as respostas finais normais permanecem privadas e a saída visível da sala exige message(action=send). Defina "automatic" somente quando quiser o comportamento legado em que respostas normais são publicadas de volta na sala. Para aplicar o mesmo comportamento de resposta visível somente por ferramenta também a chats diretos, defina messages.visibleReplies: "message_tool"; o harness do Codex também usa esse comportamento somente por ferramenta como padrão não definido para chats diretos.
Respostas visíveis somente por ferramenta exigem um modelo/runtime que chame ferramentas de forma confiável. Se
o log da sessão mostrar texto do assistente com didSendViaMessagingTool: false, o
modelo produziu uma resposta final privada em vez de chamar a ferramenta de mensagem.
Mude para um modelo mais forte em chamadas de ferramenta para esse canal, ou defina
messages.groupChat.visibleReplies: "automatic" para restaurar as respostas finais visíveis
legadas.
Se a ferramenta de mensagem estiver indisponível sob a política de ferramentas ativa, o OpenClaw volta para respostas visíveis automáticas em vez de suprimir silenciosamente a resposta. openclaw doctor avisa sobre essa incompatibilidade.
O Gateway recarrega a configuração de messages automaticamente depois que o arquivo é salvo. Reinicie somente quando a observação de arquivos ou o recarregamento de configuração estiver desativado na implantação.
Tipos de menção:
- Menções de metadados: @menções nativas da plataforma. Ignoradas no modo de chat consigo mesmo do WhatsApp.
- Padrões de texto: padrões regex seguros em
agents.list[].groupChat.mentionPatterns. Padrões inválidos e repetição aninhada insegura são ignorados. - O bloqueio por menção é aplicado somente quando a detecção é possível (menções nativas ou pelo menos um padrão).
messages.groupChat.historyLimit define o padrão global. Canais podem substituir com channels.<channel>.historyLimit (ou por conta). Defina 0 para desativar.
messages.visibleReplies é o padrão global para turnos de origem; messages.groupChat.visibleReplies o substitui para turnos de origem em grupo/canal. Quando messages.visibleReplies não está definido, um harness pode fornecer seu próprio padrão direto/de origem; o harness do Codex usa message_tool como padrão. Listas de permissões de canais e bloqueio por menção ainda decidem se um turno é processado.
Limites de histórico de DM
telegram, whatsapp, discord, slack, signal, imessage, msteams.
Modo de chat consigo mesmo
Inclua seu próprio número emallowFrom para ativar o modo de chat consigo mesmo (ignora @menções nativas, responde somente a padrões de texto):
Comandos (tratamento de comandos de chat)
Detalhes dos comandos
Detalhes dos comandos
- Este bloco configura superfícies de comando. Para o catálogo atual de comandos integrados + agrupados, consulte Comandos de barra.
- Esta página é uma referência de chaves de configuração, não o catálogo completo de comandos. Comandos pertencentes a canais/Plugins, como QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, pareamento de dispositivo/pair, memória/dreaming, controle de telefone/phonee Talk/voice, são documentados nas páginas dos respectivos canais/Plugins, além de Comandos de barra. - Comandos de texto devem ser mensagens independentes com
/inicial. native: "auto"ativa comandos nativos para Discord/Telegram, deixa Slack desativado.nativeSkills: "auto"ativa comandos nativos de Skills para Discord/Telegram, deixa Slack desativado.- Substitua por canal:
channels.discord.commands.native(booliano ou"auto"). Para Discord,falseignora o registro e a limpeza de comandos nativos durante a inicialização. - Substitua o registro de Skills nativas por canal com
channels.<provider>.commands.nativeSkills. channels.telegram.customCommandsadiciona entradas extras ao menu do bot do Telegram.bash: trueativa! <cmd>para o shell do host. Exigetools.elevated.enablede remetente emtools.elevated.allowFrom.<channel>.config: trueativa/config(lê/gravaopenclaw.json). Para clienteschat.senddo Gateway, gravações persistentes de/config set|unsettambém exigemoperator.admin;/config showsomente leitura permanece disponível para clientes operadores normais com escopo de gravação.mcp: trueativa/mcppara configuração de servidor MCP gerenciado pelo OpenClaw emmcp.servers.plugins: trueativa/pluginspara descoberta, instalação e controles de ativação/desativação de Plugins.channels.<provider>.configWritescontrola mutações de configuração por canal (padrão: true).- Para canais com várias contas,
channels.<provider>.accounts.<id>.configWritestambém controla gravações direcionadas a essa conta (por exemplo,/allowlist --config --account <id>ou/config set channels.<provider>.accounts.<id>...). restart: falsedesativa/restarte ações da ferramenta de reinicialização do Gateway. Padrão:true.ownerAllowFromé a lista de permissões explícita do proprietário para comandos/ferramentas somente do proprietário. Ela é separada deallowFrom.ownerDisplay: "hash"gera hashes dos ids do proprietário no prompt do sistema. DefinaownerDisplaySecretpara controlar o hashing.allowFromé por provedor. Quando definido, é a única fonte de autorização (listas de permissões/pareamento de canais euseAccessGroupssão ignorados).useAccessGroups: falsepermite que comandos ignorem políticas de grupos de acesso quandoallowFromnão está definido.- Mapa da documentação de comandos:
- catálogo integrado + agrupado: Comandos de barra
- superfícies de comando específicas de canal: Canais
- comandos do QQ Bot: QQ Bot
- comandos de pareamento: Pareamento
- comando de cartão do LINE: LINE
- Dreaming de memória: Dreaming
Relacionados
- Referência de configuração — chaves de nível superior
- Configuração — agentes
- Visão geral dos canais