Bundles de plugins
OpenClaw peut installer des plugins depuis trois écosystèmes externes : Codex, Claude et Cursor. On les appelle des bundles — des packs de contenu et de métadonnées que OpenClaw mappe vers des fonctionnalités natives comme les Skills, les hooks et les outils MCP.Les bundles ne sont pas la même chose que les plugins natifs OpenClaw. Les plugins natifs s’exécutent
dans le processus et peuvent enregistrer n’importe quelle capacité. Les bundles sont des packs de contenu avec
un mappage sélectif des fonctionnalités et une limite de confiance plus étroite.
Pourquoi les bundles existent
De nombreux plugins utiles sont publiés au format Codex, Claude ou Cursor. Au lieu d’exiger que les auteurs les réécrivent comme plugins natifs OpenClaw, OpenClaw détecte ces formats et mappe leur contenu pris en charge vers l’ensemble de fonctionnalités natives. Cela signifie que vous pouvez installer un pack de commandes Claude ou un bundle de Skills Codex et l’utiliser immédiatement.Installer un bundle
Vérifier la détection
Format: bundle avec un sous-type codex, claude ou cursor.Ce qu’OpenClaw mappe depuis les bundles
Toutes les fonctionnalités d’un bundle ne s’exécutent pas aujourd’hui dans OpenClaw. Voici ce qui fonctionne et ce qui est détecté mais pas encore connecté.Pris en charge maintenant
| Fonctionnalité | Comment elle est mappée | S’applique à |
|---|---|---|
| Contenu de Skill | Les racines de Skills du bundle se chargent comme des Skills OpenClaw normales | Tous les formats |
| Commandes | commands/ et .cursor/commands/ sont traités comme des racines de Skills | Claude, Cursor |
| Packs de hooks | Dispositions de style OpenClaw HOOK.md + handler.ts | Codex |
| Outils MCP | La configuration MCP du bundle est fusionnée dans les paramètres Pi embarqués ; les serveurs stdio et HTTP pris en charge sont chargés | Tous les formats |
| Serveurs LSP | Le .lsp.json de Claude et les lspServers déclarés dans le manifeste sont fusionnés dans les valeurs par défaut LSP de Pi embarqué | Claude |
| Paramètres | Le settings.json de Claude est importé comme valeurs par défaut de Pi embarqué | Claude |
Contenu de Skill
- les racines de Skills du bundle se chargent comme des racines de Skills OpenClaw normales
- les racines
commandsClaude sont traitées comme des racines de Skills supplémentaires - les racines
.cursor/commandsCursor sont traitées comme des racines de Skills supplémentaires
Packs de hooks
- les racines de hooks du bundle fonctionnent uniquement lorsqu’elles utilisent la disposition
normale des packs de hooks OpenClaw. Aujourd’hui, il s’agit principalement du cas compatible Codex :
HOOK.mdhandler.tsouhandler.js
MCP pour Pi
- les bundles activés peuvent contribuer une configuration de serveur MCP
- OpenClaw fusionne la configuration MCP du bundle dans les paramètres Pi embarqués effectifs sous
mcpServers - OpenClaw expose les outils MCP de bundle pris en charge pendant les tours d’agent Pi embarqué en lançant des serveurs stdio ou en se connectant à des serveurs HTTP
- les paramètres Pi locaux au projet s’appliquent toujours après les valeurs par défaut du bundle, de sorte que les paramètres d’espace de travail peuvent remplacer les entrées MCP du bundle si nécessaire
- les catalogues d’outils MCP des bundles sont triés de manière déterministe avant l’enregistrement, afin que les
changements d’ordre
listTools()en amont ne perturbent pas les blocs d’outils du cache de prompt
Transports
Les serveurs MCP peuvent utiliser le transport stdio ou HTTP : Stdio lance un processus enfant :sse par défaut, ou streamable-http lorsqu’il est demandé :
transportpeut être défini sur"streamable-http"ou"sse"; lorsqu’il est omis, OpenClaw utilisesse- seuls les schémas d’URL
http:ethttps:sont autorisés - les valeurs
headersprennent en charge l’interpolation${ENV_VAR} - une entrée de serveur avec à la fois
commandeturlest rejetée - les identifiants d’URL (userinfo et paramètres de requête) sont masqués dans les descriptions d’outils et les journaux
connectionTimeoutMsremplace le délai de connexion par défaut de 30 secondes pour les transports stdio et HTTP
Nommage des outils
OpenClaw enregistre les outils MCP de bundle avec des noms sûrs pour le fournisseur sous la formeserverName__toolName. Par exemple, un serveur avec la clé "vigil-harbor" exposant un
outil memory_search est enregistré comme vigil-harbor__memory_search.
- les caractères hors de
A-Za-z0-9_-sont remplacés par- - les préfixes de serveur sont plafonnés à 30 caractères
- les noms complets d’outils sont plafonnés à 64 caractères
- les noms de serveur vides reviennent à
mcp - les noms assainis en collision sont désambiguïsés avec des suffixes numériques
- l’ordre final des outils exposés est déterministe par nom sûr afin de garder les tours Pi répétés stables vis-à-vis du cache
Paramètres Pi embarqués
- le
settings.jsonde Claude est importé comme paramètres Pi embarqués par défaut lorsque le bundle est activé - OpenClaw assainit les clés de remplacement du shell avant de les appliquer
shellPathshellCommandPrefix
LSP Pi embarqué
- les bundles Claude activés peuvent contribuer une configuration de serveur LSP
- OpenClaw charge
.lsp.jsonplus tous les cheminslspServersdéclarés dans le manifeste - la configuration LSP du bundle est fusionnée dans les valeurs par défaut LSP effectives de Pi embarqué
- seuls les serveurs LSP adossés à stdio pris en charge peuvent être exécutés aujourd’hui ; les transports non pris en charge
apparaissent toujours dans
openclaw plugins inspect <id>
Détecté mais non exécuté
Ces éléments sont reconnus et affichés dans les diagnostics, mais OpenClaw ne les exécute pas :agents, automatisationhooks.json,outputStylesde Claude.cursor/agents,.cursor/hooks.json,.cursor/rulesde Cursor- métadonnées inline/app Codex au-delà du signalement de capacité
Formats de bundle
Bundles Codex
Bundles Codex
Marqueurs :
.codex-plugin/plugin.jsonContenu facultatif : skills/, hooks/, .mcp.json, .app.jsonLes bundles Codex s’intègrent le mieux à OpenClaw lorsqu’ils utilisent des racines de Skills et des
répertoires de packs de hooks de style OpenClaw (HOOK.md + handler.ts).Bundles Claude
Bundles Claude
Deux modes de détection :
- Basé sur manifeste :
.claude-plugin/plugin.json - Sans manifeste : disposition Claude par défaut (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
commands/est traité comme du contenu de Skillsettings.jsonest importé dans les paramètres Pi embarqués (les clés de remplacement du shell sont assainies).mcp.jsonexpose les outils stdio pris en charge à Pi embarqué.lsp.jsonplus les cheminslspServersdéclarés dans le manifeste sont chargés dans les valeurs par défaut LSP de Pi embarquéhooks/hooks.jsonest détecté mais non exécuté- les chemins de composants personnalisés dans le manifeste sont additifs (ils étendent les valeurs par défaut, ils ne les remplacent pas)
Bundles Cursor
Bundles Cursor
Marqueurs :
.cursor-plugin/plugin.jsonContenu facultatif : skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json.cursor/commands/est traité comme du contenu de Skill.cursor/rules/,.cursor/agents/et.cursor/hooks.jsonsont détectés uniquement
Priorité de détection
OpenClaw vérifie d’abord le format de plugin natif :openclaw.plugin.jsonoupackage.jsonvalide avecopenclaw.extensions— traité comme plugin natif- Marqueurs de bundle (
.codex-plugin/,.claude-plugin/, ou disposition Claude/Cursor par défaut) — traité comme bundle
Sécurité
Les bundles ont une limite de confiance plus étroite que les plugins natifs :- OpenClaw ne charge pas arbitrairement des modules runtime de bundle dans le processus
- les chemins des Skills et des packs de hooks doivent rester à l’intérieur de la racine du plugin (vérification de frontière)
- les fichiers de paramètres sont lus avec les mêmes vérifications de frontière
- les serveurs MCP stdio pris en charge peuvent être lancés comme sous-processus
Dépannage
Le bundle est détecté mais les capacités ne s’exécutent pas
Le bundle est détecté mais les capacités ne s’exécutent pas
Exécutez
openclaw plugins inspect <id>. Si une capacité est listée mais marquée comme
non connectée, il s’agit d’une limite du produit — pas d’une installation cassée.Les fichiers de commandes Claude n’apparaissent pas
Les fichiers de commandes Claude n’apparaissent pas
Assurez-vous que le bundle est activé et que les fichiers Markdown se trouvent dans une racine
commands/ ou skills/ détectée.Les paramètres Claude ne s’appliquent pas
Les paramètres Claude ne s’appliquent pas
Seuls les paramètres Pi embarqués de
settings.json sont pris en charge. OpenClaw ne
traite pas les paramètres de bundle comme des correctifs de configuration bruts.Les hooks Claude ne s’exécutent pas
Les hooks Claude ne s’exécutent pas
hooks/hooks.json est détecté uniquement. Si vous avez besoin de hooks exécutables, utilisez la
disposition de pack de hooks OpenClaw ou livrez un plugin natif.Lié
- Installer et configurer des plugins
- Building Plugins — créer un plugin natif
- Manifeste de plugin — schéma du manifeste natif