Zum Hauptinhalt springen

Tools und Plugins

Alles, was der Agent über das Generieren 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 Schichten, 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 liefert eine Reihe von integrierten 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 lehren den 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 schrittweise Anleitungen für die effektive Nutzung von Tools. Skills liegen in Ihrem Workspace, in gemeinsam genutzten Ordnern oder werden in Plugins mitgeliefert.Skills reference | Creating skills
3

Plugins bündeln alles zusammen

Ein Plugin ist ein Paket, das beliebige Kombinationen von Fähigkeiten registrieren kann: Kanäle, Modell-Provider, Tools, Skills, Sprache, Realtime-Transkription, Realtime-Voice, Medienverständnis, Bildgenerierung, Videogenerierung, Web-Fetch, Web-Suche und mehr. Einige Plugins sind Core (werden mit OpenClaw ausgeliefert), andere sind extern (von der Community auf npm veröffentlicht).Plugins installieren und konfigurieren | Ihr eigenes erstellen

Integrierte Tools

Diese Tools werden mit OpenClaw ausgeliefert und sind ohne Installation von Plugins verfügbar:
ToolWas es tutSeite
exec / processShell-Befehle ausführen, Hintergrundprozesse verwaltenExec
code_executionSandboxed Remote-Python-Analyse ausführenCode Execution
browserEinen Chromium-Browser steuern (navigieren, klicken, Screenshot)Browser
web_search / x_search / web_fetchDas Web durchsuchen, X-Posts durchsuchen, Seiteninhalte abrufenWeb
read / write / editDatei-I/O im Workspace
apply_patchDatei-Patches mit mehreren HunksApply Patch
messageNachrichten über alle Kanäle hinweg sendenAgent Send
canvasNode Canvas steuern (present, eval, snapshot)
nodesGekoppelte Geräte erkennen und ansprechen
cron / gatewayGeplante Jobs verwalten; Gateway prüfen, patchen, neu starten oder aktualisieren
image / image_generateBilder analysieren oder generierenImage Generation
music_generateMusikstücke generierenMusic Generation
video_generateVideos generierenVideo Generation
ttsEinmalige Text-zu-Sprache-UmwandlungTTS
sessions_* / subagents / agents_listSitzungsverwaltung, Status und Orchestrierung von Sub-AgentsSub-agents
session_statusLeichte Auslese im Stil von /status und modellbezogene Überschreibung pro SitzungSession Tools
Für Bildarbeit verwenden Sie image für Analysen und image_generate für Generierung oder Bearbeitung. Wenn Sie openai/*, google/*, fal/* oder einen anderen nicht standardmäßigen Bild-Provider ansprechen, konfigurieren Sie zuerst Authentifizierung/API-Schlüssel dieses Providers. Für Musikarbeit verwenden Sie music_generate. Wenn Sie google/*, minimax/* oder einen anderen nicht standardmäßigen Musik-Provider ansprechen, konfigurieren Sie zuerst Authentifizierung/API-Schlüssel dieses Providers. Für Videoarbeit verwenden Sie video_generate. Wenn Sie qwen/* oder einen anderen nicht standardmäßigen Video-Provider ansprechen, konfigurieren Sie zuerst Authentifizierung/API-Schlüssel dieses Providers. Für workflowgesteuerte Audiogenerierung verwenden Sie music_generate, wenn ein Plugin wie ComfyUI es registriert. Dies ist getrennt von tts, das Text-zu-Sprache ist. session_status ist das leichte Status-/Auslese-Tool in der Sessions-Gruppe. Es beantwortet Fragen im Stil von /status zur aktuellen Sitzung und kann optional eine modellbezogene Überschreibung pro Sitzung setzen; model=default löscht diese Überschreibung. Wie /status kann es spärliche Token-/Cache-Zähler und das aktive Runtime-Modell-Label aus dem neuesten Usage-Eintrag des Transkripts ergänzen. gateway ist das owner-only Runtime-Tool 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 Konfigurationsupdates mit Neustart
  • config.apply nur für den vollständigen Ersatz der Konfiguration
  • update.run für explizites Self-Update + Neustart
Für partielle Änderungen bevorzugen Sie config.schema.lookup und dann config.patch. Verwenden Sie config.apply nur dann, wenn Sie absichtlich die gesamte Konfiguration ersetzen. Das Tool verweigert außerdem Änderungen an tools.exec.ask oder tools.exec.security; veraltete Aliasse tools.bash.* werden auf dieselben geschützten Exec-Pfade normalisiert.

Durch Plugins bereitgestellte Tools

Plugins können zusätzliche Tools registrieren. Einige Beispiele:
  • Lobster — typisierte Workflow-Runtime mit wiederaufnehmbaren Genehmigungen
  • LLM Task — LLM-Schritt nur mit JSON für strukturierte Ausgabe
  • Music Generation — gemeinsames music_generate-Tool mit workflowgestützten Providern
  • Diffs — Diff-Betrachter und Renderer
  • OpenProse — Markdown-zuerst-Workflow-Orchestrierung

Tool-Konfiguration

Erlaubnis- und Verweigerungslisten

Steuern Sie, welche Tools der Agent aufrufen kann, über tools.allow / tools.deny in der Konfiguration. 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 umfasst
fullKeine Einschränkung (entspricht nicht gesetzt)
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
minimalNur session_status

Tool-Gruppen

Verwenden Sie 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, music_generate, video_generate, tts
group:openclawAlle integrierten OpenClaw-Tools (schließt Plugin-Tools aus)
sessions_history gibt eine begrenzte, sicherheitsgefilterte Recall-Ansicht zurück. Es entfernt Thinking-Tags, <relevant-memories>-Gerüst, 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-Gerüst, durchgesickerte ASCII-/Vollbreiten- Modell-Steuertokens und fehlerhaftes MiniMax-Tool-Call-XML aus Assistant-Text und wendet dann Schwärzung/Kürzung sowie mögliche Platzhalter für übergroße Zeilen an, anstatt als roher Transkript-Dump zu fungieren.

Provider-spezifische Einschränkungen

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