Skip to main content
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.
Bundles sind nicht dasselbe wie native OpenClaw-Plugins. Native Plugins werden prozessintern ausgeführt und können beliebige Funktionen registrieren. Bundles sind Inhaltspakete mit selektiver Funktionszuordnung und einer engeren Vertrauensgrenze.

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

1

Aus einem Verzeichnis, Archiv oder Marketplace installieren

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

Erkennung überprüfen

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

Neu starten und verwenden

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

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:
HTTP stellt eine Verbindung zu einem laufenden MCP-Server her und verwendet standardmäßig sse, sofern nicht streamable-http angefordert wird:
  • 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

Markierungen: .codex-plugin/plugin.jsonOptionale Inhalte: skills/, hooks/, .mcp.json, .app.jsonCodex-Bundles eignen sich am besten für OpenClaw, wenn sie Skill-Stammverzeichnisse und OpenClaw-artige Hook-Paketverzeichnisse (HOOK.md + handler.ts) verwenden.
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
Markierungen: .cursor-plugin/plugin.jsonOptionale 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

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.
Stellen Sie sicher, dass das Bundle aktiviert ist und sich die Markdown-Dateien innerhalb eines erkannten commands/- oder skills/-Stammverzeichnisses befinden.
Es werden nur eingebettete OpenClaw-Einstellungen aus settings.json unterstützt. OpenClaw behandelt Bundle-Einstellungen nicht als unverarbeitete Konfigurations-Patches.
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