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
# 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
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
openclaw gateway restartZugeordnete 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
mcpServersin 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
codingundmessagingenthalten standardmäßig Bundle-MCP-Tools; verwenden Sietools.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:
{ "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:
{ "mcp": { "servers": { "my-server": { "url": "http://localhost:3100/mcp", "transport": "streamable-http", "headers": { "Authorization": "Bearer ${MY_SECRET_TOKEN}" }, "connectionTimeoutMs": 30000 } } }}transportakzeptiert"streamable-http"oder"sse"; wenn der Wert fehlt, ist der Standardwertsse.type: "http"ist eine CLI-native Downstream-Struktur; verwenden Sietransport: "streamable-http"in der OpenClaw-Konfiguration.openclaw mcp setundopenclaw doctor --fixnormalisieren den üblichen Alias.- Nur die URL-Schemata
http:undhttps:sind zulässig. headers-Werte unterstützen die Interpolation von${ENV_VAR}.- Ein Servereintrag mit sowohl
commandals auchurlwird 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 mitrequestTimeoutMsü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
12306providersichere 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üsselbundle-mcpreferenzieren 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:
shellPathshellCommandPrefix
Eingebettetes OpenClaw-LSP
- Aktivierte Claude-Bundles können LSP-Serverkonfigurationen bereitstellen.
- OpenClaw lädt
.lsp.jsonsowie alle im Manifest deklariertenlspServers-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 behandeltsettings.jsonwird in eingebettete OpenClaw-Einstellungen importiert (Schlüssel für Shell-Überschreibungen werden bereinigt).mcp.jsonstellt unterstützte stdio-Tools für eingebettetes OpenClaw bereit.lsp.jsonsowie im Manifest deklariertelspServers-Pfade werden in die eingebetteten OpenClaw-LSP-Standardwerte geladenhooks/hooks.jsonwird 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.jsonwerden nur erkannt
Erkennungspriorität
OpenClaw prüft zuerst auf das native Plugin-Format:
openclaw.plugin.jsonoder eine gültigepackage.jsonmitopenclaw.extensions– wird als natives Plugin behandelt- 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 überopenclaw plugins installinstalliert 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 --fixentfernt 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
- Plugins installieren und konfigurieren
- Plugins erstellen – ein natives Plugin erstellen
- Plugin-Manifest – natives Manifest-Schema