OpenClaw conserve le travail sur les dépendances des Plugins au moment de l’installation/mise à jour. Le chargement à l’exécution n’exécute pas de gestionnaires de packages, ne répare pas les arbres de dépendances et ne modifie pas le répertoire du package OpenClaw.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Répartition des responsabilités
Les packages de Plugin possèdent leur graphe de dépendances :- les dépendances d’exécution vivent dans les
dependenciesouoptionalDependenciesdu package de Plugin - les imports SDK/core sont des pairs ou des imports fournis par OpenClaw
- les Plugins de développement local apportent leurs propres dépendances déjà installées
- les Plugins npm et git sont installés dans des racines de packages appartenant à OpenClaw
- découvrir la source du Plugin
- installer ou mettre à jour le package quand cela est explicitement demandé
- enregistrer les métadonnées d’installation
- charger le point d’entrée du Plugin
- échouer avec une erreur exploitable lorsque des dépendances sont manquantes
Racines d’installation
OpenClaw utilise des racines stables par source :- les packages npm s’installent sous
~/.openclaw/npm - les packages git se clonent sous
~/.openclaw/git - les installations locales/par chemin/par archive sont copiées ou référencées sans réparation des dépendances
openclaw plugins install npm-pack:<path.tgz> utilise cette même racine npm gérée
pour une archive tarball npm-pack locale. OpenClaw lit les métadonnées npm de l’archive, l’ajoute
à la racine gérée comme dépendance file: copiée, exécute l’installation npm normale,
puis vérifie les métadonnées du lockfile installé avant de faire confiance au Plugin.
Ceci est destiné à la preuve d’acceptation de package et de release candidate, lorsqu’un
artefact pack local doit se comporter comme l’artefact de registre qu’il simule.
npm peut remonter des dépendances transitives vers ~/.openclaw/npm/node_modules à côté
du package de Plugin. OpenClaw analyse la racine npm gérée avant de faire confiance à
l’installation et utilise npm pour supprimer les packages gérés par npm pendant la désinstallation, afin que les dépendances
d’exécution remontées restent dans la limite de nettoyage gérée.
Les Plugins qui importent openclaw/plugin-sdk/* déclarent openclaw comme dépendance pair.
OpenClaw ne laisse pas npm installer une copie séparée du package hôte depuis le registre
dans la racine gérée, car des packages hôtes obsolètes peuvent affecter la résolution des pairs par npm
lors d’installations ultérieures de Plugins. Les installations npm gérées ignorent la résolution/matérialisation
des pairs npm pour la racine partagée et OpenClaw réaffirme les liens
node_modules/openclaw locaux au Plugin pour les packages installés qui déclarent
le pair hôte après une installation, une mise à jour ou une désinstallation.
Les installations git clonent ou actualisent le dépôt, puis exécutent :
node_modules locaux au package et parents fonctionne de la même manière que pour un package
Node normal.
Plugins locaux
Les Plugins locaux sont traités comme des répertoires contrôlés par le développeur. OpenClaw n’exécute pasnpm install, pnpm install ni de réparation de dépendances pour eux. Si un
Plugin local a des dépendances, installez-les dans ce Plugin avant de le charger.
Les Plugins TypeScript locaux tiers peuvent utiliser le chemin d’urgence Jiti. Les Plugins
JavaScript empaquetés et les Plugins internes groupés se chargent via
import/require natif au lieu de Jiti.
Démarrage et rechargement
Le démarrage du Gateway et le rechargement de la configuration n’installent jamais les dépendances de Plugin. Ils lisent les enregistrements d’installation de Plugin, calculent le point d’entrée et le chargent. Si une dépendance manque à l’exécution, le Plugin échoue à se charger et l’erreur doit indiquer à l’opérateur une correction explicite :doctor --fix peut nettoyer l’état de dépendance hérité généré par OpenClaw et récupérer
les Plugins téléchargeables qui manquent dans les enregistrements d’installation locaux lorsque la configuration
les référence. Doctor ne répare pas les dépendances d’un Plugin local déjà installé.
Plugins groupés
Les Plugins groupés légers et critiques pour le noyau sont livrés avec OpenClaw. Ils ne doivent pas avoir d’arbre de dépendances d’exécution lourd, ou doivent être déplacés vers un package téléchargeable sur ClawHub/npm. Pour la liste générée actuelle des Plugins livrés dans le package core, installés en externe ou conservés uniquement sous forme de source, consultez Inventaire des Plugins. Les manifestes de Plugins groupés ne doivent pas demander de préparation des dépendances. Les fonctionnalités de Plugin volumineuses ou optionnelles doivent être empaquetées comme un Plugin normal et installées via le même chemin npm/git/ClawHub que les Plugins tiers. Dans les extractions de source, OpenClaw traite le dépôt comme un monorepo pnpm. Aprèspnpm install, les Plugins groupés se chargent depuis extensions/<id> afin que les dépendances
workspace locales au package soient disponibles et que les modifications soient prises en compte directement. Le développement
par extraction de source est uniquement pnpm ; un simple npm install à la racine du dépôt
n’est pas une méthode prise en charge pour préparer les dépendances des Plugins groupés.
| Forme d’installation | Emplacement du Plugin groupé | Propriétaire des dépendances |
|---|---|---|
npm install -g openclaw | Arbre d’exécution construit dans le package | Package OpenClaw et flux explicites d’installation/mise à jour/doctor de Plugin |
Extraction git plus pnpm install | Packages workspace extensions/<id> | Le workspace pnpm, y compris les propres dépendances de chaque package de Plugin |
openclaw plugins install ... | Racine de Plugin npm/git/ClawHub gérée | Le flux d’installation/mise à jour de Plugin |
Nettoyage hérité
Les anciennes versions d’OpenClaw généraient des racines de dépendances de Plugins groupés au démarrage ou pendant la réparation par doctor. Le nettoyage doctor actuel supprime ces répertoires et liens symboliques obsolètes lorsque--fix est utilisé, y compris les anciennes racines plugin-runtime-deps, les liens symboliques
de packages du préfixe global Node qui pointent vers des cibles plugin-runtime-deps élaguées,
les manifestes .openclaw-runtime-deps*, les node_modules de Plugin générés, les répertoires
d’étape d’installation et les stores pnpm locaux au package. Le postinstall empaqueté supprime aussi
ces liens symboliques globaux avant d’élaguer les racines cibles héritées afin que les mises à niveau
ne laissent pas d’imports de package ESM pendants.
Ces chemins ne sont que des débris hérités. Les nouvelles installations ne doivent pas les créer.