Voor installatie, configuratie en probleemoplossing, zie Browser. Deze pagina is de referentie voor de lokale controle-HTTP-API, deDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw browser
CLI en scriptingpatronen (snapshots, refs, waits, debug-flows).
Controle-API (optioneel)
Alleen voor lokale integraties stelt de Gateway een kleine loopback-HTTP-API beschikbaar:- Status/starten/stoppen:
GET /,POST /start,POST /stop - Tabbladen:
GET /tabs,POST /tabs/open,POST /tabs/focus,DELETE /tabs/:targetId - Snapshot/screenshot:
GET /snapshot,POST /screenshot - Acties:
POST /navigate,POST /act - Hooks:
POST /hooks/file-chooser,POST /hooks/dialog - Downloads:
POST /download,POST /wait/download - Machtigingen:
POST /permissions/grant - Debuggen:
GET /console,POST /pdf - Debuggen:
GET /errors,GET /requests,POST /trace/start,POST /trace/stop,POST /highlight - Netwerk:
POST /response/body - Status:
GET /cookies,POST /cookies/set,POST /cookies/clear - Status:
GET /storage/:kind,POST /storage/:kind/set,POST /storage/:kind/clear - Instellingen:
POST /set/offline,POST /set/headers,POST /set/credentials,POST /set/geolocation,POST /set/media,POST /set/timezone,POST /set/locale,POST /set/device
?profile=<name>. POST /start?headless=true vraagt een
eenmalige headless-start aan voor lokaal beheerde profielen zonder de persistente
browserconfiguratie te wijzigen; attach-only-, remote CDP- en existing-session-profielen weigeren
die override omdat OpenClaw die browserprocessen niet start.
Als gedeelde-geheime Gateway-authenticatie is geconfigureerd, vereisen browser-HTTP-routes ook authenticatie:
Authorization: Bearer <gateway token>x-openclaw-password: <gateway password>of HTTP Basic-authenticatie met dat wachtwoord
- Deze zelfstandige loopback-browser-API gebruikt geen trusted-proxy- of Tailscale Serve-identiteitsheaders.
- Als
gateway.auth.modenoneoftrusted-proxyis, erven deze loopback-browserroutes die identiteitsdragende modi niet; houd ze alleen via loopback toegankelijk.
/act-foutcontract
POST /act gebruikt een gestructureerde foutrespons voor validatie op routeniveau en
beleidsfouten:
code-waarden:
ACT_KIND_REQUIRED(HTTP 400):kindontbreekt of wordt niet herkend.ACT_INVALID_REQUEST(HTTP 400): de actiepayload is niet genormaliseerd of gevalideerd.ACT_SELECTOR_UNSUPPORTED(HTTP 400):selectoris gebruikt met een niet-ondersteund actietype.ACT_EVALUATE_DISABLED(HTTP 403):evaluate(ofwait --fn) is uitgeschakeld door de configuratie.ACT_TARGET_ID_MISMATCH(HTTP 403):targetIdop topniveau of in batches conflicteert met het aanvraagdoel.ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501): de actie wordt niet ondersteund voor existing-session-profielen.
{ "error": "<message>" } retourneren zonder
code-veld.
Playwright-vereiste
Sommige functies (navigate/act/AI-snapshot/role-snapshot, elementscreenshots, PDF) vereisen Playwright. Als Playwright niet is geïnstalleerd, retourneren die eindpunten een duidelijke 501-fout. Wat nog werkt zonder Playwright:- ARIA-snapshots
- Role-stijl toegankelijkheidssnapshots (
--interactive,--compact,--depth,--efficient) wanneer een per-tab CDP-WebSocket beschikbaar is. Dit is een fallback voor inspectie en ref-detectie; Playwright blijft de primaire actie-engine. - Paginascreenshots voor de beheerde
openclaw-browser wanneer een per-tab CDP WebSocket beschikbaar is - Paginascreenshots voor
existing-session/ Chrome MCP-profielen existing-sessionref-gebaseerde screenshots (--ref) uit snapshotuitvoer
navigateact- AI-snapshots die afhankelijk zijn van Playwrights native AI-snapshotformaat
- CSS-selector-elementscreenshots (
--element) - volledige browser-PDF-export
--full-page; de route retourneert fullPage is not supported for element screenshots.
Als je Playwright is not available in this gateway build ziet, herstel dan de
gebundelde runtime-afhankelijkheden van de browser-Plugin zodat playwright-core is geïnstalleerd,
en herstart daarna de Gateway. Voor pakketinstallaties voer je openclaw doctor --fix uit.
Voor Docker installeer je ook de Chromium-browserbinaries zoals hieronder getoond.
Docker Playwright-installatie
Als je Gateway in Docker draait, vermijd dannpx playwright (npm-overrideconflicten).
Gebruik in plaats daarvan de gebundelde CLI:
PLAYWRIGHT_BROWSERS_PATH in (bijvoorbeeld
/home/node/.cache/ms-playwright) en zorg je dat /home/node persistent is via
OPENCLAW_HOME_VOLUME of een bind mount. Zie Docker.
Hoe het werkt (intern)
Een kleine loopback-controleserver accepteert HTTP-aanvragen en maakt verbinding met op Chromium gebaseerde browsers via CDP. Geavanceerde acties (click/type/snapshot/PDF) verlopen via Playwright boven op CDP; wanneer Playwright ontbreekt, zijn alleen niet-Playwright-bewerkingen beschikbaar. De agent ziet één stabiele interface terwijl lokale/externe browsers en profielen eronder vrij kunnen wisselen.CLI-snelreferentie
Alle opdrachten accepteren--browser-profile <name> om een specifiek profiel te gebruiken, en --json voor machineleesbare uitvoer.
Basis: status, tabbladen, openen/focussen/sluiten
Basis: status, tabbladen, openen/focussen/sluiten
Inspectie: screenshot, snapshot, console, fouten, aanvragen
Inspectie: screenshot, snapshot, console, fouten, aanvragen
Acties: navigeren, klikken, typen, slepen, wachten, evalueren
Acties: navigeren, klikken, typen, slepen, wachten, evalueren
Status: cookies, opslag, offline, headers, geo, apparaat
Status: cookies, opslag, offline, headers, geo, apparaat
uploadendialogzijn arming-aanroepen; voer ze uit vóór de klik/toetsdruk die de kiezer/dialoog triggert.click/type/enz. vereisen eenrefuitsnapshot(numeriek12, role-refe12, of uitvoerbare ARIA-refax12). CSS-selectors worden bewust niet ondersteund voor acties. Gebruikclick-coordswanneer de zichtbare viewportpositie het enige betrouwbare doel is.- Download-, trace- en uploadpaden zijn beperkt tot OpenClaw-temp-roots:
/tmp/openclaw{,/downloads,/uploads}(fallback:${os.tmpdir()}/openclaw/...). uploadkan ook bestandsinputs direct instellen via--input-refof--element.
suggestedTargetId uit tabs.
Snapshotvlaggen in één oogopslag:
--format ai(standaard met Playwright): AI-snapshot met numerieke refs (aria-ref="<n>").--format aria: toegankelijkheidsboom metaxN-refs. Wanneer Playwright beschikbaar is, bindt OpenClaw refs met backend-DOM-id’s aan de livepagina zodat vervolgacties ze kunnen gebruiken; anders behandel je de uitvoer alleen als inspectie.--efficient(of--mode efficient): compacte role-snapshotpreset. Stelbrowser.snapshotDefaults.mode: "efficient"in om dit de standaard te maken (zie Gateway-configuratie).--interactive,--compact,--depth,--selectorforceren een role-snapshot metref=e12-refs.--frame "<iframe>"beperkt role-snapshots tot een iframe.--labelsvoegt een viewport-only screenshot toe met overlay-reflabels (printMEDIA:<path>).--urlsvoegt gevonden linkbestemmingen toe aan AI-snapshots.
Snapshots en refs
OpenClaw ondersteunt twee “snapshot”-stijlen:-
AI-snapshot (numerieke refs):
openclaw browser snapshot(standaard;--format ai)- Uitvoer: een tekstsnapshot met numerieke refs.
- Acties:
openclaw browser click 12,openclaw browser type 23 "hello". - Intern wordt de ref opgelost via Playwrights
aria-ref.
-
Role-snapshot (role-refs zoals
e12):openclaw browser snapshot --interactive(of--compact,--depth,--selector,--frame)- Uitvoer: een role-gebaseerde lijst/boom met
[ref=e12](en optioneel[nth=1]). - Acties:
openclaw browser click e12,openclaw browser highlight e12. - Intern wordt de ref opgelost via
getByRole(...)(plusnth()voor duplicaten). - Voeg
--labelstoe om een viewportscreenshot met overlaydee12-labels op te nemen. - Voeg
--urlstoe wanneer linktekst dubbelzinnig is en de agent concrete navigatiedoelen nodig heeft.
- Uitvoer: een role-gebaseerde lijst/boom met
-
ARIA-snapshot (ARIA-refs zoals
ax12):openclaw browser snapshot --format aria- Uitvoer: de toegankelijkheidsboom als gestructureerde nodes.
- Acties:
openclaw browser click ax12werkt wanneer het snapshotpad de ref kan binden via Playwright en Chrome-backend-DOM-id’s.
-
Als Playwright niet beschikbaar is, kunnen ARIA-snapshots nog steeds nuttig zijn voor
inspectie, maar refs zijn mogelijk niet uitvoerbaar. Maak opnieuw een snapshot met
--format aiof--interactivewanneer je actierefs nodig hebt. -
Docker-bewijs voor het raw-CDP-fallbackpad:
pnpm test:docker:browser-cdp-snapshotstart Chromium met CDP, voertbrowser doctor --deepuit en verifieert dat role- snapshots link-URL’s, cursor-gepromote klikbare elementen en iframe-metadata bevatten.
- Refs zijn niet stabiel tussen navigaties; als iets mislukt, voer
snapshotopnieuw uit en gebruik een nieuwe ref. /actretourneert de huidige ruwetargetIdna door een actie veroorzaakte vervanging wanneer het de vervangende tab kan bewijzen. Blijf stabiele tab-id’s/labels gebruiken voor vervolgopdrachten.- Als de rolsnapshot met
--frameis gemaakt, zijn rol-refs beperkt tot dat iframe tot de volgende rolsnapshot. - Onbekende of verouderde
axN-refs falen snel in plaats van door te vallen naar Playwright’saria-ref-selector. Maak een nieuwe snapshot op dezelfde tab wanneer dat gebeurt.
Wacht-uitbreidingen
Je kunt op meer wachten dan alleen tijd/tekst:- Wachten op URL (globs ondersteund door Playwright):
openclaw browser wait --url "**/dash"
- Wachten op laadstatus:
openclaw browser wait --load networkidle
- Wachten op een JS-predicaat:
openclaw browser wait --fn "window.ready===true"
- Wachten tot een selector zichtbaar wordt:
openclaw browser wait "#main"
Debugworkflows
Wanneer een actie mislukt (bijv. “niet zichtbaar”, “strict-mode-schending”, “bedekt”):openclaw browser snapshot --interactive- Gebruik
click <ref>/type <ref>(geef in interactieve modus de voorkeur aan rol-refs) - Als het nog steeds mislukt:
openclaw browser highlight <ref>om te zien waarop Playwright mikt - Als de pagina zich vreemd gedraagt:
openclaw browser errors --clearopenclaw browser requests --filter api --clear
- Voor diepgaand debuggen: neem een trace op:
openclaw browser trace start- reproduceer het probleem
openclaw browser trace stop(printTRACE:<path>)
JSON-uitvoer
--json is bedoeld voor scripting en gestructureerde tooling.
Voorbeelden:
refs plus een klein stats-blok (lines/chars/refs/interactive), zodat tools kunnen redeneren over payloadgrootte en dichtheid.
Status- en omgevingsinstellingen
Deze zijn handig voor workflows zoals “laat de site zich gedragen als X”:- Cookies:
cookies,cookies set,cookies clear - Opslag:
storage local|session get|set|clear - Offline:
set offline on|off - Headers:
set headers --headers-json '{"X-Debug":"1"}'(legacyset headers --json '{"X-Debug":"1"}'blijft ondersteund) - HTTP-basic-auth:
set credentials user pass(of--clear) - Geolocatie:
set geo <lat> <lon> --origin "https://example.com"(of--clear) - Media:
set media dark|light|no-preference|none - Tijdzone / locale:
set timezone ...,set locale ... - Apparaat / viewport:
set device "iPhone 14"(Playwright-apparaatpresets)set viewport 1280 720
Beveiliging en privacy
- Het openclaw-browserprofiel kan ingelogde sessies bevatten; behandel het als gevoelig.
browser act kind=evaluate/openclaw browser evaluateenwait --fnvoeren willekeurige JavaScript uit in de paginacontext. Prompt injection kan dit sturen. Schakel het uit metbrowser.evaluateEnabled=falseals je het niet nodig hebt.- Zie voor logins en anti-botnotities (X/Twitter, enz.) Browserlogin + posten op X/Twitter.
- Houd de Gateway/node-host privé (loopback of alleen tailnet).
- Externe CDP-eindpunten zijn krachtig; tunnel en bescherm ze.
Gerelateerd
- Browser — overzicht, configuratie, profielen, beveiliging
- Browserlogin — inloggen bij sites
- Browser Linux-probleemoplossing
- Browser WSL2-probleemoplossing