Zum Hauptinhalt springen

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:
1

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

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

Plugins 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:
ToolWas es tutSeite
exec / processShell-Befehle ausführen, Hintergrundprozesse verwaltenExec
code_executionSandboxed Python-Analysen auf einem Remote-System ausführenCode Execution
browserEinen Chromium-Browser steuern (navigieren, klicken, Screenshot)Browser
web_search / x_search / web_fetchDas Web durchsuchen, X-Posts durchsuchen, Seiteninhalt abrufenWeb
read / write / editDatei-I/O im Workspace
apply_patchDatei-Patches mit mehreren HunksApply Patch
messageNachrichten über alle Channels hinweg sendenAgent Send
canvasNode-Canvas steuern (present, eval, snapshot)
nodesGekoppelte Geräte erkennen und als Ziel verwenden
cron / gatewayGeplante Jobs verwalten; das Gateway prüfen, patchen, neu starten oder aktualisieren
image / image_generateBilder analysieren oder erzeugen
ttsEinmalige Text-zu-Sprache-KonvertierungTTS
sessions_* / subagents / agents_listSitzungsverwaltung, Status und Sub-Agent-OrchestrierungSub-Agents
session_statusLeichtgewichtiges Readback im Stil von /status und Sitzungs-ModellüberschreibungSitzungstools
Für Bildarbeit verwende 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.lookup für einen pfadbezogenen Konfigurations-Teilbaum vor Bearbeitungen
  • config.get für den aktuellen Konfigurations-Snapshot + Hash
  • config.patch für partielle Konfigurationsaktualisierungen mit Neustart
  • config.apply nur für den vollständigen Austausch der Konfiguration
  • update.run für explizites Self-Update + Neustart
Für partielle Änderungen bevorzuge 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 über tools.allow / tools.deny in der Konfiguration, welche Tools der Agent aufrufen darf. Verweigern hat immer Vorrang vor Erlauben.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Tool-Profile

tools.profile setzt eine Basis-Allowlist, bevor allow/deny angewendet wird. Überschreibung pro Agent: agents.list[].tools.profile.
ProfilWas es enthält
fullKeine Einschränkung (entspricht nicht gesetzt)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalNur session_status

Tool-Gruppen

Verwende Kurzformen group:* in Erlaubnis-/Verweigerungslisten:
GruppeTools
group:runtimeexec, process, code_execution (bash wird als Alias für exec akzeptiert)
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
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, tts
group:openclawAlle 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

Verwende tools.byProvider, um Tools für bestimmte Provider einzuschränken, ohne globale Standardwerte zu ändern:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}