Configuration
Koppelen
"Koppelen" is de expliciete stap voor toegangstoestemming 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 Gateway-netwerk)
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 dit goedkeurt.
Standaard DM-beleid is gedocumenteerd in: Beveiliging
dmPolicy: "open" is alleen openbaar wanneer de effectieve DM-allowlist "*" bevat.
Installatie en validatie vereisen die wildcard voor openbaar-open configuraties. Als bestaande
status open bevat met concrete allowFrom-vermeldingen, laat de runtime nog steeds
alleen die afzenders toe, en goedkeuringen in de koppelingsopslag verbreden open-toegang niet.
Koppelcodes:
- 8 tekens, hoofdletters, geen verwarrende tekens (
0O1I). - Verlopen na 1 uur. De bot stuurt het koppelingsbericht alleen wanneer een nieuw verzoek wordt aangemaakt (ongeveer eenmaal per uur per afzender).
- Wachtende DM-koppelingsverzoeken 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 opdrachteigenaar is geconfigureerd, initialiseert het goedkeuren van een DM-koppelcode ook
commands.ownerAllowFrom naar de goedgekeurde afzender, zoals telegram:123456789.
Dat geeft eerste installaties een expliciete eigenaar voor bevoorrechte opdrachten en exec-
goedkeuringsprompts. Nadat er een eigenaar bestaat, verlenen latere koppelingsgoedkeuringen 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 het hoogste niveau wanneer dezelfde vertrouwde set afzenders moet gelden voor
meerdere berichtkanalen of voor zowel DM- als groeps-allowlists.
Statische groepen gebruiken type: "message.senders" en worden vanuit kanaal-allowlists 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 status staat
Opgeslagen onder ~/.openclaw/credentials/:
- Wachtende verzoeken:
<channel>-pairing.json - Goedgekeurde allowlist-opslag:
- Standaardaccount:
<channel>-allowFrom.json - Niet-standaardaccount:
<channel>-<accountId>-allowFrom.json
- Standaardaccount:
Gedrag voor accountafbakening:
- Niet-standaardaccounts lezen/schrijven alleen hun afgebakende allowlist-bestand.
- Het standaardaccount gebruikt het niet-afgebakende allowlist-bestand met kanaalbereik.
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 apparaatkoppelingsverzoek aan dat moet worden goedgekeurd.
Koppelen via Telegram (aanbevolen voor iOS)
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 bericht met installatiecode (makkelijk te kopiëren/plakken in Telegram).
- Open op je telefoon de OpenClaw iOS-app → Settings → Gateway.
- Scan de QR-code of plak de installatiecode en maak verbinding.
- Terug in Telegram:
/pair pending(controleer verzoek-ID's, rol en scopes), keur daarna goed.
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 koppelingshandshake
Dat bootstrap-token draagt het ingebouwde bootstrap-profiel voor koppeling:
- primair overgedragen
node-token blijftscopes: [] - elk overgedragen
operator-token blijft begrensd tot de bootstrap-allowlist:operator.approvals,operator.read,operator.talk.secrets,operator.write - bootstrap-scopecontroles zijn rol-geprefixt, niet één platte scopepool: operator-scopevermeldingen voldoen alleen aan operator-verzoeken, en niet-operatorrollen moeten nog steeds scopes aanvragen onder hun eigen rolprefix
- latere tokenrotatie/intrekking blijft begrensd door zowel het goedgekeurde rolcontract van het apparaat als de operator-scopes van de aanroepersessie
Behandel de installatiecode als een wachtwoord zolang deze geldig is.
Gebruik voor Tailscale, openbare of andere mobiele koppeling op afstand Tailscale Serve/Funnel
of een andere wss:// Gateway-URL. Platte tekst 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-/installatiecodes worden uitgegeven.
Een Node-apparaat goedkeuren
openclaw devices listopenclaw devices approve <requestId>openclaw devices reject <requestId>Wanneer een expliciete goedkeuring wordt geweigerd omdat de goedkeurende gekoppeld-apparaat-sessie
is geopend met alleen-koppelingsscope, probeert de CLI hetzelfde verzoek opnieuw met
operator.admin. Zo kan een bestaand gekoppeld apparaat met adminmogelijkheden 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-gegevens (bijvoorbeeld andere
rol/scopes/openbare sleutel), wordt het vorige wachtende verzoek vervangen en wordt een nieuw
requestId aangemaakt.
Optionele automatische goedkeuring van vertrouwde-CIDR Nodes
Apparaatkoppeling blijft standaard handmatig. Voor strak beheerde Node-netwerken kun je je aanmelden voor automatische eerste goedkeuring van Nodes met expliciete CIDR's of exacte IP's:
{ gateway: { nodes: { pairing: { autoApproveCidrs: ["192.168.1.0/24"], }, }, },}Dit geldt alleen voor nieuwe role: node-koppelingsverzoeken zonder aangevraagde
scopes. Operator-, browser-, Control UI- en WebChat-clients vereisen nog steeds handmatige
goedkeuring. Wijzigingen in rol, scope, metadata en openbare sleutel vereisen nog steeds handmatige
goedkeuring.
Statusopslag voor Node-koppeling
Opgeslagen onder ~/.openclaw/devices/:
pending.json(kortlevend; wachtende verzoeken verlopen)paired.json(gekoppelde apparaten + tokens)
Opmerkingen
- De verouderde
node.pair.*-API (CLI:openclaw nodes pending|approve|reject|remove|rename) is een afzonderlijke koppelingsopslag die door de Gateway wordt beheerd. WS-Nodes vereisen nog steeds apparaatkoppeling. - Het koppelingsrecord is de duurzame bron van waarheid voor goedgekeurde rollen. Actieve apparaattokens blijven begrensd tot die goedgekeurde rollenset; een losse tokenvermelding buiten de goedgekeurde rollen creëert geen nieuwe toegang.