- DM-koppeling (wie met de bot mag communiceren)
- Node-koppeling (welke apparaten/nodes zich bij het Gateway-netwerk mogen aansluiten)
1) DM-koppeling (toegang tot inkomende chats)
Wanneer een kanaal is geconfigureerd met DM-beleidpairing, ontvangen onbekende afzenders een korte code en wordt hun bericht niet verwerkt totdat je toestemming geeft.
Het standaard-DM-beleid is hier gedocumenteerd: Beveiliging
dmPolicy: "open" is alleen openbaar wanneer de effectieve DM-toestaanlijst "*" bevat.
Voor installatie en validatie is dat jokerteken vereist voor openbaar toegankelijke configuraties. Als de bestaande
status open met concrete allowFrom-vermeldingen bevat, laat de runtime nog steeds
alleen die afzenders toe en verruimen goedkeuringen in het koppelingsarchief de toegang tot open niet.
Koppelingscodes:
- 8 tekens, hoofdletters, geen dubbelzinnige tekens (
0O1I). - Verlopen na 1 uur. De bot stuurt het koppelingsbericht alleen wanneer een nieuw verzoek wordt aangemaakt (ongeveer eenmaal per uur per afzender).
- Openstaande DM-koppelingsverzoeken zijn beperkt tot 3 per kanaalaccount; aanvullende verzoeken worden genegeerd totdat er één verloopt of wordt goedgekeurd.
Goedkeuren via de Control UI
Open Settings → Channels → DM access requests. De wachtrij combineert openstaande verzoeken van elk geconfigureerd kanaalaccount waarvan het DM-beleidpairing is.
Filter op kanaal of account, controleer de afzender-ID en metagegevens en kies vervolgens
Approve.
Goedkeuring verleent alleen toegang tot directe berichten. Deze verleent geen toegang tot groepen. Het
goedkeuringsvenster biedt, indien ondersteund, ook deze expliciete opties:
- De aanvrager na goedkeuring informeren
- Deze afzender ook de eerste opdrachteigenaar maken, alleen weergegeven wanneer er geen
opdrachteigenaar bestaat en de Control UI-sessie
operator.adminheeft
Goedkeuren via de CLI
--notify toe om de aanvrager via hetzelfde kanaal te informeren. Kanalen met meerdere accounts
accepteren --account <id>.
In tegenstelling tot het expliciete selectievakje van de Control UI initialiseert de CLI automatisch
commands.ownerAllowFrom wanneer er geen opdrachteigenaar is geconfigureerd, met een vermelding
zoals telegram:123456789. Dit geeft nieuwe installaties een expliciete eigenaar voor
bevoorrechte opdrachten en verzoeken om uitvoering goed te keuren. Nadat er een eigenaar bestaat, verlenen latere
koppelingsgoedkeuringen alleen DM-toegang; ze voegen geen extra eigenaren toe.
De aanmeldings-QR-code van WhatsApp koppelt een WhatsApp-account aan OpenClaw. DM-toegangsverzoeken
keuren personen goed die berichten naar dat account sturen. Dit zijn afzonderlijke processen.
openclaw-weixin kunnen er meer toevoegen): discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, signal, slack, sms, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
Herbruikbare afzendergroepen
GebruikaccessGroups op het hoogste niveau wanneer dezelfde set vertrouwde afzenders van toepassing moet zijn op
meerdere berichtkanalen of op zowel DM- als groepstoestaanlijsten.
Statische groepen gebruiken type: "message.senders" en er wordt vanuit kanaaltoestaanlijsten naar verwezen met
accessGroup:<name>:
Waar de status wordt opgeslagen
Opgeslagen in de gedeelde SQLite-statusdatabase op~/.openclaw/state/openclaw.sqlite:
- openstaande verzoeken in
channel_pairing_requests - goedgekeurde afzenders in
channel_pairing_allow_entries
- elk verzoek en elke goedgekeurde afzender wordt geïdentificeerd door kanaal en account
- de runtime leest alleen de canonieke SQLite-rijen; deze voegt geen verouderde bestanden samen
<channel>-pairing.json en
<channel>-<accountId>-allowFrom.json onder ~/.openclaw/credentials/.
De opstartmigratie en openclaw doctor --fix importeren deze bestanden in SQLite en
verwijderen elke bron na een geslaagde import. Behandel de SQLite-database als
gevoelig, omdat deze rijen de toegang tot je assistent beheren.
Het archief met de koppelings-toestaanlijst is bedoeld voor DM-toegang. Groepsautorisatie is afzonderlijk.
Het goedkeuren van een DM-koppelingscode staat die afzender niet automatisch toe om groepsopdrachten
uit te voeren of de bot in groepen te besturen. De initialisatie van de eerste eigenaar is een afzonderlijke configuratiestatus
in
commands.ownerAllowFrom, en de bezorging van groepschats blijft de
groepstoestaanlijsten van het kanaal volgen (bijvoorbeeld groupAllowFrom, groups of overschrijvingen per groep
of per onderwerp, afhankelijk van het kanaal).2) Node-apparaten koppelen (iOS/Android/macOS/headless nodes)
Nodes maken als apparaten metrole: node verbinding met de Gateway. De Gateway
maakt een apparaatkoppelingsverzoek aan dat moet worden goedgekeurd.
Koppelen via de Control UI (aanbevolen)
Gebruik een reeds verbonden Control UI-sessie metoperator.admin-toegang:
- Open de Control UI en ga naar Settings → Devices.
- Klik op de pagina Devices op Pair mobile device.
- Behoud Full access (recommended) of selecteer Limited access om administratieve Gateway-bedieningselementen weg te laten.
- Klik op Create setup code.
- Open op je telefoon de OpenClaw-app → Settings → Gateway.
- Scan de QR-code of plak de installatiecode en maak vervolgens verbinding.
Koppelen via Telegram
Als je dedevice-pair-plugin gebruikt, kun je de eerste apparaatkoppeling volledig vanuit Telegram uitvoeren:
- 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 en plakken in Telegram).
- Open op je telefoon de OpenClaw-app voor iOS → Settings → Gateway.
- Scan de QR-code (
/pair qr) 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 bereiken voordat je het goedkeurt.
url: de Gateway-WebSocket-URL (ws://...ofwss://...)urls: indien beschikbaar, de geordende LAN-/Tailnet-routes die de mobiele app kan proberenbootstrapToken: een eenmalig bootstrap-token voor de eerste koppelingshandshake; de Gateway laat dit na 10 minuten verlopen
/pair cleanup uit om ongebruikte installatiecodes ongeldig te maken nadat de koppeling is voltooid.
Dat bootstrap-token bevat het ingebouwde bootstrap-profiel voor koppeling:
- een veilige
wss://-installatie (of loopback op dezelfde host) gebruikt standaardnodeplus volledige systeemeigen mobieleoperator-toegang - het overgedragen
node-token blijftscopes: [] - het standaard overgedragen
operator-token bevatoperator.admin,operator.approvals,operator.read,operator.talk.secretsenoperator.write - Control UI Limited access en
openclaw qr --limitedlatenoperator.adminweg, terwijl de andere operatorbereiken behouden blijven - een installatie via LAN met tekst zonder opmaak en
ws://gebruikt automatisch hetzelfde beperkte profiel; configureerwss://of Tailscale Serve en genereer een nieuwe code voor volledige toegang - latere tokenrotatie/-intrekking blijft begrensd door zowel het goedgekeurde rolcontract van het apparaat als de operatorbereiken van de aanroepende sessie
wss://- of
Tailscale Serve-route. Genereer vervolgens een nieuwe installatiecode voor volledige toegang, scan of plak
deze op die instellingenpagina en maak opnieuw verbinding.
Gebruik voor koppeling via Tailscale, het openbare internet of andere externe mobiele verbindingen Tailscale Serve/Funnel
of een andere wss://-Gateway-URL. Installatiecodes met ws:// en tekst zonder opmaak worden alleen geaccepteerd
voor loopback, privé-LAN-adressen, .local-Bonjour-hosts en de Android-
emulatorhost. Niet-loopbackroutes met tekst zonder opmaak krijgen beperkte toegang. Tailnet-
CGNAT-adressen, .ts.net-namen en openbare hosts blijven gesloten voordat
QR-/installatiecodes worden uitgegeven.
Voor gateway.bind=lan-installatie-URL’s detecteert OpenClaw permanente Tailscale Serve-
HTTPS-hoofdroutes die de loopbackpoort van de actieve Gateway als proxy doorgeven en adverteert deze
naast de LAN-route. De installatieopdracht voegt deze terugvaloptie alleen toe
voor lan; custom en tailnet behouden hun expliciet geadverteerde routes. De
iOS-app test de geadverteerde routes op volgorde en slaat het eerste bereikbare
eindpunt op.
Een Node-apparaat goedkeuren
operator.admin. Hierdoor kan een bestaand gekoppeld apparaat met beheerdersmogelijkheden een nieuwe
Control UI-/browserkoppeling herstellen zonder het koppelingsarchief handmatig te bewerken. De
Gateway valideert de opnieuw geprobeerde verbinding nog steeds; tokens die niet kunnen verifiëren
met operator.admin blijven geblokkeerd.
Als hetzelfde apparaat het opnieuw probeert met andere verificatiegegevens (bijvoorbeeld een andere
rol, andere bereiken of een andere openbare sleutel), wordt het vorige openstaande verzoek vervangen en wordt er een nieuwe
requestId aangemaakt.
Een reeds gekoppeld apparaat krijgt niet stilzwijgend ruimere toegang. Als het opnieuw verbinding maakt en om meer bereiken of een ruimere rol vraagt, behoudt OpenClaw de bestaande goedkeuring ongewijzigd en maakt het een nieuw openstaand upgradeverzoek aan. Gebruik
openclaw devices list om de momenteel goedgekeurde toegang te vergelijken met de nieuw aangevraagde toegang voordat je deze goedkeurt.Optionele automatische goedkeuring van nodes uit vertrouwde CIDR’s
Apparaatkoppeling blijft standaard handmatig. Voor streng beheerde Node-netwerken kun je automatische goedkeuring van een eerste Node-koppeling inschakelen met expliciete CIDR’s of exacte IP-adressen:role: node-koppelingsverzoeken zonder aangevraagde
bereiken. Clients voor operators, browsers, de Control UI en WebChat vereisen nog steeds handmatige
goedkeuring. Wijzigingen in rol, bereik, metagegevens en openbare sleutel vereisen nog steeds handmatige
goedkeuring.
Opslag van Node-koppelingsstatus
Opgeslagen in de gedeelde SQLite-statusdatabase op~/.openclaw/state/openclaw.sqlite:
- openstaande apparaatkoppelingsverzoeken (kortstondig; ze verlopen na 5 minuten)
- gekoppelde apparaten en tokens
~/.openclaw/devices/*.json; die bestanden worden
bij het opstarten van de Gateway in SQLite geïmporteerd en met het achtervoegsel .migrated gearchiveerd.
Opmerkingen
- De API
node.pair.*(CLI:openclaw nodes pending|approve|reject|remove|rename) beheert goedkeuringen voor Node-mogelijkheden die in dezelfde gekoppelde apparaatrecords zijn opgeslagen. WS-nodes vereisen nog steeds apparaatkoppeling; zie Node-koppeling. - De koppelingsrecord is de duurzame bron van waarheid voor goedgekeurde rollen. Actieve apparaattokens blijven beperkt tot die set goedgekeurde rollen; een losse tokenvermelding buiten de goedgekeurde rollen verleent geen nieuwe toegang.