Zie Browser voor installatie, configuratie en probleemoplossing. Deze pagina is de referentie voor de lokale control-HTTP-API, deDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw browser
CLI en scriptpatronen (snapshots, refs, waits, debugflows).
Control-API (optioneel)
Alleen voor lokale integraties stelt de Gateway een kleine local loopback HTTP-API beschikbaar:- Status/start/stop:
GET /,POST /start,POST /stop - Tabs:
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 - Debugging:
GET /console,POST /pdf - Debugging:
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 permanente
browserconfiguratie te wijzigen; profielen voor attach-only, externe CDP en bestaande sessies wijzen
die override af omdat OpenClaw die browserprocessen niet start.
Als shared-secret-authenticatie voor de Gateway 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 local loopback browser-API gebruikt geen vertrouwde-proxy- of Tailscale Serve-identiteitsheaders.
- Als
gateway.auth.modenoneoftrusted-proxyis, nemen deze local loopback browser- routes die identiteitsdragende modi niet over; houd ze uitsluitend op local loopback.
/act-foutcontract
POST /act gebruikt een gestructureerd foutantwoord voor validatie op routeniveau en
policyfouten:
code-waarden:
ACT_KIND_REQUIRED(HTTP 400):kindontbreekt of wordt niet herkend.ACT_INVALID_REQUEST(HTTP 400): de actiepayload is niet door normalisatie of validatie gekomen.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 aanvraagtarged.ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501): de actie wordt niet ondersteund voor bestaande-sessieprofielen.
{ "error": "<message>" } retourneren zonder een
code-veld.
Playwright-vereiste
Sommige functies (navigate/act/AI-snapshot/rolsnapshot, elementscreenshots, PDF) vereisen Playwright. Als Playwright niet is geïnstalleerd, retourneren die endpoints een duidelijke 501-fout. Wat nog werkt zonder Playwright:- ARIA-snapshots
- Rolachtige toegankelijkheidssnapshots (
--interactive,--compact,--depth,--efficient) wanneer een CDP-WebSocket per tabblad beschikbaar is. Dit is een fallback voor inspectie en ref-ontdekking; Playwright blijft de primaire actie-engine. - Paginascreenshots voor de beheerde
openclaw-browser wanneer een CDP- WebSocket per tabblad beschikbaar is - Paginascreenshots voor
existing-session/ Chrome MCP-profielen - Op refs gebaseerde
existing-session-screenshots (--ref) uit snapshotuitvoer
navigateact- AI-snapshots die afhankelijk zijn van Playwrights native AI-snapshotformaat
- Elementscreenshots met CSS-selector (
--element) - volledige browser-PDF-export
--full-page af; de route retourneert fullPage is not supported for element screenshots.
Als je Playwright is not available in this gateway build ziet, mist de verpakte
Gateway de kernruntime-afhankelijkheid voor browsers. Installeer OpenClaw opnieuw of werk het bij,
en herstart daarna de Gateway. Installeer voor Docker ook de Chromium-
browserbinaries zoals hieronder weergegeven.
Docker Playwright-installatie
Als je Gateway in Docker draait, vermijd dannpx playwright (npm-overrideconflicten).
Bak voor aangepaste images Chromium in de image:
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. OpenClaw detecteert de persistente
Chromium automatisch op Linux. Zie Docker.
Hoe het werkt (intern)
Een kleine local loopback control-server accepteert HTTP-verzoeken en maakt verbinding met Chromium-gebaseerde browsers via CDP. Geavanceerde acties (click/type/snapshot/PDF) lopen 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 worden gewisseld.CLI-snelreferentie
Alle opdrachten accepteren--browser-profile <name> om een specifiek profiel te targeten, en --json voor machineleesbare uitvoer.
Basis: status, tabbladen, openen/focussen/sluiten
Basis: status, tabbladen, openen/focussen/sluiten
Inspectie: screenshot, snapshot, console, fouten, verzoeken
Inspectie: screenshot, snapshot, console, fouten, verzoeken
Acties: navigeren, klikken, typen, slepen, wachten, evalueren
Acties: navigeren, klikken, typen, slepen, wachten, evalueren
Status: cookies, storage, offline, headers, geo, apparaat
Status: cookies, storage, offline, headers, geo, apparaat
uploadendialogzijn voorbereidende calls; voer ze uit vóór de klik/toetsdruk die de chooser/dialog activeert.click/type/enzovoort vereisen eenrefuitsnapshot(numerieke12, rolrefe12, 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-temproots:
/tmp/openclaw{,/downloads,/uploads}(fallback:${os.tmpdir()}/openclaw/...). uploadkan bestandsinputs ook rechtstreeks instellen via--input-refof--element.
suggestedTargetId uit tabs.
Snapshotflags 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 live pagina zodat vervolgacties ze kunnen gebruiken; behandel de uitvoer anders als uitsluitend voor inspectie.--efficient(of--mode efficient): compacte voorinstelling voor rolsnapshot. Stelbrowser.snapshotDefaults.mode: "efficient"in om dit de standaard te maken (zie Gateway-configuratie).--interactive,--compact,--depth,--selectorforceren een rolsnapshot metref=e12-refs.--frame "<iframe>"beperkt rolsnapshots 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.
-
Rolsnapshot (rolrefs zoals
e12):openclaw browser snapshot --interactive(of--compact,--depth,--selector,--frame)- Uitvoer: een rolgebaseerde 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 overlay-e12-labels op te nemen. - Voeg
--urlstoe wanneer linktekst ambigu is en de agent concrete navigatiedoelen nodig heeft.
- Uitvoer: een rolgebaseerde lijst/boom met
-
ARIA-snapshot (ARIA-verwijzingen zoals
ax12):openclaw browser snapshot --format aria- Uitvoer: de toegankelijkheidsboom als gestructureerde knooppunten.
- Acties:
openclaw browser click ax12werkt wanneer het snapshotpad de verwijzing via Playwright en DOM-id’s van de Chrome-backend kan binden.
-
Als Playwright niet beschikbaar is, kunnen ARIA-snapshots nog steeds nuttig
zijn voor inspectie, maar verwijzingen zijn mogelijk niet uitvoerbaar. Maak
opnieuw een snapshot met
--format aiof--interactivewanneer je actieverwijzingen nodig hebt. -
Docker-bewijs voor het raw-CDP-terugvalpad:
pnpm test:docker:browser-cdp-snapshotstart Chromium met CDP, voertbrowser doctor --deepuit en verifieert dat rolsnapshots link-URL’s, door de cursor gepromoveerde klikbare elementen en iframe-metadata bevatten.
- Verwijzingen zijn niet stabiel tussen navigaties; als iets mislukt, voer
snapshotopnieuw uit en gebruik een nieuwe verwijzing. /actretourneert de huidige ruwetargetIdna door een actie veroorzaakte vervanging wanneer het het vervangende tabblad kan bewijzen. Blijf stabiele tabblad-id’s/labels gebruiken voor vervolgopdrachten.- Als de rolsnapshot met
--frameis gemaakt, zijn rolverwijzingen beperkt tot dat iframe tot de volgende rolsnapshot. - Onbekende of verouderde
axN-verwijzingen mislukken snel in plaats van door te vallen naar Playwrightsaria-ref-selector. Voer een nieuwe snapshot uit op hetzelfde tabblad wanneer dat gebeurt.
Krachtigere wachtopties
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"
Debug-workflows
Wanneer een actie mislukt (bijv. “niet zichtbaar”, “strict mode violation”, “bedekt”):openclaw browser snapshot --interactive- Gebruik
click <ref>/type <ref>(geef in interactieve modus de voorkeur aan rolverwijzingen) - 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 omgevingsknoppen
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"}'(verouderdeset headers --json '{"X-Debug":"1"}'blijft ondersteund) - HTTP-basisverificatie:
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. Promptinjectie kan dit sturen. Schakel dit uit metbrowser.evaluateEnabled=falseals je het niet nodig hebt.- Zie Browserlogin + X/Twitter plaatsen voor aanmeldingen en anti-bot-opmerkingen (X/Twitter, enzovoort).
- 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 - aanmelden bij sites
- Browser Linux-probleemoplossing
- Browser WSL2-probleemoplossing