Prérequis
Avant d’installer un plugin, assurez-vous de disposer de :- un checkout ou une installation OpenClaw avec la CLI
openclawdisponible - un accès réseau à la source sélectionnée, comme ClawHub, npm ou un hôte git
- tous les identifiants, clés de configuration ou outils de système d’exploitation propres au plugin indiqués par la documentation de configuration de ce plugin
- l’autorisation pour le Gateway qui dessert vos canaux de se recharger ou de redémarrer
Démarrage rapide
Trouver le plugin
Recherchez des paquets de plugins publics dans ClawHub :ClawHub est la principale surface de découverte pour les plugins communautaires. Pendant la
bascule de lancement, les spécifications de paquet ordinaires sans préfixe s’installent toujours depuis npm sauf
si elles correspondent à un id de plugin officiel. Les spécifications de paquet
@openclaw/* brutes qui correspondent
à des plugins groupés utilisent la copie groupée de la version actuelle d’OpenClaw. Utilisez un
préfixe explicite lorsque vous avez besoin d’une source précise.Installer le plugin
Le configurer et l’activer
Configurez les paramètres propres au plugin sous Si votre configuration utilise une liste restrictive
plugins.entries.<id>.config.
Activez le plugin lorsqu’il ne l’est pas déjà :plugins.allow, l’id du plugin installé
doit y être présent avant que le plugin puisse se charger.
openclaw plugins install ajoute l’id installé à une liste plugins.allow
existante et supprime le même id de plugins.deny afin que
l’installation explicite puisse se charger après redémarrage.Laisser le Gateway se recharger
L’installation, la mise à jour ou la désinstallation du code d’un plugin nécessite un redémarrage du Gateway.
Lorsqu’un Gateway géré est déjà en cours d’exécution avec le rechargement de configuration
activé, OpenClaw détecte l’enregistrement d’installation de plugin modifié et redémarre le
Gateway automatiquement. Si le Gateway n’est pas géré ou si le rechargement est désactivé,
redémarrez-le vous-même :Les opérations d’activation et de désactivation mettent à jour la configuration et rafraîchissent le registre à froid.
Une inspection du runtime reste le chemin de vérification le plus clair pour les surfaces d’exécution
actives.
Configuration
Choisir une source d’installation
| Source | À utiliser lorsque | Exemple |
|---|---|---|
| ClawHub | Vous voulez une découverte native OpenClaw, des analyses, des métadonnées de version et des indications d’installation | openclaw plugins install clawhub:<package> |
| npm | Vous avez besoin de workflows directs de registre npm ou de dist-tag | openclaw plugins install npm:<package> |
| git | Vous avez besoin d’une branche, d’un tag ou d’un commit depuis un dépôt | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| chemin local | Vous développez ou testez un plugin sur la même machine | openclaw plugins install --link ./my-plugin |
| marketplace | Vous installez un plugin de marketplace compatible avec Claude | openclaw plugins install <plugin> --marketplace <source> |
@openclaw/* brutes qui correspondent à des plugins groupés se résolvent aussi vers la
copie groupée avant le repli npm. Utilisez npm:@openclaw/<plugin>@<version> lorsque
vous voulez délibérément le paquet npm externe plutôt que la copie groupée détenue par l’image.
Utilisez clawhub:, npm:, git: ou npm-pack: lorsque vous avez besoin
d’une sélection de source déterministe. Consultez openclaw plugins
pour le contrat de commande complet.
Pour les installations npm, les spécifications de paquet non épinglées et @latest choisissent le paquet stable
le plus récent qui annonce sa compatibilité avec cette version d’OpenClaw. Si la
version latest actuelle de npm déclare un openclaw.compat.pluginApi ou un
openclaw.install.minHostVersion plus récent, OpenClaw analyse les anciennes versions stables du paquet
et installe la plus récente qui convient. Les versions exactes et les tags de canal explicites
comme @beta restent épinglés au paquet sélectionné et échouent en cas d’incompatibilité.
Politique d’installation de l’opérateur
Configurezsecurity.installPolicy pour exécuter une commande de politique locale de confiance avant que
l’installation ou la mise à jour d’un plugin ne se poursuive. La politique reçoit les métadonnées ainsi que le chemin
source préparé et peut autoriser ou bloquer l’installation. Elle couvre les chemins d’installation/mise à jour de plugins
adossés à la CLI et au Gateway. Les hooks before_install de plugin s’exécutent plus tard uniquement dans
les processus OpenClaw où les hooks de plugin sont chargés, donc utilisez security.installPolicy
pour les décisions d’installation détenues par l’opérateur. L’option obsolète
--dangerously-force-unsafe-install est acceptée pour compatibilité mais ne
contourne pas la politique d’installation ni la denylist intégrée d’OpenClaw pour les dépendances de plugins.
Consultez Configuration des Skills
pour le schéma exec partagé security.installPolicy utilisé à la fois par les Skills et
les plugins.
Configurer la politique des plugins
La forme de configuration commune des plugins est :plugins.enabled: falsedésactive tous les plugins et ignore le travail de découverte/chargement des plugins. Les références de plugins obsolètes sont inertes tant que cela est actif ; réactivez les plugins avant d’exécuter le nettoyage doctor lorsque vous voulez supprimer les ids obsolètes.plugins.denyl’emporte sur l’autorisation et l’activation par plugin.plugins.allowest une allowlist exclusive. Les outils appartenant aux plugins en dehors de l’allowlist restent indisponibles, même lorsquetools.allowinclut"*".plugins.entries.<id>.enabled: falsedésactive un plugin tout en conservant sa configuration.plugins.load.pathsajoute des fichiers ou répertoires de plugin locaux explicites. Les chemins locauxplugins installgérés doivent être des répertoires ou archives de plugin ; utilisezplugins.load.pathspour les fichiers de plugin autonomes.- Les plugins issus du workspace sont désactivés par défaut ; activez-les explicitement ou ajoutez-les à l’allowlist avant d’utiliser du code de workspace local.
- Les plugins groupés suivent leurs métadonnées intégrées default-on/default-off sauf si la configuration les remplace explicitement.
plugins.slots.<slot>choisit un plugin pour des catégories exclusives comme les moteurs de mémoire et de contexte. La sélection d’un slot force l’activation du plugin sélectionné pour ce slot en comptant comme activation explicite ; il peut se charger même lorsqu’il serait sinon opt-in.plugins.denyetplugins.entries.<id>.enabled: falsele bloquent toujours.- Les plugins groupés opt-in peuvent s’auto-activer lorsque la configuration nomme l’une de leurs surfaces détenues, comme une référence fournisseur/modèle, une configuration de canal, un backend CLI ou un runtime de harnais d’agent.
- Le routage Codex de la famille OpenAI garde les frontières du fournisseur et du plugin de runtime
séparées : les anciennes références de modèles Codex sont une configuration legacy réparée par doctor, tandis que le plugin groupé
codexpossède le runtime serveur d’application Codex pour les références d’agent canoniquesopenai/*,agentRuntime.id: "codex"explicite et les références legacycodex/*.
plugins.allow n’est pas défini et que des plugins non groupés sont auto-découverts depuis
le workspace ou les racines de plugins globales, les journaux de démarrage indiquent
plugins.allow is empty; discovered non-bundled plugins may auto-load: ....
L’avertissement inclut les ids de plugins découverts et, pour les listes courtes, un extrait minimal
plugins.allow. Exécutez
openclaw plugins list --enabled --verbose ou
openclaw plugins inspect <id> avec l’id de plugin indiqué
avant de copier des plugins de confiance dans openclaw.json. Les mêmes recommandations d’épinglage de confiance
s’appliquent lorsque les diagnostics indiquent qu’un plugin s’est chargé
without install/load-path provenance : inspectez cet id de plugin, puis épinglez l’id
de confiance dans plugins.allow ou réinstallez depuis une source de confiance afin qu’OpenClaw
enregistre la provenance d’installation.
Exécutez openclaw doctor ou openclaw doctor --fix lorsque la validation de configuration signale
des ids de plugins obsolètes, des incohérences allowlist/outils ou des chemins de plugins groupés legacy.
Comprendre les formats de plugins
OpenClaw reconnaît deux formats de plugins :| Format | Comment il se charge | À utiliser lorsque |
|---|---|---|
| Plugin OpenClaw natif | openclaw.plugin.json plus un module de runtime chargé dans le processus | Vous installez ou construisez des capacités de runtime propres à OpenClaw |
| Bundle compatible | Agencement de plugin Codex, Claude ou Cursor mappé dans l’inventaire des plugins OpenClaw | Vous réutilisez des Skills, commandes, hooks ou métadonnées de bundle compatibles |
openclaw plugins list, openclaw plugins inspect,
openclaw plugins enable et openclaw plugins disable. Consultez
Bundles de plugins pour la frontière de compatibilité des bundles et
Construire des plugins pour la création de plugins natifs.
Hooks de plugin
Les plugins peuvent enregistrer des hooks au runtime, mais il existe deux API différentes avec des rôles différents.- Utilisez les hooks typés via
api.on(...)pour les hooks de cycle de vie du runtime. C’est la surface privilégiée pour les middlewares, les politiques, la réécriture de messages, la mise en forme des prompts et le contrôle des outils. - Utilisez
api.registerHook(...)uniquement lorsque vous voulez participer au système de hooks interne décrit dans Hooks. C’est principalement destiné aux effets de bord grossiers de commande/cycle de vie et à la compatibilité avec l’automatisation existante de style HOOK.
- Si le gestionnaire a besoin d’une priorité, d’une sémantique de fusion ou d’un comportement de blocage/annulation, utilisez les hooks de plugin typés.
- Si le gestionnaire réagit simplement à
command:new,command:reset,message:sentou à des événements grossiers similaires,api.registerHook(...)convient.
openclaw hooks list avec
plugin:<id>. Vous ne pouvez pas les activer ni les désactiver via openclaw hooks ;
activez ou désactivez plutôt le plugin.
Vérifier le Gateway actif
openclaw plugins list et openclaw plugins inspect simple lisent l’état à froid
de la config, du manifeste et du registre. Ils ne prouvent pas qu’un Gateway
déjà en cours d’exécution a importé le même code de Plugin.
Lorsqu’un Plugin semble installé mais que le trafic de discussion en direct ne l’utilise pas :
openclaw gateway run qui sert vos canaux,
et pas seulement un wrapper ou un superviseur.
Dépannage
| Symptôme | Vérification | Correctif |
|---|---|---|
Le Plugin apparaît dans plugins list, mais les hooks runtime ne s’exécutent pas | Utilisez openclaw plugins inspect <id> --runtime --json et confirmez le Gateway actif avec gateway status --deep --require-rpc | Redémarrez le Gateway en direct après des changements d’installation, de mise à jour, de config ou de source |
| Des diagnostics de propriété de canal ou d’outil en double apparaissent | Exécutez openclaw plugins list --enabled --verbose, inspectez chaque Plugin suspect avec --runtime --json, et comparez la propriété des canaux/outils | Désactivez un propriétaire, supprimez les installations obsolètes, ou utilisez le manifeste preferOver pour un remplacement intentionnel |
| La config indique qu’un Plugin est manquant | Consultez Inventaire des Plugins pour savoir s’il est groupé, externe officiel ou uniquement source | Installez le package externe, activez le Plugin groupé, ou supprimez la config obsolète |
| La config est invalide pendant l’installation | Lisez le message de validation et exécutez openclaw doctor --fix lorsqu’il pointe vers un état de Plugin obsolète | Doctor peut mettre en quarantaine une config de Plugin invalide en désactivant l’entrée et en supprimant le payload invalide |
| Le chemin du Plugin est bloqué pour cause de propriété ou de permissions suspectes | Inspectez le diagnostic avant l’erreur de config | Corrigez la propriété/les permissions du système de fichiers, puis exécutez openclaw plugins registry --refresh |
OPENCLAW_NIX_MODE=1 bloque les commandes de cycle de vie | Confirmez que l’installation est gérée par Nix | Modifiez la sélection de Plugins dans la source Nix au lieu d’utiliser les commandes de mutation de Plugins |
| L’importation d’une dépendance échoue au runtime | Vérifiez si le Plugin a été installé via npm/git/ClawHub ou chargé depuis un chemin local | Exécutez openclaw plugins update <id>, réinstallez la source, ou installez vous-même les dépendances locales du Plugin |
openclaw doctor --fix pour
supprimer les entrées de Plugin et de canal obsolètes. Les clés de canal inconnues
sans preuve de Plugin obsolète échouent toujours à la validation afin que les
fautes de frappe restent visibles.
Pour un remplacement intentionnel de canal, le Plugin préféré doit déclarer
channelConfigs.<channel-id>.preferOver avec l’id de Plugin hérité ou de priorité
inférieure. Si les deux Plugins sont explicitement activés, OpenClaw conserve
cette demande et signale des diagnostics de canal ou d’outil en double au lieu
de choisir silencieusement un propriétaire.
Si un package installé signale qu’il requires compiled runtime output for TypeScript entry ..., le package a été publié sans les fichiers JavaScript dont
OpenClaw a besoin au runtime. Mettez à jour ou réinstallez après que l’éditeur
a livré le JavaScript compilé, ou désactivez/désinstallez le Plugin jusque-là.
Propriété bloquée du chemin de Plugin
Si les diagnostics de Plugin indiquentblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
et que la validation de config suit avec plugin present but blocked, OpenClaw a
trouvé des fichiers de Plugin appartenant à un utilisateur Unix différent de celui
du processus qui les charge. Gardez la config de Plugin en place ; corrigez la
propriété du système de fichiers ou exécutez OpenClaw avec le même utilisateur que
celui qui possède le répertoire d’état.
Pour les installations Docker, l’image officielle s’exécute en tant que node
(uid 1000), donc les répertoires de config OpenClaw et d’espace de travail
montés depuis l’hôte doivent normalement appartenir à l’uid 1000 :
openclaw doctor --fix ou
openclaw plugins registry --refresh afin que le registre de Plugins persistant
corresponde aux fichiers réparés.
Configuration lente des outils de Plugin
Si les tours d’agent semblent se bloquer pendant la préparation des outils, activez la journalisation de trace et recherchez les lignes de chronométrage des fabriques d’outils de Plugin :Liens associés
- Gérer les Plugins - exemples de commandes pour lister, installer, mettre à jour, désinstaller et publier
openclaw plugins- référence CLI complète- Inventaire des Plugins - liste générée des Plugins groupés et externes
- Référence des Plugins - pages de référence générées par Plugin
- Plugins communautaires - découverte ClawHub et politique de PR de docs
- Résolution des dépendances de Plugins - racines d’installation, enregistrements de registre et frontières runtime
- Créer des Plugins - guide de création de Plugins natifs
- Vue d’ensemble du SDK de Plugin - enregistrement runtime, hooks et champs d’API
- Manifeste de Plugin - métadonnées de manifeste et de package