Hulpmiddelen (OpenClaw)
OpenClaw stelt eersteklas agent-tools beschikbaar voor browser, canvas, nodes en cron. Deze vervangen de oudeopenclaw-* Skills: de tools zijn getypeerd, zonder shelling,
en de agent hoort er direct op te vertrouwen.
Tools uitschakelen
Je kunt tools globaal toestaan/weigeren viatools.allow / tools.deny in openclaw.json
(weigeren wint). Dit voorkomt dat niet-toegestane tools naar modelproviders worden gestuurd.
- Overeenkomen is hoofdletterongevoelig.
*-wildcards worden ondersteund ("*"betekent alle tools).- Als
tools.allowalleen onbekende of niet-geladen plugin-toolnamen bevat, logt OpenClaw een waarschuwing en negeert de toegestane lijst zodat kerntools beschikbaar blijven.
Toolprofielen (basis-toegestane lijst)
tools.profile stelt een basis-toegestane toollijst in vóór tools.allow/tools.deny.
Per-agent override: agents.list[].tools.profile.
Profielen:
minimal: alleensession_statuscoding:group:fs,group:runtime,group:sessions,group:memory,imagemessaging:group:messaging,sessions_list,sessions_history,sessions_send,session_statusfull: geen beperking (zelfde als niet ingesteld)
Provider-specifiek toolbeleid
Gebruiktools.byProvider om tools verder te beperken voor specifieke providers
(of één enkele provider/model) zonder je globale standaardinstellingen te wijzigen.
Per-agent override: agents.list[].tools.byProvider.
Dit wordt toegepast na het basis-toolprofiel en vóór toestaan/weigeren-lijsten,
dus het kan de toolset alleen verkleinen.
Provider-sleutels accepteren zowel provider (bijv. google-antigravity) als
provider/model (bijv. openai/gpt-5.2).
Voorbeeld (globaal coding-profiel behouden, maar minimale tools voor Google Antigravity):
Toolgroepen (snelkoppelingen)
Toolbeleid (globaal, agent, sandbox) ondersteuntgroup:*-items die uitbreiden naar meerdere tools.
Gebruik deze in tools.allow / tools.deny.
Beschikbare groepen:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,web_fetchgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: alle ingebouwde OpenClaw-tools (sluit provider-plugins uit)
Plugins + tools
Plugins kunnen aanvullende tools (en CLI-opdrachten) registreren naast de kernset. Zie Plugins voor installatie + configuratie, en Skills voor hoe richtlijnen voor toolgebruik in prompts worden geïnjecteerd. Sommige plugins leveren hun eigen Skills naast tools (bijvoorbeeld de voice-call plugin). Optionele plugin-tools:- Lobster: getypeerde workflow-runtime met hervatbare goedkeuringen (vereist de Lobster CLI op de Gateway-host).
- LLM Task: JSON-only LLM-stap voor gestructureerde workflow-uitvoer (optionele schema-validatie).
Toolinventaris
apply_patch
Pas gestructureerde patches toe op één of meerdere bestanden. Gebruik voor multi-hunk bewerkingen.
Experimenteel: inschakelen via tools.exec.applyPatch.enabled (alleen OpenAI-modellen).
tools.exec.applyPatch.workspaceOnly staat standaard op true (beperkt tot de workspace). Zet dit alleen op false als je er bewust voor kiest dat apply_patch buiten de workspace-directory mag schrijven/verwijderen.
exec
Voer shell-opdrachten uit in de werkruimte.
Kernparameters:
command(vereist)yieldMs(automatisch naar achtergrond na timeout, standaard 10000)background(direct naar achtergrond)timeout(seconden; stopt het proces bij overschrijding, standaard 1800)elevated(bool; uitvoeren op host als verhoogde modus is ingeschakeld/toegestaan; wijzigt alleen gedrag wanneer de agent gesandboxed is)host(sandbox | gateway | node)security(deny | allowlist | full)ask(off | on-miss | always)node(node-id/naam voorhost=node)- Echte TTY nodig? Stel
pty: truein.
- Retourneert
status: "running"met eensessionIdwanneer naar de achtergrond gestuurd. - Gebruik
processom achtergrond-sessies te pollen/loggen/schrijven/stoppen/opschonen. - Als
processniet is toegestaan, draaitexecsynchroon en negeertyieldMs/background. elevatedwordt afgeschermd doortools.elevatedplus een eventueleagents.list[].tools.elevated-override (beide moeten toestaan) en is een alias voorhost=gateway+security=full.elevatedwijzigt alleen gedrag wanneer de agent gesandboxed is (anders is het een no-op).host=nodekan richten op een macOS Companion-app of een headless node-host (openclaw node run).- gateway/node-goedkeuringen en toegestane lijsten: Exec approvals.
process
Beheer achtergrond-exec-sessies.
Kernacties:
list,poll,log,write,kill,clear,remove
pollretourneert nieuwe uitvoer en exitstatus wanneer voltooid.logondersteunt regelgebaseerdeoffset/limit(laatoffsetweg om de laatste N regels op te halen).processis per agent afgebakend; sessies van andere agents zijn niet zichtbaar.
web_search
Zoek op het web met de Brave Search API.
Kernparameters:
query(vereist)count(1–10; standaard uittools.web.search.maxResults)
- Vereist een Brave API-sleutel (aanbevolen:
openclaw configure --section web, of stelBRAVE_API_KEYin). - Inschakelen via
tools.web.search.enabled. - Antwoorden worden gecachet (standaard 15 min).
- Zie Web tools voor installatie.
web_fetch
Haal leesbare content op en extraheer deze uit een URL (HTML → markdown/tekst).
Kernparameters:
url(vereist)extractMode(markdown|text)maxChars(lange pagina’s afkappen)
- Inschakelen via
tools.web.fetch.enabled. maxCharswordt begrensd doortools.web.fetch.maxCharsCap(standaard 50000).- Antwoorden worden gecachet (standaard 15 min).
- Voor JS-zware sites heeft de browser-tool de voorkeur.
- Zie Web tools voor installatie.
- Zie Firecrawl voor de optionele anti-bot fallback.
browser
Bedien de door OpenClaw beheerde, dedicated browser.
Kernacties:
status,start,stop,tabs,open,focus,closesnapshot(aria/ai)screenshot(retourneert image block +MEDIA:<path>)act(UI-acties: click/type/press/hover/drag/select/fill/resize/wait/evaluate)navigate,console,pdf,upload,dialog
profiles— lijst alle browserprofielen met statuscreate-profile— maak nieuw profiel met automatisch toegewezen poort (ofcdpUrl)delete-profile— stop browser, verwijder gebruikersdata, verwijder uit config (alleen lokaal)reset-profile— kill verweesd proces op de poort van het profiel (alleen lokaal)
profile(optioneel; standaardbrowser.defaultProfile)target(sandbox|host|node)node(optioneel; kiest een specifieke node-id/naam) Notities:- Vereist
browser.enabled=true(standaardtrue; stelfalsein om uit te schakelen). - Alle acties accepteren een optionele
profile-parameter voor multi-instance-ondersteuning. - Wanneer
profileontbreekt, wordtbrowser.defaultProfilegebruikt (standaard “chrome”). - Profielnamen: alleen lowercase alfanumeriek + koppeltekens (max. 64 tekens).
- Poortbereik: 18800-18899 (~100 profielen max).
- Externe profielen zijn alleen attach-only (geen start/stop/reset).
- Als een browser-geschikte node is verbonden, kan de tool hier automatisch naartoe routen (tenzij je
targetvastzet). snapshotis standaardaiwanneer Playwright is geïnstalleerd; gebruikariavoor de toegankelijkheidsboom.snapshotondersteunt ook role-snapshot-opties (interactive,compact,depth,selector) die refs retourneren zoalse12.actvereistrefuitsnapshot(numerieke12uit AI-snapshots, ofe12uit role-snapshots); gebruikevaluatevoor zeldzame CSS-selectorbehoeften.- Vermijd standaard
act→wait; gebruik het alleen in uitzonderlijke gevallen (geen betrouwbare UI-status om op te wachten). uploadkan optioneel eenrefdoorgeven om automatisch te klikken na het armeren.uploadondersteunt ookinputRef(aria-ref) ofelement(CSS-selector) om<input type="file">direct in te stellen.
canvas
Stuur de node Canvas aan (present, eval, snapshot, A2UI).
Kernacties:
present,hide,navigate,evalsnapshot(retourneert image block +MEDIA:<path>)a2ui_push,a2ui_reset
- Gebruikt gateway
node.invokeonder de motorkap. - Als geen
nodeis opgegeven, kiest de tool een standaard (één verbonden node of lokale mac-node). - A2UI is alleen v0.8 (geen
createSurface); de CLI weigert v0.9 JSONL met regel-fouten. - Snelle rooktest:
openclaw nodes canvas a2ui push --node <id> --text "Hello from A2UI".
nodes
Ontdek en richt gepaarde nodes; verstuur notificaties; leg camera/scherm vast.
Kernacties:
status,describepending,approve,reject(pairing)notify(macOSsystem.notify)run(macOSsystem.run)camera_snap,camera_clip,screen_recordlocation_get
- Camera-/schermopdrachten vereisen dat de node-app op de voorgrond staat.
- Afbeeldingen retourneren image blocks +
MEDIA:<path>. - Video’s retourneren
FILE:<path>(mp4). - Locatie retourneert een JSON-payload (lat/lon/nauwkeurigheid/timestamp).
run-parameters:commandargv-array; optioneelcwd,env(KEY=VAL),commandTimeoutMs,invokeTimeoutMs,needsScreenRecording.
run):
image
Analyseer een afbeelding met het geconfigureerde afbeeldingsmodel.
Kernparameters:
image(vereist pad of URL)prompt(optioneel; standaard “Describe the image.”)model(optionele override)maxBytesMb(optionele groottebeperking)
- Alleen beschikbaar wanneer
agents.defaults.imageModelis geconfigureerd (primair of fallbacks), of wanneer een impliciet afbeeldingsmodel kan worden afgeleid uit je standaardmodel + geconfigureerde authenticatie (best-effort koppeling). - Gebruikt het afbeeldingsmodel direct (onafhankelijk van het hoofdchatmodel).
message
Verstuur berichten en kanaalacties via Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/iMessage/MS Teams.
Kernacties:
send(tekst + optionele media; MS Teams ondersteunt ookcardvoor Adaptive Cards)poll(WhatsApp/Discord/MS Teams polls)react/reactions/read/edit/deletepin/unpin/list-pinspermissionsthread-create/thread-list/thread-replysearchstickermember-info/role-infoemoji-list/emoji-upload/sticker-uploadrole-add/role-removechannel-info/channel-listvoice-statusevent-list/event-createtimeout/kick/ban
sendrouteert WhatsApp via de Gateway; andere kanalen gaan direct.pollgebruikt de Gateway voor WhatsApp en MS Teams; Discord-polls gaan direct.- Wanneer een message-toolcall is gebonden aan een actieve chatsessie, zijn verzendacties beperkt tot het doel van die sessie om cross-context-lekken te voorkomen.
cron
Beheer Gateway-cronjobs en wakeups.
Kernacties:
status,listadd,update,remove,run,runswake(enqueue systeemevent + optionele onmiddellijke heartbeat)
addverwacht een volledig cronjob-object (zelfde schema alscron.addRPC).updategebruikt{ jobId, patch }(idgeaccepteerd voor compatibiliteit).
gateway
Herstart of pas updates toe op het draaiende Gateway-proces (in-place).
Kernacties:
restart(autoriseert + verstuurtSIGUSR1voor in-process herstart;openclaw gatewayherstart in-place)config.get/config.schemaconfig.apply(valideren + config wegschrijven + herstart + wake)config.patch(gedeeltelijke update samenvoegen + herstart + wake)update.run(update uitvoeren + herstart + wake)
- Gebruik
delayMs(standaard 2000) om een lopend antwoord niet te onderbreken. restartis standaard uitgeschakeld; schakel in metcommands.restart: true.
sessions_list / sessions_history / sessions_send / sessions_spawn / session_status
Sessies weergeven, transcriptgeschiedenis inspecteren of naar een andere sessie verzenden.
Kernparameters:
sessions_list:kinds?,limit?,activeMinutes?,messageLimit?(0 = geen)sessions_history:sessionKey(ofsessionId),limit?,includeTools?sessions_send:sessionKey(ofsessionId),message,timeoutSeconds?(0 = fire-and-forget)sessions_spawn:task,label?,agentId?,model?,runTimeoutSeconds?,cleanup?session_status:sessionKey?(standaard huidige; accepteertsessionId),model?(defaultwist override)
mainis de canonieke direct-chat-sleutel; globaal/onbekend wordt verborgen.messageLimit > 0haalt de laatste N berichten per sessie op (toolberichten gefilterd).sessions_sendwacht op definitieve voltooiing wanneertimeoutSeconds > 0.- Levering/aankondiging gebeurt na voltooiing en is best-effort;
status: "ok"bevestigt dat de agentrun is afgerond, niet dat de aankondiging is afgeleverd. sessions_spawnstart een sub-agentrun en plaatst een announce-antwoord terug naar de aanvragende chat.sessions_spawnis non-blocking en retourneertstatus: "accepted"onmiddellijk.sessions_sendvoert een reply‑back ping‑pong uit (antwoordREPLY_SKIPom te stoppen; max. beurten viasession.agentToAgent.maxPingPongTurns, 0–5).- Na de ping‑pong voert de doelagent een announce-stap uit; antwoord
ANNOUNCE_SKIPom de aankondiging te onderdrukken.
agents_list
Lijst agent-id’s die de huidige sessie mag targeten met sessions_spawn.
Notities:
- Resultaat is beperkt tot per-agent toegestane lijsten (
agents.list[].subagents.allowAgents). - Wanneer
["*"]is geconfigureerd, bevat de tool alle geconfigureerde agents en markeertallowAny: true.
Parameters (gemeenschappelijk)
Gateway-gedekte tools (canvas, nodes, cron):
gatewayUrl(standaardws://127.0.0.1:18789)gatewayToken(als authenticatie is ingeschakeld)timeoutMs
gatewayUrl is ingesteld, neem gatewayToken expliciet op. Tools erven geen config-
of omgevingscredentials voor overrides, en ontbrekende expliciete credentials is een fout.
Browser-tool:
profile(optioneel; standaardbrowser.defaultProfile)target(sandbox|host|node)node(optioneel; pin een specifieke node-id/naam)
Aanbevolen agentflows
Browser-automatisering:browser→status/startsnapshot(ai of aria)act(click/type/press)screenshotals je visuele bevestiging nodig hebt
canvas→presenta2ui_push(optioneel)snapshot
nodes→statusdescribeop de gekozen nodenotify/run/camera_snap/screen_record
Veiligheid
- Vermijd directe
system.run; gebruiknodes→runalleen met expliciete toestemming van de gebruiker. - Respecteer toestemming van de gebruiker voor camera-/schermopname.
- Gebruik
status/describeom rechten te waarborgen vóór het aanroepen van media-opdrachten.
Hoe tools aan de agent worden gepresenteerd
Tools worden in twee parallelle kanalen aangeboden:- Systeemprompttekst: een voor mensen leesbare lijst + richtlijnen.
- Toolschema: de gestructureerde functiedefinities die naar de model-API worden gestuurd.