Noder
En node är en kompanjonenhet (macOS/iOS/Android/headless) som ansluter till Gateway WebSocket (samma port som operatörer) medroll: "node" och exponerar en kommandoyta (e. . canvas.*, camera.*, system.*) via node.invoke. Protocol details: Gateway protocol.
Äldre transport: Bridge protocol (TCP JSONL; utfasad/borttagen för nuvarande noder).
macOS kan också köras i nodläge: menyradsappen ansluter till Gatewayns WS-server och exponerar sina lokala canvas-/kamerakommandon som en nod (så att openclaw nodes … fungerar mot denna Mac).
Noteringar:
- Noder är kringutrustning, inte gateways. De kör inte gateway service.
- Telegram/WhatsApp/etc.-meddelanden hamnar på gatewayen, inte på noder.
- Felsökningsrunbook: /nodes/troubleshooting
Parning + status
WS-noder använder enhets parkoppling. Noder presenterar en enhetsidentitet underconnect; Gateway
skapar en enhets parkopplingsförfrågan för roll: node. Godkänn via enheterna CLI (eller UI).
Snabb CLI:
nodes statusmarkerar en nod som parad när dess enhetsparningsroll inkluderarnode.node.pair.*(CLI:openclaw nodes pending/approve/reject) är ett separat gateway-ägt nodparningsregister; det spärrar inte WS-connect-handshaken.
Fjärr-nodvärd (system.run)
Använd en nod värd när din Gateway körs på en maskin och du vill att kommandona ska köras på en annan. Modellen talar fortfarande till gateway; gateway framåtexec anrop till nod värd när host=node är vald.
Vad körs var
- Gateway-värd: tar emot meddelanden, kör modellen, routar verktygsanrop.
- Nodvärd: kör
system.run/system.whichpå nodmaskinen. - Godkännanden: tillämpas på nodvärden via
~/.openclaw/exec-approvals.json.
Starta en nodvärd (förgrund)
På nodmaskinen:Fjärr-gateway via SSH-tunnel (loopback-bindning)
Om Gateway binder till loopback (gateway.bind=loopback, standard i lokalt läge), kan
fjärrnodvärdar inte ansluta direkt. Skapa en SSH-tunnel och peka
nod värd i den lokala änden av tunneln.
Exempel (nodvärd -> gateway-värd):
- Token är
gateway.auth.tokenfrån gateway-konfigen (~/.openclaw/openclaw.jsonpå gateway-värden). openclaw node runläserOPENCLAW_GATEWAY_TOKENför autentisering.
Starta en nodvärd (tjänst)
Para + namnge
På gateway-värden:--display-namepåopenclaw node run/openclaw node install(består i~/.openclaw/node.jsonpå noden).openclaw nodes rename --node <id|name|ip> --name "Build Node"(gateway-override).
Tillåtelselista kommandona
Exec godkännanden är per nod värd. Lägg till tillåtna poster från gateway:~/.openclaw/exec-approvals.json.
Peka exec mot noden
Konfigurera standarder (gateway-konfig):exec-anrop med host=node på nodvärden (med förbehåll för
nodens tillåtelselista/godkännanden).
Relaterat:
Anropa kommandon
Lågnivå (rå RPC):Skärmdumpar (canvas-ögonblicksbilder)
Om noden visar Canvas (WebView) returnerarcanvas.snapshot { format, base64 }.
CLI-hjälpare (skriver till en temporär fil och skriver ut MEDIA:<path>):
Canvas-kontroller
canvas presentaccepterar URL:er eller lokala filsökvägar (--target), samt valfri--x/--y/--width/--heightför positionering.canvas evalaccepterar inbäddad JS (--js) eller ett positionsargument.
A2UI (Canvas)
- Endast A2UI v0.8 JSONL stöds (v0.9/createSurface avvisas).
Foton + videor (nodkamera)
Foton (jpg):
mp4):
- Noden måste vara i förgrunden för
canvas.*ochcamera.*(bakgrundsanrop returnerarNODE_BACKGROUND_UNAVAILABLE). - Klipplängden begränsas (för närvarande
<= 60s) för att undvika för stora base64-payloads. - Android ber om behörigheter för
CAMERA/RECORD_AUDIOnär möjligt; nekade behörigheter misslyckas med*_PERMISSION_REQUIRED.
Skärminspelningar (noder)
Noder exponerarscreen.record (mp4). Exempel:
screen.recordkräver att nodappen är i förgrunden.- Android visar systemprompten för skärminspelning före inspelning.
- Skärminspelningar begränsas till
<= 60s. --no-audioinaktiverar mikrofoninspelning (stöds på iOS/Android; macOS använder systemets inspelningsljud).- Använd
--screen <index>för att välja skärm när flera skärmar finns tillgängliga.
Plats (noder)
Noder exponerarlocation.get när Plats är aktiverat i inställningarna.
CLI-hjälpare:
- Plats är avstängt som standard.
- ”Alltid” kräver systembehörighet; bakgrundshämtning är bästa möjliga.
- Svaret inkluderar lat/long, noggrannhet (meter) och tidsstämpel.
SMS (Android-noder)
Android-noder kan exponerasms.send när användaren beviljar SMS-behörighet och enheten stöder telefoni.
Lågnivåanrop:
- Behörighetsprompten måste godkännas på Android-enheten innan funktionen annonseras.
- Enheter utan telefoni som endast har Wi‑Fi annonserar inte
sms.send.
Systemkommandon (nodvärd / mac-nod)
macOS noden exponerarsystem.run, system.notify, och system.execApprovals.get/set.
Den huvudlösa nodvärden exponerar system.run, system.which, och system.execApprovals.get/set.
Exempel:
system.runreturnerar stdout/stderr/exitkod i payloaden.system.notifyrespekterar notifieringsbehörighetsstatus i macOS-appen.system.runstöder--cwd,--env KEY=VAL,--command-timeoutoch--needs-screen-recording.system.notifystöder--priority <passive|active|timeSensitive>och--delivery <system|overlay|auto>.- Node-värdar ignorerar
PATH-överskrivningar. Om du behöver extra PATH-poster, konfigurera node-värdtjänstens miljö (eller installera verktyg på standardplatser) istället för att skickaPATHvia--env. - På macOS node-läge är
system.rungated av exec godkännanden i macOS appen (inställningar → Exec godkännanden). Från/allowlist/full beter sig som den huvudlösa noden värden; nekade uppmaningar tillbakaSYSTEM_RUN_DENIED. - På headless nodvärd är
system.runspärrat av exec-godkännanden (~/.openclaw/exec-approvals.json).
Exec-nodbinding
När flera noder är tillgängliga kan du binda exec till en specifik nod. Detta sätter standardnoden förexec host=node (och kan åsidosättas per agent).
Global standard:
Behörighetskarta
Noder kan inkludera enpermissions karta i node.list / node.describe, tangentad med behörighetsnamn (t.ex. screenRecording, accessibility) med booleska värden (true = beviljad).
Headless nodvärd (plattformsoavhängig)
OpenClaw kan köra en huvudlös nodvärd (inget UI) som ansluter till Gateway WebSocket och exponerarsystem.run / system.which. Detta är användbart på Linux/Windows
eller för att köra en minimal nod tillsammans med en server.
Starta den:
- Parning krävs fortfarande (Gatewayn visar en nodgodkännandeprompt).
- Nodvärden lagrar sitt nod-id, token, visningsnamn och gateway-anslutningsinfo i
~/.openclaw/node.json. - Exec-godkännanden tillämpas lokalt via
~/.openclaw/exec-approvals.json(se Exec approvals). - På macOS, huvudlös nod värd föredrar följeslagare app exec värd när nås och faller
tillbaka till lokal körning om appen inte är tillgänglig. Ställ in
OPENCLAW_NODE_EXEC_HOST=appför att kräva appen, ellerOPENCLAW_NODE_EXEC_FALLBACK=0för att inaktivera reserven. - Lägg till
--tls/--tls-fingerprintnär Gateway WS använder TLS.
Mac nodläge
- macOS-menyradsappen ansluter till Gatewayns WS-server som en nod (så att
openclaw nodes …fungerar mot denna Mac). - I fjärrläge öppnar appen en SSH-tunnel för Gateway-porten och ansluter till
localhost.