Associazione
L’“associazione” è il passaggio esplicito di approvazione del proprietario di OpenClaw. Viene utilizzata in due casi:- Associazione DM (chi è autorizzato a parlare con il bot)
- Associazione del Node (quali dispositivi/nodi sono autorizzati a unirsi alla rete Gateway)
1) Associazione DM (accesso alla chat in ingresso)
Quando un canale è configurato con il criterio DMpairing, i mittenti sconosciuti ricevono un codice breve e il loro messaggio non viene elaborato finché non approvi.
I criteri DM predefiniti sono documentati in: Security
Codici di associazione:
- 8 caratteri, maiuscoli, senza caratteri ambigui (
0O1I). - Scadono dopo 1 ora. Il bot invia il messaggio di associazione solo quando viene creata una nuova richiesta (circa una volta all’ora per mittente).
- Le richieste DM di associazione in sospeso sono limitate a 3 per canale per impostazione predefinita; le richieste aggiuntive vengono ignorate finché una non scade o non viene approvata.
Approvare un mittente
bluebubbles, discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
Dove risiede lo stato
Memorizzato in~/.openclaw/credentials/:
- Richieste in sospeso:
<channel>-pairing.json - Archivio delle allowlist approvate:
- Account predefinito:
<channel>-allowFrom.json - Account non predefinito:
<channel>-<accountId>-allowFrom.json
- Account predefinito:
- Gli account non predefiniti leggono/scrivono solo il proprio file allowlist con ambito specifico.
- L’account predefinito usa il file allowlist senza ambito specifico del canale.
groupAllowFrom, groups o override per gruppo/per topic, a seconda del canale).
2) Associazione del dispositivo Node (nodi iOS/Android/macOS/headless)
I Node si connettono al Gateway come dispositivi conrole: node. Il Gateway
crea una richiesta di associazione del dispositivo che deve essere approvata.
Associare tramite Telegram (consigliato per iOS)
Se utilizzi il plugindevice-pair, puoi eseguire la prima associazione del dispositivo interamente da Telegram:
- In Telegram, invia un messaggio al tuo bot:
/pair - Il bot risponde con due messaggi: un messaggio di istruzioni e un messaggio separato con il codice di configurazione (facile da copiare/incollare in Telegram).
- Sul telefono, apri l’app OpenClaw iOS → Settings → Gateway.
- Incolla il codice di configurazione e connettiti.
- Torna in Telegram:
/pair pending(controlla ID richiesta, ruolo e ambiti), quindi approva.
url: l’URL WebSocket del Gateway (ws://...owss://...)bootstrapToken: un token bootstrap temporaneo per singolo dispositivo usato per l’handshake iniziale di associazione
- il token
nodeprimario passato rimanescopes: [] - qualsiasi token
operatorpassato rimane limitato alla bootstrap allowlist:operator.approvals,operator.read,operator.talk.secrets,operator.write - i controlli degli ambiti bootstrap sono prefissati per ruolo, non un unico pool piatto di ambiti: le voci di ambito operator soddisfano solo richieste operator, e i ruoli non-operator devono comunque richiedere ambiti con il prefisso del proprio ruolo
Approvare un dispositivo Node
requestId.
Importante: un dispositivo già associato non ottiene automaticamente un accesso più ampio. Se
si riconnette richiedendo più ambiti o un ruolo più esteso, OpenClaw mantiene
l’approvazione esistente così com’è e crea una nuova richiesta di aggiornamento in sospeso. Usa
openclaw devices list per confrontare l’accesso attualmente approvato con quello appena
richiesto prima di approvare.
Archiviazione dello stato di associazione del Node
Memorizzato in~/.openclaw/devices/:
pending.json(temporaneo; le richieste in sospeso scadono)paired.json(dispositivi associati + token)
Note
- L’API legacy
node.pair.*(CLI:openclaw nodes pending|approve|reject|rename) è un archivio di associazione separato gestito dal gateway. I Node WS richiedono comunque l’associazione del dispositivo. - Il record di associazione è la fonte di verità durevole per i ruoli approvati. I token del dispositivo attivi restano limitati a quell’insieme di ruoli approvati; una voce token errata al di fuori dei ruoli approvati non crea nuovo accesso.