Zum Hauptinhalt springen
OpenClaw kann Plugins aus drei externen Ökosystemen installieren: Codex, Claude und Cursor. Diese heißen Bundles – Inhalts- und Metadatenpakete, die OpenClaw nativen Funktionen wie Skills, Hooks und MCP-Tools zuordnet.
Bundles sind nicht dasselbe wie native OpenClaw-Plugins. Native Plugins laufen im Prozess und können jede Capability registrieren. Bundles sind Inhaltspakete mit selektivem Feature-Mapping und einer engeren Vertrauensgrenze.

Warum es Bundles gibt

Viele nützliche Plugins werden im Codex-, Claude- oder Cursor-Format veröffentlicht. Anstatt Autorinnen und 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 es sofort verwenden.

Ein Bundle installieren

1

Aus einem Verzeichnis, Archiv oder Marketplace installieren

# Local directory
openclaw plugins install ./my-bundle

# Archive
openclaw plugins install ./my-bundle.tgz

# Claude marketplace
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
2

Erkennung prüfen

openclaw plugins list
openclaw plugins inspect <id>
Bundles werden als Format: bundle mit einem Subtyp von codex, claude oder cursor angezeigt.
3

Neu starten und verwenden

openclaw gateway restart
Zugeordnete Funktionen (Skills, Hooks, MCP-Tools, LSP-Standards) 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.

Jetzt unterstützt

FeatureWie es zugeordnet wirdGilt für
Skill-InhaltBundle-Skill-Roots werden als normale OpenClaw-Skills geladenAlle Formate
Befehlecommands/ und .cursor/commands/ werden als Skill-Roots behandeltClaude, Cursor
Hook-PaketeOpenClaw-artige Layouts mit HOOK.md + handler.tsCodex
MCP-ToolsBundle-MCP-Konfiguration wird in eingebettete OpenClaw-Einstellungen zusammengeführt; unterstützte stdio- und HTTP-Server werden geladenAlle Formate
LSP-ServerClaude .lsp.json und im Manifest deklarierte lspServers werden in eingebettete OpenClaw-LSP-Standards zusammengeführtClaude
EinstellungenClaude settings.json wird als eingebettete OpenClaw-Standardeinstellungen importiertClaude

Skill-Inhalt

  • Bundle-Skill-Roots werden als normale OpenClaw-Skill-Roots geladen
  • Claude-commands-Roots werden als zusätzliche Skill-Roots behandelt
  • Cursor-.cursor/commands-Roots werden als zusätzliche Skill-Roots behandelt
Das bedeutet, dass Claude-Markdown-Befehlsdateien über den normalen OpenClaw-Skill- Loader funktionieren. Cursor-Befehls-Markdown funktioniert über denselben Pfad.

Hook-Pakete

  • Bundle-Hook-Roots 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 eingebettetes OpenClaw

  • aktivierte Bundles können MCP-Serverkonfiguration beitragen
  • OpenClaw führt Bundle-MCP-Konfiguration in den wirksamen eingebetteten OpenClaw-Einstellungen als mcpServers zusammen
  • OpenClaw stellt unterstützte Bundle-MCP-Tools während eingebetteter OpenClaw-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 sich für einen Agent oder Gateway abzumelden
  • projektlokale eingebettete Agent-Einstellungen gelten weiterhin nach den Bundle-Standards, sodass Workspace- Einstellungen Bundle-MCP-Einträge bei Bedarf überschreiben können
  • Bundle-MCP-Toolkataloge werden vor der Registrierung deterministisch sortiert, sodass Änderungen der Upstream-Reihenfolge von listTools() die Prompt-Cache-Tool-Blöcke nicht durcheinanderbringen
Transporte
MCP-Server können stdio- oder HTTP-Transport verwenden: Stdio startet einen Child-Prozess:
{
  "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:
{
  "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 es ausgelassen wird, 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-Anmeldedaten (userinfo und Query-Parameter) werden aus Tool- Beschreibungen und Logs entfernt
  • connectionTimeoutMs überschreibt das standardmäßige Verbindungs-Timeout von 30 Sekunden für sowohl stdio- als auch HTTP-Transporte
Tool-Benennung
OpenClaw registriert Bundle-MCP-Tools mit Provider-sicheren Namen in der Form serverName__toolName. Zum Beispiel 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 Server-Schlüssel wie 12306 zu Provider-sicheren Tool-Präfixen werden
  • Server-Prä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ültige offengelegte Tool-Reihenfolge ist nach sicherem Namen deterministisch, um wiederholte eingebettete Agent- Turns cache-stabil zu halten
  • Profilfilterung behandelt alle Tools eines Bundle-MCP-Servers als Plugin-eigen durch bundle-mcp, sodass Profil-Allowlists und Deny-Listen entweder einzelne offengelegte Tool-Namen oder den Plugin-Schlüssel bundle-mcp enthalten können

Eingebettete OpenClaw-Einstellungen

  • Claude settings.json wird als eingebettete OpenClaw-Standardeinstellungen importiert, wenn das Bundle aktiviert ist
  • OpenClaw bereinigt Shell-Override-Schlüssel, bevor es sie anwendet
Bereinigte Schlüssel:
  • shellPath
  • shellCommandPrefix

Eingebettetes OpenClaw-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 OpenClaw-LSP-Standards zusammengeführt
  • nur unterstützte stdio-gestützte LSP-Server sind heute ausführbar; nicht unterstützte Transporte erscheinen weiterhin in openclaw plugins inspect <id>

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

Marker: .codex-plugin/plugin.jsonOptionale Inhalte: skills/, hooks/, .mcp.json, .app.jsonCodex-Bundles passen am besten zu OpenClaw, wenn sie Skill-Roots und OpenClaw-artige Hook-Paket-Verzeichnisse (HOOK.md + handler.ts) verwenden.
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 OpenClaw-Einstellungen importiert (Shell-Override-Schlüssel werden bereinigt)
  • .mcp.json stellt unterstützte stdio-Tools für eingebettetes OpenClaw bereit
  • .lsp.json plus im Manifest deklarierte lspServers-Pfade werden in eingebettete OpenClaw-LSP-Standards geladen
  • hooks/hooks.json wird erkannt, aber nicht ausgeführt
  • Benutzerdefinierte Komponentenpfade im Manifest sind additiv (sie erweitern Standards, ersetzen sie nicht)
Marker: .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 sind nur Erkennung

Erkennungspriorität

OpenClaw prüft zuerst auf das native Plugin-Format:
  1. openclaw.plugin.json oder gültiges package.json mit openclaw.extensions – wird als natives Plugin behandelt
  2. Bundle-Marker (.codex-plugin/, .claude-plugin/ oder Standard-Claude-/Cursor-Layout) – wird 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.

Laufzeitabhängigkeiten und Bereinigung

  • Kompatible Bundles von Drittanbietern 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 schlank im Core ausgeliefert oder über den Plugin-Installer heruntergeladen. Der Gateway-Start führt für sie nie einen Package Manager aus.
  • openclaw doctor --fix entfernt alte 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-Laufzeitmodule im Prozess
  • Skills und Hook-Paket-Pfade müssen innerhalb des Plugin-Roots bleiben (Boundary-geprüft)
  • Einstellungsdateien werden mit denselben Boundary-Prü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ürdigen Inhalt für die Funktionen behandeln, die sie bereitstellen.

Fehlerbehebung

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.
Stellen Sie sicher, dass das Bundle aktiviert ist und die Markdown-Dateien sich innerhalb eines erkannten commands/- oder skills/-Roots befinden.
Nur eingebettete OpenClaw-Einstellungen aus settings.json werden unterstützt. OpenClaw behandelt Bundle-Einstellungen nicht als rohe Konfigurations-Patches.
hooks/hooks.json ist nur Erkennung. Wenn Sie ausführbare Hooks benötigen, verwenden Sie das OpenClaw-Hook-Paket-Layout oder liefern Sie ein natives Plugin aus.

Verwandt