Pareamento
“Pareamento” é a etapa explícita de aprovação do proprietário no OpenClaw. Ela é usada em dois lugares:- Pareamento de DM (quem tem permissão para falar com o bot)
- Pareamento de node (quais dispositivos/nodes têm permissão para entrar na rede do gateway)
1) Pareamento de DM (acesso de chat de entrada)
Quando um canal é configurado com a política de DMpairing, remetentes desconhecidos recebem um código curto e a mensagem deles não é processada até que você aprove.
As políticas de DM padrão estão documentadas em: Security
Códigos de pareamento:
- 8 caracteres, maiúsculos, sem caracteres ambíguos (
0O1I). - Expiram após 1 hora. O bot só envia a mensagem de pareamento quando uma nova solicitação é criada (aproximadamente uma vez por hora por remetente).
- As solicitações pendentes de pareamento de DM têm limite padrão de 3 por canal; solicitações adicionais são ignoradas até que uma expire ou seja aprovada.
Aprovar um remetente
bluebubbles, discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
Onde o estado fica armazenado
Armazenado em~/.openclaw/credentials/:
- Solicitações pendentes:
<channel>-pairing.json - Armazenamento da allowlist aprovada:
- Conta padrão:
<channel>-allowFrom.json - Conta não padrão:
<channel>-<accountId>-allowFrom.json
- Conta padrão:
- Contas não padrão leem/escrevem apenas o arquivo de allowlist com escopo próprio.
- A conta padrão usa o arquivo de allowlist sem escopo específico do canal.
groupAllowFrom, groups ou substituições por grupo/por tópico, dependendo do canal).
2) Pareamento de dispositivo de node (nodes iOS/Android/macOS/headless)
Nodes se conectam ao Gateway como devices comrole: node. O Gateway
cria uma solicitação de pareamento de dispositivo que precisa ser aprovada.
Parear via Telegram (recomendado para iOS)
Se você usar o Plugindevice-pair, poderá fazer o pareamento inicial do dispositivo inteiramente pelo Telegram:
- No Telegram, envie uma mensagem para seu bot:
/pair - O bot responde com duas mensagens: uma mensagem de instrução e uma mensagem separada com o código de configuração (fácil de copiar/colar no Telegram).
- No seu telefone, abra o app OpenClaw iOS → Settings → Gateway.
- Cole o código de configuração e conecte-se.
- De volta ao Telegram:
/pair pending(revise os IDs de solicitação, role e scopes) e então aprove.
url: a URL WebSocket do Gateway (ws://...ouwss://...)bootstrapToken: um token bootstrap de dispositivo único e de curta duração usado para o handshake inicial de pareamento
- o token
nodeprincipal transferido permanece comscopes: [] - qualquer token
operatortransferido permanece limitado à allowlist bootstrap:operator.approvals,operator.read,operator.talk.secrets,operator.write - as verificações de escopo bootstrap são prefixadas por role, não um único conjunto plano de scopes: entradas de escopo de operator só atendem a solicitações de operator, e roles que não sejam operator ainda precisam solicitar scopes sob o próprio prefixo de role
Aprovar um dispositivo de node
requestId será criado.
Importante: um dispositivo já pareado não recebe acesso mais amplo silenciosamente. Se ele se reconectar pedindo mais scopes ou uma role mais ampla, o OpenClaw mantém a aprovação existente como está e cria uma nova solicitação de upgrade pendente. Use openclaw devices list para comparar o acesso atualmente aprovado com o acesso recém-solicitado antes de aprovar.
Armazenamento do estado de pareamento de node
Armazenado em~/.openclaw/devices/:
pending.json(curta duração; solicitações pendentes expiram)paired.json(dispositivos pareados + tokens)
Observações
- A API legada
node.pair.*(CLI:openclaw nodes pending|approve|reject|rename) é um armazenamento de pareamento separado, pertencente ao gateway. Nodes WS ainda exigem pareamento de dispositivo. - O registro de pareamento é a fonte de verdade durável para roles aprovadas. Tokens de dispositivo ativos permanecem limitados a esse conjunto de roles aprovado; uma entrada de token isolada fora das roles aprovadas não cria novo acesso.