Plugins
Plugins erweitern OpenClaw um neue Fähigkeiten: Kanäle, Modell-Provider, Tools, Skills, Speech, Echtzeit-Transkription, Echtzeitstimme, 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).Schnellstart
Wenn Sie native Chat-Steuerung bevorzugen, aktivieren Sie
commands.plugins: true und verwenden Sie:
clawhub:<pkg> oder eine nackte Paketspezifikation (zuerst ClawHub, dann npm-Fallback).
Wenn die Konfiguration ungültig ist, schlägt die Installation normalerweise geschlossen fehl und verweist Sie an
openclaw doctor --fix. Die einzige Wiederherstellungsausnahme ist ein eng begrenzter Neuinstallationspfad für gebündelte Plugins
für Plugins, die sich für
openclaw.install.allowInvalidConfigRecovery entscheiden.
Gepackte OpenClaw-Installationen installieren nicht eager den
gesamten Laufzeit-Abhängigkeitsbaum jedes gebündelten Plugins. Wenn ein gebündeltes Plugin im Besitz von OpenClaw aktiv ist durch
Plugin-Konfiguration, alte Kanal-Konfiguration oder ein standardmäßig aktiviertes Manifest, repariert der Start
nur die deklarierten Laufzeitabhängigkeiten dieses Plugins vor dem Import.
Externe Plugins und benutzerdefinierte Ladepfade müssen weiterhin über
openclaw plugins install installiert werden.
Plugin-Typen
OpenClaw erkennt zwei Plugin-Formate:| Format | Funktionsweise | Beispiele |
|---|---|---|
| Native | openclaw.plugin.json + Laufzeitmodul; wird In-Process ausgeführt | Offizielle Plugins, Community-npm-Pakete |
| Bundle | Codex-/Claude-/Cursor-kompatibles Layout; wird auf OpenClaw-Funktionen abgebildet | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list. Siehe Plugin-Bundles für Details zu Bundles.
Wenn Sie ein natives Plugin schreiben, beginnen Sie mit Plugins erstellen
und der Übersicht zum Plugin SDK.
Offizielle Plugins
Installierbar (npm)
| Plugin | Paket | Doku |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Voice Call | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core (mit OpenClaw ausgeliefert)
Modell-Provider (standardmäßig aktiviert)
Modell-Provider (standardmäßig aktiviert)
anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google,
huggingface, kilocode, kimi-coding, minimax, mistral, qwen,
moonshot, nvidia, openai, opencode, opencode-go, openrouter,
qianfan, synthetic, together, venice,
vercel-ai-gateway, volcengine, xiaomi, zaiMemory-Plugins
Memory-Plugins
memory-core— gebündelte Memory-Suche (Standard überplugins.slots.memory)memory-lancedb— Long-Term-Memory mit Installation bei Bedarf und automatischem Recall/Capture (setzen Sieplugins.slots.memory = "memory-lancedb")
Speech-Provider (standardmäßig aktiviert)
Speech-Provider (standardmäßig aktiviert)
elevenlabs, microsoftSonstiges
Sonstiges
browser— gebündeltes Browser-Plugin für das Browser-Tool, die CLIopenclaw browser, die Gateway-Methodebrowser.request, die Browser-Laufzeit und den standardmäßigen Browser-Control-Service (standardmäßig aktiviert; vor dem Ersetzen deaktivieren)copilot-proxy— VS-Code-Copilot-Proxy-Bridge (standardmäßig deaktiviert)
Konfiguration
| Feld | Beschreibung |
|---|---|
enabled | Hauptschalter (Standard: true) |
allow | Plugin-Allowlist (optional) |
deny | Plugin-Denylist (optional; deny gewinnt) |
load.paths | Zusätzliche Plugin-Dateien/-Verzeichnisse |
slots | Exklusive Slot-Auswahlfelder (z. B. memory, contextEngine) |
entries.\<id\> | Plugin-spezifische Schalter + Konfiguration |
openclaw gateway), wird dieser
Neustart normalerweise automatisch kurz nach dem Schreiben der Konfiguration ausgeführt.
Plugin-Zustände: deaktiviert vs. fehlend vs. ungültig
Plugin-Zustände: deaktiviert vs. fehlend vs. ungültig
- Deaktiviert: Plugin existiert, aber Aktivierungsregeln haben es abgeschaltet. Konfiguration bleibt erhalten.
- Fehlend: Konfiguration verweist auf eine Plugin-ID, die von der Erkennung nicht gefunden wurde.
- Ungültig: Plugin existiert, aber seine Konfiguration entspricht nicht dem deklarierten Schema.
Erkennung und Vorrang
OpenClaw scannt nach Plugins in dieser Reihenfolge (erster Treffer gewinnt):Workspace-Erweiterungen
\<workspace\>/.openclaw/<plugin-root>/*.ts und \<workspace\>/.openclaw/<plugin-root>/*/index.ts.Aktivierungsregeln
plugins.enabled: falsedeaktiviert alle Pluginsplugins.denygewinnt immer gegenüber allowplugins.entries.\<id\>.enabled: falsedeaktiviert dieses Plugin- Plugins aus dem Workspace-Ursprung sind standardmäßig deaktiviert (müssen explizit aktiviert werden)
- Gebündelte Plugins folgen der eingebauten Standardmenge mit default-on, sofern sie nicht überschrieben wird
- Exklusive Slots können das für diesen Slot ausgewählte Plugin zwangsaktivieren
Plugin-Slots (exklusive Kategorien)
Einige Kategorien sind exklusiv (immer nur eines aktiv):| Slot | Was er steuert | Standard |
|---|---|---|
memory | Aktives Memory-Plugin | memory-core |
contextEngine | Aktive Context Engine | legacy (integriert) |
CLI-Referenz
openclaw plugins enable <id>.
--force überschreibt ein vorhandenes installiertes Plugin oder Hook-Pack direkt.
Es wird mit --link nicht unterstützt, da dabei der Quellpfad wiederverwendet wird statt
eine verwaltete Installationszieldatei zu überschreiben.
--pin ist nur für npm. Es wird mit --marketplace nicht unterstützt, weil
Marketplace-Installationen Metadaten der Marketplace-Quelle statt einer npm-Spezifikation speichern.
--dangerously-force-unsafe-install ist eine Break-Glass-Überschreibung für False
Positives des eingebauten Scanners für gefährlichen Code. Es erlaubt Plugin-Installationen
und Plugin-Updates, trotz eingebauter critical-Findings fortzufahren, aber es umgeht
weiterhin keine Policy-Blocks von Plugins vom Typ before_install und auch kein Blocking bei fehlgeschlagenen Scans.
Dieses CLI-Flag gilt nur für Plugin-Installations-/Update-Abläufe. Gateway-gestützte Skill-
Abhängigkeitsinstallationen verwenden stattdessen die passende Request-Überschreibung dangerouslyForceUnsafeInstall, während openclaw skills install der separate ClawHub-Download-/Installationsfluss für Skills bleibt.
Kompatible Bundles nehmen am selben Ablauf plugins list/inspect/enable/disable teil. Die aktuelle Laufzeitunterstützung umfasst Bundle-Skills, Claude-Befehlsskills,
Claude-Standardeinstellungen in settings.json, Claude-Standardeinstellungen für .lsp.json und im Manifest deklarierte lspServers, Cursor-Befehlsskills und kompatible Codex-Hook-
Verzeichnisse.
openclaw plugins inspect <id> meldet außerdem erkannte Bundle-Fähigkeiten sowie
unterstützte oder nicht unterstützte MCP- und LSP-Server-Einträge für bundlegestützte Plugins.
Marketplace-Quellen können ein Claude-bekannter Marketplace-Name aus
~/.claude/plugins/known_marketplaces.json, ein lokaler Marketplace-Root oder
Pfad zu marketplace.json, eine GitHub-Kurzform wie owner/repo, eine GitHub-Repo-
URL oder eine Git-URL sein. Bei Remote-Marketplaces müssen Plugin-Einträge innerhalb des
geklonten Marketplace-Repositorys bleiben und dürfen nur relative Pfadquellen verwenden.
Siehe openclaw plugins CLI-Referenz für vollständige Details.
Überblick über die Plugin-API
Native Plugins exportieren ein Entry-Objekt, dasregister(api) bereitstellt. Ältere
Plugins können weiterhin activate(api) als alten Alias verwenden, aber neue Plugins sollten
register verwenden.
register(api) auf. Der Loader fällt für ältere Plugins weiterhin auf activate(api) zurück,
aber gebündelte Plugins und neue externe Plugins sollten register als
öffentlichen Vertrag behandeln.
Gängige Registrierungsmethoden:
| Methode | Was sie registriert |
|---|---|
registerProvider | Modell-Provider (LLM) |
registerChannel | Chat-Kanal |
registerTool | Agent-Tool |
registerHook / on(...) | Lifecycle-Hooks |
registerSpeechProvider | Text-to-Speech / STT |
registerRealtimeTranscriptionProvider | Streaming-STT |
registerRealtimeVoiceProvider | Duplex-Echtzeitstimme |
registerMediaUnderstandingProvider | Bild-/Audioanalyse |
registerImageGenerationProvider | Bildgenerierung |
registerMusicGenerationProvider | Musikgenerierung |
registerVideoGenerationProvider | Videogenerierung |
registerWebFetchProvider | Web-Fetch-/Scrape-Provider |
registerWebSearchProvider | Web-Suche |
registerHttpRoute | HTTP-Endpunkt |
registerCommand / registerCli | CLI-Befehle |
registerContextEngine | Context Engine |
registerService | Hintergrunddienst |
before_tool_call:{ block: true }ist final; Handler mit niedrigerer Priorität werden übersprungen.before_tool_call:{ block: false }ist ein No-op und hebt einen früheren Block nicht auf.before_install:{ block: true }ist final; Handler mit niedrigerer Priorität werden übersprungen.before_install:{ block: false }ist ein No-op und hebt einen früheren Block nicht auf.message_sending:{ cancel: true }ist final; Handler mit niedrigerer Priorität werden übersprungen.message_sending:{ cancel: false }ist ein No-op und hebt ein früheres Cancel nicht auf.
Verwandt
- Plugins erstellen — Ihr eigenes Plugin erstellen
- Plugin-Bundles — Kompatibilität mit Codex-/Claude-/Cursor-Bundles
- Plugin-Manifest — Manifest-Schema
- Tools registrieren — Agent-Tools in einem Plugin hinzufügen
- Plugin-Interna — Fähigkeitsmodell und Ladepipeline
- Community-Plugins — Auflistungen von Drittanbietern