Plugins

Plugins

Les Plugins Ă©tendent OpenClaw avec des canaux, des fournisseurs de modĂšles, des environnements d’agents, des outils, des Skills, la parole, la transcription en temps rĂ©el, la voix, la comprĂ©hension des mĂ©dias, la gĂ©nĂ©ration, la rĂ©cupĂ©ration Web, la recherche Web et d’autres fonctionnalitĂ©s d’exĂ©cution.

Utilisez cette page pour installer un Plugin, redĂ©marrer le Gateway, vĂ©rifier que l’environnement d’exĂ©cution l’a chargĂ© et rĂ©soudre les Ă©checs de configuration courants. Pour des exemples portant uniquement sur les commandes, consultez GĂ©rer les Plugins. Pour l’inventaire gĂ©nĂ©rĂ© des Plugins intĂ©grĂ©s, externes officiels et disponibles uniquement sous forme de code source, consultez Inventaire des Plugins.

Prérequis

  • une copie de travail ou une installation d’OpenClaw avec la CLI openclaw disponible
  • un accĂšs rĂ©seau Ă  la source sĂ©lectionnĂ©e (ClawHub, npm ou un hĂ©bergeur git)
  • les identifiants, clĂ©s de configuration ou outils du systĂšme d’exploitation propres au Plugin indiquĂ©s dans la documentation de configuration de ce Plugin
  • l’autorisation de recharger ou redĂ©marrer le Gateway qui dessert vos canaux

Démarrage rapide

  • Trouver le Plugin

    Recherchez des paquets de Plugins publics sur ClawHub :

    bash
    openclaw plugins search "calendar"

    ClawHub est l’interface principale de dĂ©couverte des Plugins communautaires. Pendant la transition de lancement, les spĂ©cifications de paquet simples ordinaires sont toujours installĂ©es depuis npm, sauf si elles correspondent Ă  l’identifiant d’un Plugin officiel. Les spĂ©cifications @openclaw/* brutes qui correspondent Ă  un Plugin intĂ©grĂ© sont rĂ©solues vers cette copie intĂ©grĂ©e. Utilisez un prĂ©fixe de source explicite lorsque vous avez besoin d’une source prĂ©cise.

  • Installer le Plugin

    bash
    # Depuis ClawHub.openclaw plugins install clawhub:<package> # Depuis npm.openclaw plugins install npm:<package> # Depuis git.openclaw plugins install git:github.com/<owner>/<repo>@<ref> # Depuis une copie de travail de développement locale.openclaw plugins install ./my-pluginopenclaw plugins install --link ./my-plugin

    ConsidĂ©rez l’installation d’un Plugin comme l’exĂ©cution de code. PrĂ©fĂ©rez des versions Ă©pinglĂ©es pour des installations de production reproductibles. Les paquets ClawHub et le catalogue intĂ©grĂ©/officiel d’OpenClaw sont des sources fiables. Les nouvelles sources arbitraires npm, git, de chemin/archive local, npm-pack: ou de place de marchĂ© nĂ©cessitent --force dans les installations non interactives aprĂšs avoir examinĂ© la source et Ă©tabli qu’elle est fiable.

  • Le configurer et l’activer

    Configurez les paramĂštres propres au Plugin sous plugins.entries.<id>.config. Activez le Plugin s’il ne l’est pas dĂ©jĂ  :

    bash
    openclaw plugins enable <plugin-id>

    Si plugins.allow est dĂ©fini, l’identifiant du Plugin installĂ© doit figurer dans cette liste avant que le Plugin puisse ĂȘtre chargĂ©. openclaw plugins install ajoute l’identifiant installĂ© Ă  une liste plugins.allow existante et supprime ce mĂȘme identifiant de plugins.deny afin que l’installation explicite puisse ĂȘtre chargĂ©e aprĂšs le 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. Un Gateway gĂ©rĂ© dont le rechargement de la configuration est activĂ© dĂ©tecte la modification de l’enregistrement d’installation du Plugin et redĂ©marre automatiquement. Sinon, redĂ©marrez-le vous-mĂȘme :

    bash
    openclaw gateway restart

    L’activation ou la dĂ©sactivation met Ă  jour la configuration et le registre Ă  froid. Une inspection de l’environnement d’exĂ©cution reste la preuve la plus claire des interfaces d’exĂ©cution actives.

  • VĂ©rifier l’enregistrement dans l’environnement d’exĂ©cution

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    Utilisez --runtime pour confirmer l’enregistrement des outils, hooks, services, mĂ©thodes du Gateway ou commandes de la CLI appartenant au Plugin. La commande inspect simple vĂ©rifie uniquement le manifeste et le registre Ă  froid.

  • Configuration

    Choisir une source d’installation

    Source À utiliser lorsque Exemple
    ClawHub Vous souhaitez bĂ©nĂ©ficier de la dĂ©couverte native d’OpenClaw, des analyses, des mĂ©tadonnĂ©es de version et des indications d’installation openclaw plugins install clawhub:<package>
    npm Vous avez besoin d’utiliser directement le registre npm ou des flux de travail avec des balises de distribution openclaw plugins install npm:<package>
    git Vous avez besoin d’une branche, d’une balise ou d’un commit provenant d’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
    place de marché Vous installez un Plugin de place de marché compatible avec Claude openclaw plugins install <plugin> --marketplace <source>

    Les spĂ©cifications de paquet simples ont un comportement de compatibilitĂ© particulier : un nom simple qui correspond Ă  l’identifiant d’un Plugin intĂ©grĂ© utilise cette source intĂ©grĂ©e ; un nom simple qui correspond Ă  l’identifiant d’un Plugin externe officiel utilise le catalogue officiel de paquets ; toute autre spĂ©cification simple est installĂ©e par npm pendant la transition de lancement. Les spĂ©cifications @openclaw/* brutes qui correspondent Ă  des Plugins intĂ©grĂ©s sont Ă©galement rĂ©solues vers la copie intĂ©grĂ©e avant le repli vers npm. Utilisez npm:@openclaw/<plugin>@<version> pour installer dĂ©libĂ©rĂ©ment le paquet npm externe plutĂŽt que la copie intĂ©grĂ©e. Utilisez clawhub:, npm:, git: ou npm-pack: pour sĂ©lectionner la source de maniĂšre dĂ©terministe. Consultez openclaw plugins pour connaĂźtre le contrat complet de la commande.

    Pour les installations npm, les spĂ©cifications non Ă©pinglĂ©es et @latest sĂ©lectionnent le paquet stable le plus rĂ©cent qui annonce sa compatibilitĂ© avec cette version d’OpenClaw. Si la derniĂšre version actuellement publiĂ©e sur npm dĂ©clare une version de openclaw.compat.pluginApi ou openclaw.install.minHostVersion plus rĂ©cente que celle prise en charge par cette version, OpenClaw analyse les anciennes versions stables et installe la plus rĂ©cente qui convient. Les versions exactes et les balises de canal explicites telles que @beta restent Ă©pinglĂ©es au paquet sĂ©lectionnĂ© et Ă©chouent en cas d’incompatibilitĂ©.

    Politique d’installation de l’opĂ©rateur

    Configurez security.installPolicy afin d’exĂ©cuter une commande de politique locale fiable avant qu’une installation ou une mise Ă  jour de Plugin ne se poursuive. La politique reçoit des mĂ©tadonnĂ©es ainsi que le chemin de la source prĂ©parĂ©e et peut autoriser ou bloquer l’installation. Elle couvre Ă  la fois les chemins d’installation et de mise Ă  jour de la CLI et ceux gĂ©rĂ©s par le Gateway. Les hooks before_install du Plugin s’exĂ©cutent plus tard, et uniquement dans les processus OpenClaw oĂč les hooks de Plugins sont chargĂ©s ; utilisez donc plutĂŽt security.installPolicy pour les dĂ©cisions d’installation appartenant Ă  l’opĂ©rateur. L’option obsolĂšte --dangerously-force-unsafe-install est acceptĂ©e Ă  des fins de compatibilitĂ©, mais n’a aucun effet : elle ne contourne ni la politique d’installation ni la liste de refus intĂ©grĂ©e des dĂ©pendances de Plugins d’OpenClaw.

    Consultez la configuration des Skills pour connaĂźtre le schĂ©ma d’exĂ©cution security.installPolicy partagĂ© par les Skills et les Plugins.

    Configurer la politique des Plugins

    La structure de configuration commune des Plugins est la suivante :

    json5
    {  plugins: {    enabled: true,    allow: ["voice-call"],    deny: ["untrusted-plugin"],    load: { paths: ["~/Projects/oss/voice-call-plugin"] },    slots: { memory: "memory-core" },    entries: {      "voice-call": { enabled: true, config: { provider: "twilio" } },    },  },}

    Principales rĂšgles de politique :

    • plugins.enabled: false dĂ©sactive tous les Plugins et ignore les opĂ©rations de dĂ©couverte et de chargement. Les rĂ©fĂ©rences obsolĂštes Ă  des Plugins restent inertes tant que cette option est active ; rĂ©activez les Plugins avant d’exĂ©cuter le nettoyage par doctor si vous souhaitez supprimer les identifiants obsolĂštes.
    • plugins.deny prĂ©vaut sur la liste d’autorisation et sur l’activation individuelle des Plugins.
    • plugins.allow est une liste d’autorisation exclusive. Les outils appartenant Ă  des Plugins qui ne figurent pas dans la liste d’autorisation restent indisponibles mĂȘme lorsque tools.allow contient "*".
    • plugins.entries.<id>.enabled: false dĂ©sactive un Plugin tout en conservant sa configuration.
    • plugins.load.paths ajoute explicitement des fichiers ou rĂ©pertoires de Plugins locaux. Les chemins locaux plugins install gĂ©rĂ©s doivent ĂȘtre des rĂ©pertoires ou des archives de Plugins ; utilisez plugins.load.paths pour les fichiers de Plugin autonomes.
    • Les Plugins provenant de l’espace de travail sont dĂ©sactivĂ©s par dĂ©faut ; activez-les explicitement ou ajoutez-les Ă  la liste d’autorisation avant d’utiliser du code local de l’espace de travail.
    • Les Plugins intĂ©grĂ©s suivent leurs mĂ©tadonnĂ©es internes d’activation ou de dĂ©sactivation par dĂ©faut, sauf si la configuration les remplace explicitement.
    • plugins.slots.<slot> (memory ou contextEngine) sĂ©lectionne un Plugin pour une catĂ©gorie exclusive. La sĂ©lection d’un emplacement compte comme une activation explicite et force l’activation du Plugin sĂ©lectionnĂ© pour cet emplacement, mĂȘme s’il devrait autrement ĂȘtre optionnel. plugins.deny et plugins.entries.<id>.enabled: false le bloquent toujours.
    • Les Plugins intĂ©grĂ©s optionnels peuvent s’activer automatiquement lorsque la configuration nomme l’une de leurs interfaces, comme une rĂ©fĂ©rence de fournisseur/modĂšle, une configuration de canal, un moteur de CLI ou un environnement d’exĂ©cution d’agent.
    • Le routage Codex de la famille OpenAI maintient sĂ©parĂ©es les limites entre le fournisseur et le Plugin d’exĂ©cution : les anciennes rĂ©fĂ©rences de modĂšles Codex constituent une configuration hĂ©ritĂ©e que doctor rĂ©pare, tandis que le Plugin intĂ©grĂ© codex possĂšde l’environnement d’exĂ©cution du serveur d’application Codex pour les rĂ©fĂ©rences d’agents openai/* canoniques, les rĂ©fĂ©rences agentRuntime.id: "codex" explicites et les anciennes rĂ©fĂ©rences codex/*.

    Lorsque plugins.allow n’est pas dĂ©fini et que des Plugins non intĂ©grĂ©s sont dĂ©couverts automatiquement depuis l’espace de travail ou les racines globales des Plugins, le dĂ©marrage consigne plugins.allow is empty; discovered non-bundled plugins may auto-load: ... avec les identifiants des Plugins dĂ©couverts et, pour les listes courtes, un extrait plugins.allow minimal. ExĂ©cutez openclaw plugins list --enabled --verbose ou openclaw plugins inspect <id> avec l’identifiant du Plugin indiquĂ© avant de copier les Plugins fiables dans openclaw.json. Le mĂȘme Ă©pinglage de confiance s’applique lorsque les diagnostics indiquent qu’un Plugin a Ă©tĂ© chargĂ© without install/load-path provenance : inspectez cet identifiant de Plugin, puis Ă©pinglez-le dans plugins.allow ou rĂ©installez-le depuis une source fiable afin qu’OpenClaw enregistre la provenance de l’installation.

    ExĂ©cutez openclaw doctor ou openclaw doctor --fix lorsque la validation de la configuration signale des identifiants de Plugins obsolĂštes, des incohĂ©rences de liste d’autorisation ou d’outils, ou d’anciens chemins de Plugins intĂ©grĂ©s.

    Comprendre les formats de Plugins

    OpenClaw reconnaĂźt deux formats de Plugins :

    Format MĂ©thode de chargement À utiliser lorsque
    Plugin OpenClaw natif openclaw.plugin.json accompagnĂ© d’un module d’exĂ©cution chargĂ© dans le processus Vous installez ou dĂ©veloppez des fonctionnalitĂ©s d’exĂ©cution propres Ă  OpenClaw
    Bundle compatible Structure de Plugin Codex, Claude ou Cursor mappĂ©e dans l’inventaire des Plugins d’OpenClaw Vous rĂ©utilisez des Skills, commandes, hooks ou mĂ©tadonnĂ©es de bundle compatibles

    Les deux formats apparaissent dans openclaw plugins list, openclaw plugins inspect, openclaw plugins enable et openclaw plugins disable. Consultez Bundles de Plugins pour connaßtre la limite de compatibilité des bundles et Créer des Plugins pour la création de Plugins natifs.

    Hooks de Plugins

    Les Plugins peuvent enregistrer des hooks Ă  l’exĂ©cution au moyen de deux API diffĂ©rentes :

    • Les hooks typĂ©s api.on(...) pour les Ă©vĂ©nements du cycle de vie de l’environnement d’exĂ©cution. Il s’agit de l’interface privilĂ©giĂ©e pour les intergiciels, les politiques, la réécriture des messages, la mise en forme des prompts et le contrĂŽle des outils.
    • api.registerHook(...) pour le systĂšme de hooks interne dĂ©crit dans Hooks. Il sert principalement aux effets secondaires gĂ©nĂ©raux liĂ©s aux commandes ou au cycle de vie et Ă  la compatibilitĂ© avec les automatisations existantes de style HOOK.

    RĂšgle simple : si le gestionnaire nĂ©cessite une prioritĂ©, une sĂ©mantique de fusion ou un comportement de blocage/annulation, utilisez les hooks typĂ©s. S’il rĂ©agit simplement Ă  command:new, command:reset, message:sent ou Ă  des Ă©vĂ©nements gĂ©nĂ©raux similaires, api.registerHook convient.

    Les hooks internes gérés par les Plugins apparaissent dans openclaw hooks list avec plugin:<id>. Vous ne pouvez pas les activer ou les désactiver au moyen de openclaw hooks ; activez ou désactivez plutÎt le Plugin.

    Vérifier le Gateway actif

    openclaw plugins list et la commande simple openclaw plugins inspect lisent l’état Ă  froid de la configuration, du manifeste et du registre. Elles 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 :

    bash
    openclaw gateway status --deep --require-rpcopenclaw plugins inspect <plugin-id> --runtime --jsonopenclaw gateway restart

    Les Gateways gĂ©rĂ©s redĂ©marrent automatiquement aprĂšs les modifications d’installation, de mise Ă  jour et de dĂ©sinstallation qui changent la source du plugin. Sur les installations VPS ou en conteneur, assurez-vous que tout redĂ©marrage manuel cible bien le processus enfant openclaw gateway run qui dessert vos canaux, et pas seulement un encapsuleur ou un superviseur.

    Résolution des problÚmes

    SymptÎme Vérification Correction
    Le plugin apparaĂźt dans plugins list, mais les hooks d’exĂ©cution 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 actif aprĂšs toute modification d’installation, de mise Ă  jour, de configuration 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 l’un des propriĂ©taires, supprimez les installations obsolĂštes ou utilisez la propriĂ©tĂ© de manifeste preferOver pour un remplacement intentionnel
    La configuration indique qu’un plugin est manquant Consultez l’inventaire des plugins pour dĂ©terminer s’il est intĂ©grĂ©, externe officiel ou uniquement disponible sous forme de source Installez le paquet externe, activez le plugin intĂ©grĂ© ou supprimez la configuration obsolĂšte
    La configuration n’est pas valide pendant l’installation Lisez le message de validation et exĂ©cutez openclaw doctor --fix s’il signale un Ă©tat de plugin obsolĂšte Doctor peut mettre en quarantaine la configuration de plugin non valide en dĂ©sactivant l’entrĂ©e et en supprimant la charge utile non valide
    Le chemin du plugin est bloquĂ© en raison d’un propriĂ©taire ou de permissions suspects Examinez le diagnostic prĂ©cĂ©dant l’erreur de configuration Corrigez le propriĂ©taire ou 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 des plugins dans la source Nix au lieu d’utiliser les commandes de modification des plugins
    L’importation d’une dĂ©pendance Ă©choue Ă  l’exĂ©cution 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

    Lorsque la configuration obsolĂšte d’un plugin mentionne encore un plugin de canal qui n’est plus dĂ©tectable, la validation de la configuration rĂ©trograde la clĂ© de ce canal en avertissement au lieu d’émettre une erreur bloquante, afin que le dĂ©marrage du Gateway puisse toujours desservir tous les autres canaux. ExĂ©cutez openclaw doctor --fix pour supprimer les entrĂ©es obsolĂštes du plugin et du canal. Les clĂ©s de canal inconnues sans preuve de plugin obsolĂšte font toujours Ă©chouer la validation afin que les fautes de frappe restent visibles.

    Pour remplacer intentionnellement un canal, le plugin Ă  privilĂ©gier doit dĂ©clarer channelConfigs.<channel-id>.preferOver avec l’identifiant du plugin hĂ©ritĂ© ou de prioritĂ© infĂ©rieure. Si les deux plugins sont explicitement activĂ©s, OpenClaw respecte cette demande et signale des diagnostics de propriĂ©tĂ© de canal ou d’outil en double au lieu de choisir silencieusement un propriĂ©taire.

    Si un paquet installĂ© indique qu’il requires compiled runtime output for TypeScript entry ..., le paquet a Ă©tĂ© publiĂ© sans les fichiers JavaScript dont OpenClaw a besoin Ă  l’exĂ©cution. Mettez-le Ă  jour ou rĂ©installez-le aprĂšs que l’éditeur a fourni le JavaScript compilĂ©, ou dĂ©sactivez/dĂ©sinstallez le plugin en attendant.

    Propriété bloquée du chemin du plugin

    Si les diagnostics indiquent blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root) et que la validation affiche ensuite plugin present but blocked, OpenClaw a trouvĂ© des fichiers de plugin appartenant Ă  un utilisateur Unix diffĂ©rent de celui du processus qui les charge. Conservez la configuration du plugin ; corrigez le propriĂ©taire dans le 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 sous l’identitĂ© node (uid 1000) ; les rĂ©pertoires de configuration et d’espace de travail OpenClaw montĂ©s depuis l’hĂŽte doivent donc normalement appartenir Ă  l’uid 1000 :

    bash
    sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace

    Si vous exécutez intentionnellement OpenClaw en tant que root, attribuez plutÎt à root la propriété de la racine des plugins gérés :

    bash
    sudo chown -R root:root /path/to/openclaw-config/npm

    AprÚs avoir corrigé le propriétaire, réexécutez openclaw doctor --fix ou openclaw plugins registry --refresh afin que le registre persistant des plugins corresponde aux fichiers réparés.

    Configuration lente des outils de plugin

    Si les tours de l’agent semblent se bloquer pendant la prĂ©paration des outils, activez la journalisation de trace et recherchez les lignes de durĂ©e des fabriques d’outils de plugin :

    bash
    openclaw config set logging.level traceopenclaw logs --follow

    Recherchez :

    text
    [trace:plugin-tools] durées des fabriques ...

    Le rĂ©capitulatif indique la durĂ©e totale des fabriques et les fabriques d’outils de plugin les plus lentes, notamment l’identifiant du plugin, les noms d’outils dĂ©clarĂ©s, la forme du rĂ©sultat et le caractĂšre facultatif ou non de l’outil. Les lignes lentes deviennent des avertissements lorsqu’une seule fabrique prend au moins 1s ou que la prĂ©paration totale des fabriques d’outils de plugin prend au moins 5s.

    OpenClaw met en cache les rĂ©sultats rĂ©ussis des fabriques d’outils de plugin pour les rĂ©solutions rĂ©pĂ©tĂ©es avec le mĂȘme contexte de requĂȘte effectif. La clĂ© du cache comprend la configuration d’exĂ©cution effective, l’espace de travail et l’identifiant de l’agent, la politique de bac Ă  sable, les paramĂštres du navigateur, le contexte de livraison, l’identitĂ© du demandeur et l’état de propriĂ©tĂ©, de sorte que les fabriques dĂ©pendant de ces champs fiables se rĂ©exĂ©cutent lorsque le contexte change. Si les durĂ©es restent Ă©levĂ©es, il est possible que le plugin effectue un travail coĂ»teux avant de renvoyer les dĂ©finitions de ses outils.

    Si un plugin domine les mesures de durĂ©e, examinez ses enregistrements d’exĂ©cution :

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    Mettez ensuite Ă  jour, rĂ©installez ou dĂ©sactivez ce plugin. Les auteurs de plugins doivent dĂ©placer le chargement coĂ»teux des dĂ©pendances vers le chemin d’exĂ©cution de l’outil plutĂŽt que de l’effectuer dans la fabrique d’outils.

    Pour les racines des dépendances, la validation des métadonnées de paquet, les enregistrements du registre, le comportement de rechargement au démarrage et le nettoyage des éléments hérités, consultez Résolution des dépendances des plugins.

    Pages connexes

    Was this useful?
    Sur cette page

    Sur cette page