Tools und Plugins
Alles, was der Agent über das Erzeugen von Text hinaus tut, geschieht über Tools. Tools sind die Art und Weise, wie der Agent Dateien liest, Befehle ausführt, im Web browsed, Nachrichten sendet und mit Geräten interagiert.Tools, Skills und Plugins
OpenClaw hat drei Ebenen, die zusammenarbeiten:Tools sind das, was der Agent aufruft
Ein Tool ist eine typisierte Funktion, die der Agent aufrufen kann (z. B.
exec, browser,
web_search, message). OpenClaw bringt eine Reihe integrierter Tools mit, und
Plugins können zusätzliche registrieren.Der Agent sieht Tools als strukturierte Funktionsdefinitionen, die an die Modell-API gesendet werden.Skills zeigen dem Agenten wann und wie
Ein Skill ist eine Markdown-Datei (
SKILL.md), die in den System-Prompt injiziert wird.
Skills geben dem Agenten Kontext, Einschränkungen und Schritt-für-Schritt-Anleitungen für
den effektiven Einsatz von Tools. Skills liegen in deinem Workspace, in gemeinsam genutzten Ordnern
oder werden innerhalb von Plugins ausgeliefert.Skills-Referenz | Skills erstellenPlugins bündeln alles zusammen
Ein Plugin ist ein Paket, das jede Kombination von Fähigkeiten registrieren kann:
Channels, Modell-Provider, Tools, Skills, Speech, Echtzeit-Transkription,
Echtzeit-Stimme, Medienverständnis, Bildgenerierung, Videogenerierung,
Web-Abruf, Websuche und mehr. Manche Plugins sind Core (werden mit
OpenClaw ausgeliefert), andere sind extern (von der Community auf npm veröffentlicht).Plugins installieren und konfigurieren | Eigene entwickeln
Integrierte Tools
Diese Tools werden mit OpenClaw ausgeliefert und sind verfügbar, ohne Plugins zu installieren:| Tool | Was es tut | Seite |
|---|---|---|
exec / process | Shell-Befehle ausführen, Hintergrundprozesse verwalten | Exec |
code_execution | Sandboxed Python-Analysen auf einem Remote-System ausführen | Code Execution |
browser | Einen Chromium-Browser steuern (navigieren, klicken, Screenshot) | Browser |
web_search / x_search / web_fetch | Das Web durchsuchen, X-Posts durchsuchen, Seiteninhalt abrufen | Web |
read / write / edit | Datei-I/O im Workspace | |
apply_patch | Datei-Patches mit mehreren Hunks | Apply Patch |
message | Nachrichten über alle Channels hinweg senden | Agent Send |
canvas | Node-Canvas steuern (present, eval, snapshot) | |
nodes | Gekoppelte Geräte erkennen und als Ziel verwenden | |
cron / gateway | Geplante Jobs verwalten; das Gateway prüfen, patchen, neu starten oder aktualisieren | |
image / image_generate | Bilder analysieren oder erzeugen | |
tts | Einmalige Text-zu-Sprache-Konvertierung | TTS |
sessions_* / subagents / agents_list | Sitzungsverwaltung, Status und Sub-Agent-Orchestrierung | Sub-Agents |
session_status | Leichtgewichtiges Readback im Stil von /status und Sitzungs-Modellüberschreibung | Sitzungstools |
image für Analyse und image_generate für Erzeugung oder Bearbeitung. Wenn du openai/*, google/*, fal/* oder einen anderen nicht standardmäßigen Bild-Provider ansteuerst, konfiguriere zuerst die Auth/den API-Key dieses Providers.
session_status ist das leichtgewichtige Status-/Readback-Tool in der Sessions-Gruppe.
Es beantwortet Fragen im Stil von /status zur aktuellen Sitzung und kann
optional eine Modellsitzungsüberschreibung setzen; model=default löscht diese
Überschreibung. Wie /status kann es spärliche Token-/Cache-Zähler und das
aktive Laufzeit-Modelllabel aus dem neuesten Usage-Eintrag des Transkripts nachtragen.
gateway ist das Laufzeit-Tool nur für Besitzer für Gateway-Operationen:
config.schema.lookupfür einen pfadbezogenen Konfigurations-Teilbaum vor Bearbeitungenconfig.getfür den aktuellen Konfigurations-Snapshot + Hashconfig.patchfür partielle Konfigurationsaktualisierungen mit Neustartconfig.applynur für den vollständigen Austausch der Konfigurationupdate.runfür explizites Self-Update + Neustart
config.schema.lookup und danach config.patch. Verwende
config.apply nur dann, wenn du absichtlich die gesamte Konfiguration ersetzt.
Das Tool verweigert außerdem Änderungen an tools.exec.ask oder tools.exec.security;
ältere Aliasse tools.bash.* werden auf dieselben geschützten Exec-Pfade normalisiert.
Von Plugins bereitgestellte Tools
Plugins können zusätzliche Tools registrieren. Einige Beispiele:- Lobster — typisierte Workflow-Laufzeit mit wiederaufnehmbaren Genehmigungen
- LLM Task — reiner JSON-LLM-Schritt für strukturierte Ausgabe
- Diffs — Diff-Betrachter und Renderer
- OpenProse — markdown-first-Workflow-Orchestrierung
Tool-Konfiguration
Erlaubnis- und Verweigerungslisten
Steuere übertools.allow / tools.deny in der
Konfiguration, welche Tools der Agent aufrufen darf. Verweigern hat immer Vorrang vor Erlauben.
Tool-Profile
tools.profile setzt eine Basis-Allowlist, bevor allow/deny angewendet wird.
Überschreibung pro Agent: agents.list[].tools.profile.
| Profil | Was es enthält |
|---|---|
full | Keine Einschränkung (entspricht nicht gesetzt) |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
minimal | Nur session_status |
Tool-Gruppen
Verwende Kurzformengroup:* in Erlaubnis-/Verweigerungslisten:
| Gruppe | Tools |
|---|---|
group:runtime | exec, process, code_execution (bash wird als Alias für exec akzeptiert) |
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 |
group:automation | cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image, image_generate, tts |
group:openclaw | Alle integrierten OpenClaw-Tools (ohne Plugin-Tools) |
sessions_history gibt eine begrenzte, sicherheitsgefilterte Rückschauansicht zurück. Es entfernt
Thinking-Tags, Scaffolding von <relevant-memories>, XML-Payloads von Tool-Aufrufen im Klartext
(einschließlich <tool_call>...</tool_call>,
<function_call>...</function_call>, <tool_calls>...</tool_calls>,
<function_calls>...</function_calls> und abgeschnittener Tool-Call-Blöcke),
herabgestuftes Tool-Call-Scaffolding, geleakte ASCII-/Vollbreiten-Steuertoken von Modellen
und fehlerhaftes MiniMax-Tool-Call-XML aus Assistententext und wendet dann
Redigierung/Abschneidung sowie mögliche Platzhalter für übergroße Zeilen an, statt
als roher Transkript-Dump zu fungieren.
Provider-spezifische Einschränkungen
Verwendetools.byProvider, um Tools für bestimmte Provider einzuschränken, ohne
globale Standardwerte zu ändern: