Verktyg (OpenClaw)
OpenClaw exponerar förstklassiga agentverktyg för webbläsare, duk, noder och cron. Dessa ersätter de gamlaopenclaw-* färdigheterna: verktygen är skrivna, inget skalande,
och agenten bör förlita sig på dem direkt.
Inaktivera verktyg
Du kan globalt tillåta/neka verktyg viatools.allow / tools.deny i openclaw.json
(neka vinner). Detta förhindrar att otillåtna verktyg skickas till modellleverantörer.
- Matchning är skiftlägesokänslig.
*jokertecken stöds ("*"betyder alla verktyg).- Om
tools.allowendast refererar till okända eller ej laddade plugin‑verktygsnamn loggar OpenClaw en varning och ignorerar tillåtelselistan så att kärnverktyg förblir tillgängliga.
Verktygsprofiler (bas‑tillåtelselista)
tools.profile sets a base tool allowlist before tools.allow/tools.deny.
Per-agent override: agents.list[].tools.profile.
Profiler:
minimal: endastsession_statuscoding:group:fs,group:runtime,group:sessions,group:memory,imagemessaging:group:messaging,sessions_list,sessions_history,sessions_send,session_statusfull: inga begränsningar (samma som ej satt)
Leverantörsspecifik verktygspolicy
Användtools.byProvider till ytterligare begränsa verktyg för specifika leverantörer
(eller en enda provider/model) utan att ändra dina globala standarder.
Per-agent override: agents.list[].tools.byProvider.
Detta tillämpas efter basverktygsprofilen och före tillåta/neka listor,
så att den endast kan begränsa verktygssatsen.
Leverantörsnycklar accepterar antingen provider (t.ex. google-antigravity) eller
provider/model (t.ex. openai/gpt-5.2).
Exempel (behåll global kodningsprofil, men minimala verktyg för Google Antigravity):
Verktygsgrupper (genvägar)
Verktygspolicys (global, agent, sandbox) stödjergroup:*‑poster som expanderar till flera verktyg.
Använd dessa i tools.allow / tools.deny.
Tillgängliga grupper:
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: alla inbyggda OpenClaw‑verktyg (exkluderar leverantörspluginer)
Pluginer + verktyg
Plugins kan registrera ytterligare verktyg (och CLI-kommandon) bortom kärnuppsättningen. Se Plugins för installation + config, och Skills för hur verktygsanvändning vägledning injiceras i anvisningar. Vissa plugins skeppa sina egna färdigheter tillsammans med verktyg (till exempel röstsamtalsplugin). Valfria plugin‑verktyg:- Lobster: typad workflow‑runtime med återupptagbara godkännanden (kräver Lobster CLI på gateway‑värden).
- LLM Task: JSON‑endast LLM‑steg för strukturerad workflow‑utdata (valfri schemavalidering).
Verktygsinventering
apply_patch
Applicera strukturerade patchar över en eller flera filer. Använd för multi-hunk redigeringar.
Experimentellt: aktivera via tools.exec.applyPatch.enabled (OpenAI-modeller endast).
tools.exec.applyPatch.workspaceOnly är som standard true (begränsad till arbetsytan). Sätt den till false endast om du avsiktligt vill att apply_patch ska skriva/radera utanför arbetsytekatalogen.
exec
Kör shell‑kommandon i arbetsytan.
Kärnparametrar:
command(krävs)yieldMs(auto‑bakgrund efter timeout, standard 10000)background(omedelbar bakgrund)timeout(sekunder; dödar processen om den överskrids, standard 1800)elevated(bool; kör på värd om förhöjt läge är aktiverat/tillåtet; ändrar endast beteende när agenten är sandboxad)host(sandbox | gateway | node)security(deny | allowlist | full)ask(off | on-miss | always)node(nod‑id/namn förhost=node)- Behöver du en riktig TTY? Ange
pty: true.
- Returnerar
status: "running"med ettsessionIdnär den körs i bakgrunden. - Använd
processför att polla/logga/skriva/döda/rensa bakgrundssessioner. - Om
processinte är tillåtet körsexecsynkront och ignoreraryieldMs/background. elevatedstyrs avtools.elevatedplus eventuellagents.list[].tools.elevated‑åsidosättning (båda måste tillåta) och är ett alias förhost=gateway+security=full.elevatedändrar endast beteende när agenten är sandboxad (annars är det en no‑op).host=nodekan rikta sig till en macOS companion‑app eller en headless nodvärd (openclaw node run).- gateway/nod‑godkännanden och tillåtelselistor: Exec approvals.
process
Hantera bakgrundssessioner för exec.
Kärnåtgärder:
list,poll,log,write,kill,clear,remove
pollreturnerar ny utdata och exit‑status när den är klar.logstöder radbaseradoffset/limit(utelämnaoffsetför att hämta de senaste N raderna).processär per agent; sessioner från andra agenter är inte synliga.
web_search
Sök på webben med Brave Search API.
Kärnparametrar:
query(krävs)count(1–10; standard fråntools.web.search.maxResults)
- Kräver en Brave API‑nyckel (rekommenderat:
openclaw configure --section web, eller sättBRAVE_API_KEY). - Aktivera via
tools.web.search.enabled. - Svar cachelagras (standard 15 min).
- Se Web tools för konfiguration.
web_fetch
Hämta och extrahera läsbart innehåll från en URL (HTML → markdown/text).
Kärnparametrar:
url(krävs)extractMode(markdown|text)maxChars(trunkera långa sidor)
- Aktivera via
tools.web.fetch.enabled. maxCharsbegränsas avtools.web.fetch.maxCharsCap(standard 50000).- Svar cachelagras (standard 15 min).
- För JS‑tunga webbplatser, föredra browser‑verktyget.
- Se Web tools för konfiguration.
- Se Firecrawl för valfri anti‑bot‑fallback.
browser
Styr den dedikerade OpenClaw‑hanterade browsern.
Kärnåtgärder:
status,start,stop,tabs,open,focus,closesnapshot(aria/ai)screenshot(returnerar bildblock +MEDIA:<path>)act(UI‑åtgärder: click/type/press/hover/drag/select/fill/resize/wait/evaluate)navigate,console,pdf,upload,dialog
profiles— lista alla browserprofiler med statuscreate-profile— skapa ny profil med automatiskt tilldelad port (ellercdpUrl)delete-profile— stoppa browser, radera användardata, ta bort från konfig (endast lokalt)reset-profile— döda föräldralös process på profilens port (endast lokalt)
profile(valfri; standardbrowser.defaultProfile)target(sandbox|host|node)node(valfri; välj specifikt nod‑id/namn) Noteringar:- Kräver
browser.enabled=true(standard ärtrue; sättfalseför att inaktivera). - Alla åtgärder accepterar valfri
profile‑parameter för stöd av flera instanser. - När
profileutelämnas användsbrowser.defaultProfile(standard “chrome”). - Profilnamn: endast gemener alfanumeriskt + bindestreck (max 64 tecken).
- Portintervall: 18800–18899 (~100 profiler max).
- Fjärrprofiler är endast attach‑only (ingen start/stop/reset).
- Om en browser‑kapabel nod är ansluten kan verktyget auto‑routa till den (om du inte pinnar
target). snapshotstandardiserar tillainär Playwright är installerat; användariaför tillgänglighetsträdet.snapshotstöder även role‑snapshot‑alternativ (interactive,compact,depth,selector) som returnerar referenser some12.actkräverreffrånsnapshot(numeriskt12från AI‑snapshots, ellere12från role‑snapshots); användevaluateför sällsynta behov av CSS‑selektor.- Undvik
act→waitsom standard; använd endast i undantagsfall (ingen pålitlig UI‑status att vänta på). uploadkan valfritt skicka ettrefför auto‑klick efter aktivering.uploadstöder äveninputRef(aria‑ref) ellerelement(CSS‑selektor) för att sätta<input type="file">direkt.
canvas
Styr nodens Canvas (present, eval, snapshot, A2UI).
Kärnåtgärder:
present,hide,navigate,evalsnapshot(returnerar bildblock +MEDIA:<path>)a2ui_push,a2ui_reset
- Använder gateway
node.invokeunder huven. - Om ingen
nodeanges väljer verktyget en standard (en ensam ansluten nod eller lokal mac‑nod). - A2UI är endast v0.8 (ingen
createSurface); CLI avvisar v0.9 JSONL med radfel. - Snabb kontroll:
openclaw nodes canvas a2ui push --node <id> --text "Hello from A2UI".
nodes
Upptäck och rikta parade noder; skicka notiser; fånga kamera/skärm.
Kärnåtgärder:
status,describepending,approve,reject(parning)notify(macOSsystem.notify)run(macOSsystem.run)camera_snap,camera_clip,screen_recordlocation_get
- Kamera/skärm‑kommandon kräver att nodappen är i förgrunden.
- Bilder returnerar bildblock +
MEDIA:<path>. - Videor returnerar
FILE:<path>(mp4). - Plats returnerar en JSON‑payload (lat/lon/accuracy/timestamp).
run‑parametrar:commandargv‑array; valfricwd,env(KEY=VAL),commandTimeoutMs,invokeTimeoutMs,needsScreenRecording.
run):
image
Analysera en bild med den konfigurerade bildmodellen.
Kärnparametrar:
image(krävd sökväg eller URL)prompt(valfri; standard “Describe the image.”)model(valfri åsidosättning)maxBytesMb(valfri storleksgräns)
- Endast tillgängligt när
agents.defaults.imageModelär konfigurerad (primär eller fallbacks), eller när en implicit bildmodell kan härledas från din standardmodell + konfigurerad autentisering (best‑effort‑parning). - Använder bildmodellen direkt (oberoende av huvud‑chattmodellen).
message
Skicka meddelanden och kanalåtgärder över Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/iMessage/MS Teams.
Kärnåtgärder:
send(text + valfri media; MS Teams stöder ävencardför Adaptive Cards)poll(WhatsApp/Discord/MS Teams‑omröstningar)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
sendroutar WhatsApp via Gateway; andra kanaler går direkt.pollanvänder Gateway för WhatsApp och MS Teams; Discord‑omröstningar går direkt.- När ett meddelandeverktygsanrop är bundet till en aktiv chattsession begränsas sändningar till sessionens mål för att undvika läckage mellan kontexter.
cron
Hantera Gateway‑cronjobb och uppvakningar.
Kärnåtgärder:
status,listadd,update,remove,run,runswake(köar systemhändelse + valfri omedelbar heartbeat)
addförväntar sig ett fullständigt cronjobb‑objekt (samma schema somcron.addRPC).updateanvänder{ jobId, patch }(idaccepteras för kompatibilitet).
gateway
Starta om eller tillämpa uppdateringar på den körande Gateway‑processen (in‑place).
Kärnåtgärder:
restart(auktoriserar + skickarSIGUSR1för omstart i process;openclaw gatewaystartar om in‑place)config.get/config.schemaconfig.apply(validera + skriv konfig + starta om + väck)config.patch(sammanfoga partiell uppdatering + starta om + väck)update.run(kör uppdatering + starta om + väck)
- Använd
delayMs(standard 2000) för att undvika att avbryta ett pågående svar. restartär inaktiverad som standard; aktivera medcommands.restart: true.
sessions_list / sessions_history / sessions_send / sessions_spawn / session_status
Lista sessioner, inspektera transkripthistorik eller skicka till en annan session.
Kärnparametrar:
sessions_list:kinds?,limit?,activeMinutes?,messageLimit?(0 = ingen)sessions_history:sessionKey(ellersessionId),limit?,includeTools?sessions_send:sessionKey(ellersessionId),message,timeoutSeconds?(0 = fire‑and‑forget)sessions_spawn:task,label?,agentId?,model?,runTimeoutSeconds?,cleanup?session_status:sessionKey?(standard aktuell; accepterarsessionId),model?(defaultrensar åsidosättning)
mainär den kanoniska direct‑chat‑nyckeln; globala/okända döljs.messageLimit > 0hämtar de senaste N meddelandena per session (verktygsmeddelanden filtreras).sessions_sendväntar på slutlig färdigställning närtimeoutSeconds > 0.- Leverans/annonsering sker efter färdigställande och är best‑effort;
status: "ok"bekräftar att agentkörningen är klar, inte att annonseringen levererades. sessions_spawnstartar en sub‑agentkörning och postar ett announce‑svar tillbaka till begärande chatt.sessions_spawnär icke‑blockerande och returnerarstatus: "accepted"omedelbart.sessions_sendkör en svar‑ping‑pong (svaraREPLY_SKIPför att stoppa; max varv viasession.agentToAgent.maxPingPongTurns, 0–5).- Efter ping‑pong kör målagenten ett announce‑steg; svara
ANNOUNCE_SKIPför att undertrycka annonseringen.
agents_list
Lista agent‑id:n som den aktuella sessionen får rikta mot med sessions_spawn.
Noteringar:
- Resultatet är begränsat till per‑agent‑tillåtelselistor (
agents.list[].subagents.allowAgents). - När
["*"]är konfigurerad inkluderar verktyget alla konfigurerade agenter och markerarallowAny: true.
Parametrar (gemensamma)
Gateway‑backade verktyg (canvas, nodes, cron):
gatewayUrl(standardws://127.0.0.1:18789)gatewayToken(om autentisering är aktiverad)timeoutMs
gatewayUrl är satt, inkludera gatewayToken explicit. Verktyg ärver inte config
eller miljöuppgifter för åsidosättningar, och saknade explicita referenser är ett fel.
Browser‑verktyg:
profile(valfri; standardbrowser.defaultProfile)target(sandbox|host|node)node(valfri; pinna ett specifikt nod‑id/namn)
Rekommenderade agentflöden
Browser‑automation:browser→status/startsnapshot(ai eller aria)act(click/type/press)screenshotom du behöver visuell bekräftelse
canvas→presenta2ui_push(valfritt)snapshot
nodes→statusdescribepå vald nodnotify/run/camera_snap/screen_record
Säkerhet
- Undvik direkt
system.run; användnodes→runendast med uttryckligt användarsamtycke. - Respektera användarsamtycke för kamera/skärm‑inspelning.
- Använd
status/describeför att säkerställa behörigheter innan media‑kommandon anropas.
Hur verktyg presenteras för agenten
Verktyg exponeras i två parallella kanaler:- Systemprompt‑text: en människoläsbar lista + vägledning.
- Verktygsschema: de strukturerade funktionsdefinitionerna som skickas till modell‑API:t.