Plugins

Plugin-Bundles

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

Warum Bundles existieren

Viele nützliche Plugins werden im Codex-, Claude- oder Cursor-Format 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. Das bedeutet, 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
    # Local directoryopenclaw plugins install ./my-bundle # Archiveopenclaw plugins install ./my-bundle.tgz # Claude marketplaceopenclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>
  • Erkennung prüfen

    bash
    openclaw plugins listopenclaw plugins inspect <id>

    Bundles werden als Format: bundle mit einem Subtyp von codex, claude oder cursor angezeigt.

  • 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

    Nicht jede Bundle-Funktion läuft heute in OpenClaw. Hier sehen Sie, was funktioniert und was erkannt, aber noch nicht verdrahtet ist.

    Derzeit unterstützt

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

    Skill-Inhalte

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

    Das bedeutet, Claude-Markdown-Befehlsdateien funktionieren über den normalen OpenClaw-Skill- Loader. Cursor-Befehls-Markdown funktioniert über denselben Pfad.

    Hook-Pakete

    • Bundle-Hook-Wurzeln funktionieren nur, wenn sie das normale OpenClaw-Hook-Paket- Layout verwenden. Heute ist dies hauptsächlich der Codex-kompatible Fall:
      • HOOK.md
      • handler.ts oder handler.js

    MCP für Pi

    • aktivierte Bundles können MCP-Serverkonfiguration beitragen
    • OpenClaw führt Bundle-MCP-Konfiguration als mcpServers in die wirksamen eingebetteten Pi-Einstellungen zusammen
    • OpenClaw stellt unterstützte Bundle-MCP-Tools während eingebetteter Pi-Agent-Turns bereit, indem stdio-Server gestartet oder Verbindungen zu HTTP-Servern hergestellt werden
    • die Tool-Profile coding und messaging enthalten Bundle-MCP-Tools standardmäßig; verwenden Sie tools.deny: ["bundle-mcp"], um dies für einen Agent oder Gateway zu deaktivieren
    • projektlokale Pi-Einstellungen gelten weiterhin nach Bundle-Standardwerten, sodass Workspace- Einstellungen Bundle-MCP-Einträge bei Bedarf überschreiben können
    • Bundle-MCP-Tool-Kataloge werden vor der Registrierung deterministisch sortiert, sodass Änderungen der Upstream-listTools()-Reihenfolge Prompt-Cache-Tool-Blöcke nicht durcheinanderbringen
    Transports

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

    Stdio startet einen Child-Prozess:

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

    HTTP verbindet sich standardmäßig über sse mit einem laufenden MCP-Server oder auf Anforderung über streamable-http:

    json
    {  "mcp": {    "servers": {      "my-server": {        "url": "http://localhost:3100/mcp",        "transport": "streamable-http",        "headers": {          "Authorization": "Bearer ${MY_SECRET_TOKEN}"        },        "connectionTimeoutMs": 30000      }    }  }}
    • transport kann auf "streamable-http" oder "sse" gesetzt werden; wenn ausgelassen, verwendet OpenClaw sse
    • type: "http" ist eine CLI-native Downstream-Form; verwenden Sie transport: "streamable-http" in der OpenClaw-Konfiguration. openclaw mcp set und openclaw doctor --fix normalisieren den gängigen Alias.
    • nur URL-Schemata http: und https: sind erlaubt
    • headers-Werte unterstützen ${ENV_VAR}-Interpolation
    • ein Servereintrag mit sowohl command als auch url wird abgelehnt
    • URL-Zugangsdaten (userinfo und query params) werden aus Tool- Beschreibungen und Logs redigiert
    • connectionTimeoutMs überschreibt das standardmäßige 30-Sekunden-Verbindungstimeout für stdio- und HTTP-Transports
    Tool-Benennung

    OpenClaw registriert Bundle-MCP-Tools mit Provider-sicheren 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 Nicht-Buchstaben beginnen würden, erhalten ein Buchstabenpräfix, sodass numerische Serverschlüssel wie 12306 zu Provider-sicheren Tool-Präfixen werden
    • Serverpräfixe sind auf 30 Zeichen begrenzt
    • vollständige Tool-Namen sind auf 64 Zeichen begrenzt
    • leere Servernamen fallen auf mcp zurück
    • kollidierende bereinigte Namen werden mit numerischen Suffixen eindeutig gemacht
    • die endgültig bereitgestellte Tool-Reihenfolge ist nach sicherem Namen deterministisch, um wiederholte Pi- Turns cache-stabil zu halten
    • Profilfilterung behandelt alle Tools eines Bundle-MCP-Servers als Plugin-eigen durch bundle-mcp, sodass Profil-Allowlists und Deny Lists entweder einzelne bereitgestellte Tool-Namen oder den Plugin-Schlüssel bundle-mcp enthalten können

    Eingebettete Pi-Einstellungen

    • Claude-settings.json wird als standardmäßige eingebettete Pi-Einstellungen importiert, wenn das Bundle aktiviert ist
    • OpenClaw bereinigt Shell-Override-Schlüssel, bevor sie angewendet werden

    Bereinigte Schlüssel:

    • shellPath
    • shellCommandPrefix

    Eingebettetes Pi-LSP

    • aktivierte Claude-Bundles können LSP-Serverkonfiguration beitragen
    • OpenClaw lädt .lsp.json plus alle im Manifest deklarierten lspServers-Pfade
    • Bundle-LSP-Konfiguration wird in die wirksamen eingebetteten Pi-LSP-Standardwerte zusammengeführt
    • nur unterstützte stdio-basierte LSP-Server sind heute ausführbar; nicht unterstützte Transports werden weiterhin in openclaw plugins inspect <id> angezeigt

    Erkannt, aber nicht ausgeführt

    Diese werden erkannt und in Diagnosen angezeigt, aber OpenClaw führt sie nicht aus:

    • Claude-agents, hooks.json-Automatisierung, outputStyles
    • Cursor-.cursor/agents, .cursor/hooks.json, .cursor/rules
    • Codex-Inline-/App-Metadaten über Capability-Berichte hinaus

    Bundle-Formate

    Codex-Bundles

    Marker: .codex-plugin/plugin.json

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

    Codex-Bundles passen am besten zu OpenClaw, wenn sie Skill-Wurzeln und OpenClaw-artige Hook-Paket-Verzeichnisse (HOOK.md + handler.ts) verwenden.

    Claude-Bundles

    Zwei Erkennungsmodi:

    • Manifestbasiert: .claude-plugin/plugin.json
    • Ohne Manifest: Standard-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 Pi-Einstellungen importiert (Shell-Override-Schlüssel werden bereinigt)
    • .mcp.json stellt unterstützte stdio-Tools für eingebettetes Pi bereit
    • .lsp.json plus im Manifest deklarierte lspServers-Pfade werden in eingebettete Pi-LSP-Standardwerte geladen
    • hooks/hooks.json wird erkannt, aber nicht ausgeführt
    • Benutzerdefinierte Komponentenpfade im Manifest sind additiv (sie erweitern Standardwerte, ersetzen sie nicht)
    Cursor-Bundles

    Marker: .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 dienen nur der Erkennung

    Erkennungsreihenfolge

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

    1. openclaw.plugin.json oder gültiges package.json mit openclaw.extensions — als natives Plugin behandelt
    2. Bundle-Marker (.codex-plugin/, .claude-plugin/ oder Standard-Claude-/Cursor-Layout) — als Bundle behandelt

    Wenn ein Verzeichnis beides enthält, verwendet OpenClaw den nativen Pfad. Dies verhindert, dass Dual-Format-Pakete teilweise als Bundles installiert werden.

    Runtime-Abhängigkeiten und Bereinigung

    • Drittanbieterkompatible Bundles erhalten keine npm install-Reparatur beim Start. Sie sollten über openclaw plugins install installiert werden und alles, was sie benötigen, im installierten Plugin-Verzeichnis mitliefern.
    • OpenClaw-eigene gebündelte Plugins werden entweder leichtgewichtig im Core ausgeliefert oder über den Plugin-Installer herunterladbar gemacht. Der Gateway-Start führt für sie niemals einen Paketmanager aus.
    • openclaw doctor --fix entfernt veraltete bereitgestellte Abhängigkeitsverzeichnisse und kann herunterladbare Plugins wiederherstellen, die im lokalen Plugin-Index fehlen, wenn die Konfiguration auf sie verweist.

    Sicherheit

    Bundles haben eine engere Vertrauensgrenze als native Plugins:

    • OpenClaw lädt keine beliebigen Bundle-Runtime-Module im Prozess
    • Skills- und Hook-Paket-Pfade müssen innerhalb der Plugin-Wurzel bleiben (grenzgeprüft)
    • Einstellungsdateien werden mit denselben Grenzprüfungen gelesen
    • Unterstützte stdio-MCP-Server können als Subprozesse gestartet werden

    Das macht Bundles standardmäßig sicherer, aber Sie sollten Drittanbieter- Bundles dennoch als vertrauenswürdige Inhalte für die Funktionen behandeln, die sie bereitstellen.

    Fehlerbehebung

    Bundle wird erkannt, aber Capabilities werden nicht ausgeführt

    Führen Sie openclaw plugins inspect <id> aus. Wenn eine Capability aufgeführt, aber als nicht verdrahtet markiert ist, ist das eine Produktgrenze — keine fehlerhafte Installation.

    Claude-Befehlsdateien werden nicht angezeigt

    Stellen Sie sicher, dass das Bundle aktiviert ist und die Markdown-Dateien innerhalb einer erkannten commands/- oder skills/-Wurzel liegen.

    Claude-Einstellungen werden nicht angewendet

    Nur eingebettete Pi-Einstellungen aus settings.json werden unterstützt. OpenClaw behandelt Bundle-Einstellungen nicht als rohe 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-Paket-Layout oder liefern Sie ein natives Plugin aus.

    Verwandt

    Was this useful?