Configuration
Koppelen
"Koppelen" is de expliciete stap voor toegangsgoedkeuring van OpenClaw. Het wordt op twee plaatsen gebruikt:
- DM-koppeling (wie met de bot mag praten)
- Node-koppeling (welke apparaten/nodes mogen deelnemen aan het gatewaynetwerk)
Beveiligingscontext: Beveiliging
1) DM-koppeling (inkomende chattoegang)
Wanneer een kanaal is geconfigureerd met DM-beleid pairing, krijgen onbekende afzenders een korte code en wordt hun bericht niet verwerkt totdat je het goedkeurt.
Standaard DM-beleid is gedocumenteerd in: Beveiliging
dmPolicy: "open" is alleen openbaar wanneer de effectieve DM-allowlist "*" bevat.
Setup en validatie vereisen die wildcard voor openbaar-open configuraties. Als bestaande
state open met concrete allowFrom-vermeldingen bevat, laat de runtime nog steeds
alleen die afzenders toe, en goedkeuringen in de pairing-store verbreden open-toegang niet.
Koppelcodes:
- 8 tekens, hoofdletters, geen dubbelzinnige tekens (
0O1I). - Verlopen na 1 uur. De bot verstuurt het koppelbericht alleen wanneer een nieuw verzoek wordt aangemaakt (ongeveer eenmaal per uur per afzender).
- Openstaande DM-koppelverzoeken zijn standaard beperkt tot 3 per kanaal; extra verzoeken worden genegeerd totdat er een verloopt of wordt goedgekeurd.
Een afzender goedkeuren
openclaw pairing list telegramopenclaw pairing approve telegram <CODE>Als er nog geen commando-eigenaar is geconfigureerd, initialiseert het goedkeuren van een DM-koppelcode ook
commands.ownerAllowFrom naar de goedgekeurde afzender, zoals telegram:123456789.
Dat geeft eerste setups een expliciete eigenaar voor bevoorrechte commando's en exec-
goedkeuringsprompts. Nadat er een eigenaar bestaat, verlenen latere koppelgoedkeuringen alleen DM-
toegang; ze voegen geen extra eigenaren toe.
Ondersteunde kanalen: discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
Herbruikbare afzendergroepen
Gebruik accessGroups op topniveau wanneer dezelfde vertrouwde afzenderset moet gelden voor
meerdere berichtkanalen of voor zowel DM- als groepsallowlists.
Statische groepen gebruiken type: "message.senders" en worden vanuit kanaalallowlists verwezen met
accessGroup:<name>:
{ accessGroups: { operators: { type: "message.senders", members: { discord: ["discord:123456789012345678"], telegram: ["987654321"], whatsapp: ["+15551234567"], }, }, }, channels: { telegram: { dmPolicy: "allowlist", allowFrom: ["accessGroup:operators"] }, whatsapp: { groupPolicy: "allowlist", groupAllowFrom: ["accessGroup:operators"] }, },}Toegangsgroepen worden hier in detail gedocumenteerd: Toegangsgroepen
Waar de state staat
Opgeslagen onder ~/.openclaw/credentials/:
- Openstaande verzoeken:
<channel>-pairing.json - Goedgekeurde allowlist-store:
- Standaardaccount:
<channel>-allowFrom.json - Niet-standaardaccount:
<channel>-<accountId>-allowFrom.json
- Standaardaccount:
Gedrag voor accountscoping:
- Niet-standaardaccounts lezen/schrijven alleen hun scoped allowlist-bestand.
- Standaardaccount gebruikt het kanaalbrede unscoped allowlist-bestand.
Behandel deze als gevoelig (ze regelen toegang tot je assistent).
2) Node-apparaatkoppeling (iOS/Android/macOS/headless nodes)
Nodes verbinden met de Gateway als apparaten met role: node. De Gateway
maakt een apparaatkoppelverzoek aan dat moet worden goedgekeurd.
Koppelen vanuit de Control UI (aanbevolen)
Gebruik een al verbonden Control UI-sessie met operator.admin-toegang:
- Open de Control UI en selecteer Nodes.
- Klik in Apparaten op Mobiel apparaat koppelen.
- Open op je telefoon de OpenClaw-app → Instellingen → Gateway.
- Scan de QR-code of plak de installatiecode en maak vervolgens verbinding.
Officiële OpenClaw iOS- en Android-apps worden automatisch goedgekeurd wanneer hun metadata voor de installatiecode overeenkomt. Als Apparaten een openstaand verzoek toont (bij voorbeeld voor een niet-officiële client of niet-overeenkomende metadata), controleer dan de rol en scopes voordat je het goedkeurt.
De knop is uitgeschakeld wanneer de huidige Control UI-sessie geen beheerderstoegang heeft. Gebruik in dat geval de CLI-goedkeuringsflow hieronder vanaf de Gateway-host.
Koppelen via Telegram
Als je de device-pair-Plugin gebruikt, kun je eerste apparaatkoppeling volledig vanuit Telegram doen:
- Stuur in Telegram een bericht naar je bot:
/pair - De bot antwoordt met twee berichten: een instructiebericht en een afzonderlijk installatiecode-bericht (eenvoudig te kopiëren/plakken in Telegram).
- Open op je telefoon de OpenClaw iOS-app → Instellingen → Gateway.
- Scan de QR-code of plak de installatiecode en maak verbinding.
- De officiële mobiele app maakt automatisch verbinding. Als
/pair pendingeen verzoek toont, controleer dan de rol en scopes voordat je het goedkeurt.
De installatiecode is een base64-gecodeerde JSON-payload die bevat:
url: de Gateway WebSocket-URL (ws://...ofwss://...)bootstrapToken: een kortlevend bootstrap-token voor één apparaat dat wordt gebruikt voor de initiële koppelhandshake
Dat bootstrap-token draagt het ingebouwde pairing-bootstrapprofiel:
- het ingebouwde setupprofiel staat alleen de verse QR-/installatiecodebasis toe:
nodeplus een begrensdeoperator-overdracht - het overgedragen
node-token blijftscopes: [] - het overgedragen
operator-token is beperkt totoperator.approvals,operator.read,operator.talk.secretsenoperator.write operator.adminwordt niet verleend door QR-/installatiecode-bootstrap; daarvoor is een afzonderlijke goedgekeurde operator-koppeling of tokenflow vereist- latere tokenrotatie/-intrekking blijft begrensd door zowel het goedgekeurde rolcontract van het apparaat als de operator-scopes van de aanroepende sessie
Behandel de installatiecode als een wachtwoord zolang deze geldig is.
Gebruik voor Tailscale, openbare of andere externe mobiele koppeling Tailscale Serve/Funnel
of een andere wss:// Gateway-URL. Plaintext ws://-installatiecodes worden alleen geaccepteerd
voor loopback, privé-LAN-adressen, .local Bonjour-hosts en de Android-
emulatorhost. Tailnet CGNAT-adressen, .ts.net-namen en openbare hosts falen nog steeds
gesloten voordat QR-/installatiecode-uitgifte plaatsvindt.
Een Node-apparaat goedkeuren
openclaw devices listopenclaw devices approve <requestId>openclaw devices reject <requestId>Wanneer een expliciete goedkeuring wordt geweigerd omdat de goedkeurende paired-device-sessie
is geopend met pairing-only scope, probeert de CLI hetzelfde verzoek opnieuw met
operator.admin. Hierdoor kan een bestaand admin-capable gekoppeld apparaat een nieuwe
Control UI-/browserkoppeling herstellen zonder devices/paired.json handmatig te bewerken. De
Gateway valideert de opnieuw geprobeerde verbinding nog steeds; tokens die niet kunnen authenticeren
met operator.admin blijven geblokkeerd.
Als hetzelfde apparaat opnieuw probeert met andere auth-details (bijvoorbeeld een andere
rol/scopes/public key), wordt het vorige openstaande verzoek vervangen en wordt een nieuwe
requestId aangemaakt.
Optionele vertrouwde-CIDR Node-auto-goedkeuring
Apparaatkoppeling blijft standaard handmatig. Voor strak gecontroleerde Node-netwerken kun je je aanmelden voor automatische goedkeuring van eerste Node-koppelingen met expliciete CIDR's of exacte IP's:
{ gateway: { nodes: { pairing: { autoApproveCidrs: ["192.168.1.0/24"], }, }, },}Dit geldt alleen voor verse role: node-koppelverzoeken zonder aangevraagde
scopes. Operator-, browser-, Control UI- en WebChat-clients vereisen nog steeds handmatige
goedkeuring. Wijzigingen in rol, scope, metadata en public key vereisen nog steeds handmatige
goedkeuring.
Opslag van Node-koppelstate
Opgeslagen onder ~/.openclaw/devices/:
pending.json(kortlevend; openstaande verzoeken verlopen)paired.json(gekoppelde apparaten + tokens)
Opmerkingen
- De legacy
node.pair.*-API (CLI:openclaw nodes pending|approve|reject|remove|rename) is een afzonderlijke gateway-owned pairing-store. WS-nodes vereisen nog steeds apparaatkoppeling. - Het pairing-record is de duurzame bron van waarheid voor goedgekeurde rollen. Actieve apparaattokens blijven begrensd tot die goedgekeurde rollenset; een verdwaalde tokenvermelding buiten de goedgekeurde rollen creëert geen nieuwe toegang.