Plugins

Plugin-Pakete

OpenClaw kann Plugins aus drei externen Ökosystemen installieren: Codex, Claude und Cursor. Diese werden als Bundles bezeichnet – Inhalts- und Metadatenpakete, die OpenClaw nativen Funktionen wie Skills, Hooks und MCP-Tools zuordnet.

Warum es Bundles gibt

Viele nützliche Plugins werden im Format von Codex, Claude oder Cursor veröffentlicht. Statt von Autoren zu verlangen, sie als native OpenClaw-Plugins neu zu schreiben, erkennt OpenClaw diese Formate und ordnet ihre unterstützten Inhalte dem nativen Funktionsumfang zu. Sie können ein Claude-Befehlspaket oder ein Codex-Skill-Bundle installieren und sofort verwenden.

Bundle installieren

  • Aus einem Verzeichnis, Archiv oder Marketplace installieren

    bash
    # Lokales Verzeichnisopenclaw plugins install ./my-bundle # Archivopenclaw plugins install ./my-bundle.tgz # Claude-Marketplaceopenclaw plugins marketplace list <source>openclaw plugins install <plugin> --marketplace <source>

    <source> ist ein lokaler Marketplace-Pfad bzw. ein lokales Marketplace-Repository oder eine Git-/GitHub-Quelle.

  • Erkennung überprüfen

    bash
    openclaw plugins listopenclaw plugins inspect <id>

    Bundles zeigen Format: bundle sowie einen Bundle format:-Wert von codex, claude oder cursor an.

  • Neu starten und verwenden

    bash
    openclaw gateway restart

    Zugeordnete Funktionen (Skills, Hooks, MCP-Tools, LSP-Standardwerte) sind in der nächsten Sitzung verfügbar.

  • Was OpenClaw aus Bundles zuordnet

    Derzeit werden nicht alle Bundle-Funktionen in OpenClaw ausgeführt. Nachfolgend ist aufgeführt, was funktioniert und was erkannt, aber noch nicht angebunden wird.

    Derzeit unterstützt

    Funktion Zuordnung Gilt für
    Skill-Inhalte Bundle-Skill-Stammverzeichnisse werden als normale OpenClaw-Skills geladen Alle Formate
    Befehle commands/ und .cursor/commands/ werden als Skill-Stammverzeichnisse behandelt Claude, Cursor
    Hook-Pakete OpenClaw-artige Layouts aus HOOK.md + handler.ts Codex
    MCP-Tools Die Bundle-MCP-Konfiguration wird in die eingebetteten OpenClaw-Einstellungen eingebunden; unterstützte stdio- und HTTP-Server werden geladen Alle Formate
    LSP-Server Claude .lsp.json und im Manifest deklarierte lspServers werden in die eingebetteten OpenClaw-LSP-Standardwerte eingebunden Claude
    Einstellungen Claude settings.json wird als eingebettete OpenClaw-Standardwerte importiert Claude

    Skill-Inhalte

    • Bundle-Skill-Stammverzeichnisse werden als normale OpenClaw-Skill-Stammverzeichnisse geladen.
    • Claude-commands/-Stammverzeichnisse werden als zusätzliche Skill-Stammverzeichnisse behandelt.
    • Cursor-.cursor/commands/-Stammverzeichnisse werden als zusätzliche Skill-Stammverzeichnisse behandelt.

    Claude-Markdown-Befehlsdateien und Cursor-Befehls-Markdown funktionieren beide über den normalen OpenClaw-Skill-Loader.

    Hook-Pakete

    Bundle-Hook-Stammverzeichnisse funktionieren nur, wenn sie das normale OpenClaw-Hook-Paket- Layout verwenden: HOOK.md plus handler.ts oder handler.js. Derzeit betrifft dies hauptsächlich den Codex-kompatiblen Fall.

    MCP für eingebettetes OpenClaw

    • Aktivierte Bundles können MCP-Serverkonfigurationen bereitstellen.
    • OpenClaw bindet die Bundle-MCP-Konfiguration als mcpServers in die effektiven eingebetteten OpenClaw- Einstellungen ein.
    • OpenClaw stellt unterstützte Bundle-MCP-Tools während eingebetteter OpenClaw-Agenten- Durchläufe bereit, indem es stdio-Server startet oder Verbindungen zu HTTP-Servern herstellt.
    • Die Tool-Profile coding und messaging enthalten standardmäßig Bundle-MCP-Tools; verwenden Sie tools.deny: ["bundle-mcp"], um diese für einen Agenten oder Gateway auszuschließen.
    • Projektlokale eingebettete Agenteneinstellungen gelten weiterhin nach den Bundle-Standardwerten, sodass Workspace-Einstellungen Bundle-MCP-Einträge bei Bedarf überschreiben können.
    • Bundle-MCP-Toolkataloge werden vor der Registrierung deterministisch sortiert, sodass Änderungen an der Reihenfolge von listTools() im Upstream die Tool-Blöcke des Prompt-Caches nicht ständig verändern.
    Transporte

    MCP-Server können stdio- oder HTTP-Transport verwenden.

    Stdio startet einen untergeordneten Prozess:

    json
    {  "mcp": {    "servers": {      "my-server": {        "command": "node",        "args": ["server.js"],        "env": { "PORT": "3000" }      }    }  }}

    HTTP stellt eine Verbindung zu einem laufenden MCP-Server her und verwendet standardmäßig sse, sofern nicht streamable-http angefordert wird:

    json
    {  "mcp": {    "servers": {      "my-server": {        "url": "http://localhost:3100/mcp",        "transport": "streamable-http",        "headers": {          "Authorization": "Bearer ${MY_SECRET_TOKEN}"        },        "connectionTimeoutMs": 30000      }    }  }}
    • transport akzeptiert "streamable-http" oder "sse"; wenn der Wert fehlt, ist der Standardwert sse.
    • type: "http" ist eine CLI-native Downstream-Struktur; verwenden Sie transport: "streamable-http" in der OpenClaw-Konfiguration. openclaw mcp set und openclaw doctor --fix normalisieren den üblichen Alias.
    • Nur die URL-Schemata http: und https: sind zulässig.
    • headers-Werte unterstützen die Interpolation von ${ENV_VAR}.
    • Ein Servereintrag mit sowohl command als auch url wird abgelehnt.
    • URL-Anmeldedaten (Benutzerinformationen und Abfrageparameter) werden in Tool- Beschreibungen und Protokollen unkenntlich gemacht.
    • connectionTimeoutMs überschreibt das standardmäßige Verbindungszeitlimit von 30 Sekunden für stdio- und HTTP-Transporte. Das Zeitlimit für Anfragen beträgt standardmäßig 60 Sekunden und kann mit requestTimeoutMs überschrieben werden.
    Tool-Benennung

    OpenClaw registriert Bundle-MCP-Tools mit providersicheren Namen in der Form serverName__toolName. Beispielsweise wird ein Server mit dem Schlüssel "vigil-harbor", der ein memory_search-Tool bereitstellt, als vigil-harbor__memory_search registriert.

    • Zeichen außerhalb von A-Za-z0-9_- werden durch - ersetzt.
    • Fragmente, die mit einem Nichtbuchstaben beginnen würden, erhalten ein Buchstabenpräfix, sodass numerische Serverschlüssel wie 12306 providersichere Tool-Präfixe ergeben.
    • Serverpräfixe sind auf 30 Zeichen begrenzt.
    • Vollständige Tool-Namen sind auf 64 Zeichen begrenzt.
    • Leere Servernamen verwenden ersatzweise mcp.
    • Kollidierende bereinigte Namen werden durch numerische Suffixe eindeutig gemacht.
    • Die endgültige Reihenfolge der bereitgestellten Tools ist nach sicherem Namen deterministisch, wodurch wiederholte Durchläufe eingebetteter Agenten cache-stabil bleiben.
    • Die Profilfilterung behandelt jedes Tool eines Bundle-MCP-Servers als Plugin-eigen unter bundle-mcp, sodass Zulassungs-/Sperrlisten von Profilen entweder einzelne bereitgestellte Tool-Namen oder den Plugin-Schlüssel bundle-mcp referenzieren können.

    Eingebettete OpenClaw-Einstellungen

    Claude settings.json wird als standardmäßige eingebettete OpenClaw-Einstellung importiert, wenn das Bundle aktiviert ist. OpenClaw bereinigt Schlüssel für Shell-Überschreibungen, bevor sie angewendet werden:

    • shellPath
    • shellCommandPrefix

    Eingebettetes OpenClaw-LSP

    • Aktivierte Claude-Bundles können LSP-Serverkonfigurationen bereitstellen.
    • OpenClaw lädt .lsp.json sowie alle im Manifest deklarierten lspServers-Pfade.
    • Die Bundle-LSP-Konfiguration wird in die effektiven eingebetteten OpenClaw-LSP- Standardwerte eingebunden.
    • Derzeit können nur unterstützte stdio-basierte LSP-Server ausgeführt werden; nicht unterstützte Transporte werden weiterhin in openclaw plugins inspect <id> angezeigt.

    Erkannt, aber nicht ausgeführt

    Diese werden erkannt und in der Diagnose angezeigt, aber von OpenClaw nicht ausgeführt:

    • Claude agents, hooks/hooks.json-Automatisierung, outputStyles
    • Cursor .cursor/agents, .cursor/hooks.json, .cursor/rules
    • Codex-.app.json-Metadaten über die Funktionsberichterstattung hinaus

    Bundle-Formate

    Codex-Bundles

    Markierungen: .codex-plugin/plugin.json

    Optionale Inhalte: skills/, hooks/, .mcp.json, .app.json

    Codex-Bundles eignen sich am besten für OpenClaw, wenn sie Skill-Stammverzeichnisse und OpenClaw-artige Hook-Paketverzeichnisse (HOOK.md + handler.ts) verwenden.

    Claude-Bundles

    Zwei Erkennungsmodi:

    • Manifestbasiert: .claude-plugin/plugin.json
    • Ohne Manifest: standardmäßiges Claude-Layout (skills/, commands/, agents/, hooks/, .mcp.json, .lsp.json, settings.json)

    Claude-spezifisches Verhalten:

    • commands/ wird als Skill-Inhalt behandelt
    • settings.json wird in eingebettete OpenClaw-Einstellungen importiert (Schlüssel für Shell-Überschreibungen werden bereinigt)
    • .mcp.json stellt unterstützte stdio-Tools für eingebettetes OpenClaw bereit
    • .lsp.json sowie im Manifest deklarierte lspServers-Pfade werden in die eingebetteten OpenClaw-LSP-Standardwerte geladen
    • hooks/hooks.json wird erkannt, aber nicht ausgeführt
    • Benutzerdefinierte Komponentenpfade im Manifest sind additiv; sie erweitern die Standardwerte, statt sie zu ersetzen
    Cursor-Bundles

    Markierungen: .cursor-plugin/plugin.json

    Optionale Inhalte: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json

    • .cursor/commands/ wird als Skill-Inhalt behandelt
    • .cursor/rules/, .cursor/agents/ und .cursor/hooks.json werden nur erkannt

    Erkennungspriorität

    OpenClaw prüft zuerst auf das native Plugin-Format:

    1. openclaw.plugin.json oder eine gültige package.json mit openclaw.extensions – wird als natives Plugin behandelt
    2. Bundle-Markierungen (.codex-plugin/, .claude-plugin/ oder das standardmäßige Claude-/Cursor-Layout) – wird als Bundle behandelt

    Wenn ein Verzeichnis beides enthält, verwendet OpenClaw den nativen Pfad. Dadurch wird verhindert, dass Pakete mit zwei Formaten teilweise als Bundles installiert werden.

    Laufzeitabhängigkeiten und Bereinigung

    • Kompatible Bundles von Drittanbietern erhalten beim Start keine npm install-Reparatur. Sie sollten über openclaw plugins install installiert werden und alles, was sie benötigen, im installierten Plugin-Verzeichnis enthalten.
    • OpenClaw-eigene gebündelte Plugins werden entweder schlank im Kern ausgeliefert oder können über das Plugin-Installationsprogramm heruntergeladen werden. Beim Start des Gateways wird für sie niemals ein Paketmanager ausgeführt.
    • openclaw doctor --fix entfernt veraltete lokale Installationsdatensätze gebündelter Plugins und kann herunterladbare Plugins wiederherstellen, die im lokalen Plugin- Index fehlen, wenn die Konfiguration weiterhin auf sie verweist.

    Sicherheit

    Bundles haben eine engere Vertrauensgrenze als native Plugins:

    • OpenClaw lädt keine beliebigen Bundle-Laufzeitmodule prozessintern.
    • Pfade für Skills und Hook-Pakete müssen innerhalb des Plugin-Stammverzeichnisses bleiben (mit Grenzprüfung).
    • Einstellungsdateien werden mit denselben Grenzprüfungen gelesen.
    • Unterstützte stdio-MCP-Server können als Unterprozesse gestartet werden.

    Dadurch sind Bundles standardmäßig sicherer, dennoch sollten Sie Drittanbieter- Bundles für die von ihnen bereitgestellten Funktionen als vertrauenswürdige Inhalte behandeln.

    Fehlerbehebung

    Bundle wird erkannt, aber Funktionen werden nicht ausgeführt

    Führen Sie openclaw plugins inspect <id> aus. Wenn eine Funktion aufgeführt, aber als nicht angebunden markiert ist, handelt es sich um eine Produktbeschränkung und nicht um eine fehlerhafte Installation.

    Claude-Befehlsdateien werden nicht angezeigt

    Stellen Sie sicher, dass das Bundle aktiviert ist und sich die Markdown-Dateien innerhalb eines erkannten commands/- oder skills/-Stammverzeichnisses befinden.

    Claude-Einstellungen werden nicht angewendet

    Es werden nur eingebettete OpenClaw-Einstellungen aus settings.json unterstützt. OpenClaw behandelt Bundle-Einstellungen nicht als unverarbeitete Konfigurations-Patches.

    Claude-Hooks werden nicht ausgeführt

    hooks/hooks.json dient nur der Erkennung. Wenn Sie ausführbare Hooks benötigen, verwenden Sie das OpenClaw-Hook-Pack-Layout oder stellen Sie ein natives Plugin bereit.

    Verwandte Themen

    Was this useful?
    On this page

    On this page