Alles wat de agent doet naast tekst genereren gebeurt via tools. Tools zijn hoe de agent bestanden leest, opdrachten uitvoert, op het web surft, berichten verzendt en met apparaten communiceert.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Tools, Skills en Plugins
OpenClaw heeft drie lagen die samenwerken:Tools zijn wat de agent aanroept
Een tool is een getypeerde functie die de agent kan aanroepen (bijv.
exec, browser,
web_search, message). OpenClaw levert een set ingebouwde tools en
Plugins kunnen extra tools registreren.De agent ziet tools als gestructureerde functiedefinities die naar de model-API worden verzonden.Skills leren de agent wanneer en hoe
Een skill is een markdownbestand (
SKILL.md) dat in de systeemprompt wordt geïnjecteerd.
Skills geven de agent context, beperkingen en stapsgewijze begeleiding voor
effectief gebruik van tools. Skills staan in je werkruimte, in gedeelde mappen,
of worden meegeleverd in Plugins.Skills-referentie | Skills makenPlugins bundelen alles samen
Een Plugin is een pakket dat elke combinatie van mogelijkheden kan registreren:
kanalen, modelproviders, tools, Skills, spraak, realtime transcriptie,
realtime stem, mediabegrip, afbeeldingsgeneratie, videogeneratie,
web fetch, web search en meer. Sommige Plugins zijn core (meegeleverd met
OpenClaw), andere zijn extern (door de community gepubliceerd op npm).Plugins installeren en configureren | Bouw je eigen Plugin
Ingebouwde tools
Deze tools worden meegeleverd met OpenClaw en zijn beschikbaar zonder Plugins te installeren:| Tool | Wat het doet | Pagina |
|---|---|---|
exec / process | Shellopdrachten uitvoeren, achtergrondprocessen beheren | Exec, Exec-goedkeuringen |
code_execution | Gesandboxte externe Python-analyse uitvoeren | Code Execution |
browser | Een Chromium-browser bedienen (navigeren, klikken, screenshot) | Browser |
web_search / x_search / web_fetch | Het web doorzoeken, X-berichten doorzoeken, pagina-inhoud ophalen | Web, Web Fetch |
read / write / edit | Bestands-I/O in de werkruimte | |
apply_patch | Bestandswijzigingen met meerdere hunks | Apply Patch |
message | Berichten verzenden over alle kanalen | Agent Send |
nodes | Gekoppelde apparaten ontdekken en targeten | |
cron / gateway | Geplande taken beheren; de Gateway inspecteren, patchen, herstarten of bijwerken | |
image / image_generate | Afbeeldingen analyseren of genereren | Afbeeldingsgeneratie |
music_generate | Muziektracks genereren | Muziekgeneratie |
video_generate | Video’s genereren | Videogeneratie |
tts | Eenmalige tekst-naar-spraakconversie | TTS |
sessions_* / subagents / agents_list | Sessiebeheer, status en subagent-orkestratie | Subagents |
session_status | Lichtgewicht /status-achtige terugkoppeling en modeloverride per sessie | Sessietools |
image voor analyse en image_generate voor generatie of bewerking. Als je openai/*, google/*, fal/* of een andere niet-standaard afbeeldingsprovider target, configureer dan eerst de auth/API-sleutel van die provider.
Gebruik voor muziekwerk music_generate. Als je google/*, minimax/* of een andere niet-standaard muziekprovider target, configureer dan eerst de auth/API-sleutel van die provider.
Gebruik voor videowerk video_generate. Als je qwen/* of een andere niet-standaard videoprovider target, configureer dan eerst de auth/API-sleutel van die provider.
Gebruik voor workflow-gestuurde audiogeneratie music_generate wanneer een Plugin zoals
ComfyUI die registreert. Dit staat los van tts, wat tekst-naar-spraak is.
session_status is de lichtgewicht status-/terugkoppelingstool in de sessiegroep.
Deze beantwoordt /status-achtige vragen over de huidige sessie en kan
optioneel een modeloverride per sessie instellen; model=default wist die
override. Net als /status kan deze schaarse token-/cachetellers en het
actieve runtimemodellabel aanvullen vanuit de nieuwste transcriptgebruiksvermelding.
gateway is de runtime-tool alleen voor eigenaren voor Gateway-bewerkingen:
config.schema.lookupvoor één pad-afgebakende config-subtree vóór bewerkingenconfig.getvoor de huidige config-snapshot + hashconfig.patchvoor gedeeltelijke config-updates met herstartconfig.applyalleen voor volledige configvervangingupdate.runvoor expliciete zelfupdate + herstart
config.schema.lookup en daarna config.patch. Gebruik
config.apply alleen wanneer je bewust de volledige config vervangt.
Lees voor bredere configdocumentatie Configuratie en
Configuratiereferentie.
De tool weigert ook tools.exec.ask of tools.exec.security te wijzigen;
legacy tools.bash.*-aliassen normaliseren naar dezelfde beschermde exec-paden.
Door Plugins geleverde tools
Plugins kunnen extra tools registreren. Enkele voorbeelden:- Canvas — experimentele gebundelde Plugin voor node Canvas-besturing en A2UI-rendering
- Diffs — diffviewer en renderer
- LLM Task — JSON-only LLM-stap voor gestructureerde output
- Lobster — getypeerde workflowruntime met hervatbare goedkeuringen
- Muziekgeneratie — gedeelde
music_generate-tool met workflow-ondersteunde providers - OpenProse — markdown-first workfloworkestratie
- Tokenjuice — compacte luidruchtige
exec- enbash-toolresultaten
api.registerTool(...) en gedeclareerd in
de contracts.tools-lijst van het Plugin-manifest. OpenClaw legt de gevalideerde
tooldescriptor vast tijdens ontdekking en cachet deze per Plugin-bron en contract, zodat
latere toolplanning het laden van de Plugin-runtime kan overslaan. Tooluitvoering laadt nog steeds
de eigenaar-Plugin en roept de live geregistreerde implementatie aan.
Toolconfiguratie
Toestaan- en weigerenlijsten
Beheer welke tools de agent kan aanroepen viatools.allow / tools.deny in
config. Weigeren wint altijd van toestaan.
tools.allow: ["query_db"] werkt alleen als een geladen Plugin daadwerkelijk
query_db registreert. Als geen ingebouwde, Plugin- of gebundelde MCP-tool overeenkomt met de
allowlist, stopt de run vóór de modelaanroep in plaats van door te gaan als een
alleen-tekst-run die toolresultaten zou kunnen hallucineren.
Toolprofielen
tools.profile stelt een basis-allowlist in voordat allow/deny wordt toegepast.
Override per agent: agents.list[].tools.profile.
| Profiel | Wat het bevat |
|---|---|
full | Alle core- en optionele Plugin-tools; onbeperkte basis voor bredere opdracht-/besturingstoegang |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, music_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
minimal | Alleen session_status |
tools.profile: "messaging" is bewust smal voor kanaalgerichte
agents. Het laat bredere opdracht-/besturingstools zoals bestandssysteem, runtime,
browser, canvas, nodes, Cron en Gateway-besturing weg. Gebruik tools.profile: "full"
als onbeperkte basis voor bredere opdracht-/besturingstoegang, en beperk daarna
toegang met tools.allow / tools.deny wanneer nodig.coding bevat lichtgewicht webtools (web_search, web_fetch, x_search)
maar niet de volledige browserbesturingstool. Browserautomatisering kan echte
sessies en ingelogde profielen aansturen, dus voeg deze expliciet toe met
tools.alsoAllow: ["browser"] of een per-agent
agents.list[].tools.alsoAllow: ["browser"].
Het configureren van
tools.exec of tools.fs onder een restrictief profiel (messaging, minimal) verbreedt de allowlist van het profiel niet impliciet. Voeg expliciete tools.alsoAllow-vermeldingen toe (bijvoorbeeld ["exec", "process"] voor exec, of ["read", "write", "edit"] voor fs) wanneer je wilt dat een restrictief profiel die geconfigureerde secties gebruikt. OpenClaw logt een opstartwaarschuwing wanneer een configsectie aanwezig is zonder bijbehorende alsoAllow-toekenning.coding en messaging staan ook geconfigureerde bundle MCP-tools toe
onder de Plugin-sleutel bundle-mcp. Voeg tools.deny: ["bundle-mcp"] toe wanneer je
wilt dat een profiel de normale ingebouwde tools behoudt maar alle geconfigureerde MCP-tools verbergt.
Het profiel minimal bevat geen bundle MCP-tools.
Voorbeeld (standaard het breedste tooloppervlak):
Toolgroepen
Gebruikgroup:*-shorthands in allow-/denylijsten:
| Groep | Hulpmiddelen |
|---|---|
group:runtime | exec, process, code_execution (bash wordt geaccepteerd als alias voor exec) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas wanneer de meegeleverde Canvas-plugin is ingeschakeld |
group:automation | heartbeat_respond, cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list, update_plan |
group:media | image, image_generate, music_generate, video_generate, tts |
group:openclaw | Alle ingebouwde OpenClaw-hulpmiddelen (exclusief pluginhulpmiddelen) |
sessions_history retourneert een begrensde, op veiligheid gefilterde herinneringsweergave. Het verwijdert
denktags, <relevant-memories>-scaffolding, XML-payloads voor toolaanroepen in platte tekst
(inclusief <tool_call>...</tool_call>,
<function_call>...</function_call>, <tool_calls>...</tool_calls>,
<function_calls>...</function_calls> en afgekorte toolaanroepblokken),
gedegradeerde toolaanroep-scaffolding, gelekte ASCII-/volledige-breedte modelbesturingstokens
en onjuist gevormde MiniMax-toolaanroep-XML uit assistenttekst, en past daarna
redactie/afkapping en mogelijke plaatshouders voor te grote rijen toe in plaats van te fungeren
als een ruwe transcriptdump.
Providerspecifieke beperkingen
Gebruiktools.byProvider om hulpmiddelen voor specifieke providers te beperken zonder
globale standaardwaarden te wijzigen: