Naar hoofdinhoud gaan

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.

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.

Tools, Skills en Plugins

OpenClaw heeft drie lagen die samenwerken:
1

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.
2

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 maken
3

Plugins 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:
ToolWat het doetPagina
exec / processShellopdrachten uitvoeren, achtergrondprocessen beherenExec, Exec-goedkeuringen
code_executionGesandboxte externe Python-analyse uitvoerenCode Execution
browserEen Chromium-browser bedienen (navigeren, klikken, screenshot)Browser
web_search / x_search / web_fetchHet web doorzoeken, X-berichten doorzoeken, pagina-inhoud ophalenWeb, Web Fetch
read / write / editBestands-I/O in de werkruimte
apply_patchBestandswijzigingen met meerdere hunksApply Patch
messageBerichten verzenden over alle kanalenAgent Send
nodesGekoppelde apparaten ontdekken en targeten
cron / gatewayGeplande taken beheren; de Gateway inspecteren, patchen, herstarten of bijwerken
image / image_generateAfbeeldingen analyseren of genererenAfbeeldingsgeneratie
music_generateMuziektracks genererenMuziekgeneratie
video_generateVideo’s genererenVideogeneratie
ttsEenmalige tekst-naar-spraakconversieTTS
sessions_* / subagents / agents_listSessiebeheer, status en subagent-orkestratieSubagents
session_statusLichtgewicht /status-achtige terugkoppeling en modeloverride per sessieSessietools
Gebruik voor afbeeldingswerk 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.lookup voor één pad-afgebakende config-subtree vóór bewerkingen
  • config.get voor de huidige config-snapshot + hash
  • config.patch voor gedeeltelijke config-updates met herstart
  • config.apply alleen voor volledige configvervanging
  • update.run voor expliciete zelfupdate + herstart
Geef voor gedeeltelijke wijzigingen de voorkeur aan 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- en bash-toolresultaten
Plugin-tools worden nog steeds geschreven met 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 via tools.allow / tools.deny in config. Weigeren wint altijd van toestaan.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}
OpenClaw faalt gesloten wanneer een expliciete allowlist geen aanroepbare tools oplevert. Bijvoorbeeld, 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.
ProfielWat het bevat
fullAlle core- en optionele Plugin-tools; onbeperkte basis voor bredere opdracht-/besturingstoegang
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, music_generate, video_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalAlleen 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.
De profielen 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):
{
  tools: {
    profile: "full",
  },
}

Toolgroepen

Gebruik group:*-shorthands in allow-/denylijsten:
GroepHulpmiddelen
group:runtimeexec, process, code_execution (bash wordt geaccepteerd als alias voor exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas wanneer de meegeleverde Canvas-plugin is ingeschakeld
group:automationheartbeat_respond, cron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list, update_plan
group:mediaimage, image_generate, music_generate, video_generate, tts
group:openclawAlle 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

Gebruik tools.byProvider om hulpmiddelen voor specifieke providers te beperken zonder globale standaardwaarden te wijzigen:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}