Plugin reference
Remplacements d’installation des Plugins
Les substitutions d’installation de Plugin permettent aux mainteneurs d’utiliser, pour les installations de plugins lors de la configuration, un paquet npm spécifique ou une archive locale produite par npm pack, à la place de la source du catalogue, intégrée ou npm par défaut. Elles sont destinées uniquement aux tests E2E et à la validation des paquets ; les utilisateurs ordinaires installent les plugins avec openclaw plugins install.
Environnement
Les substitutions sont désactivées sauf si les deux variables sont définies :
export OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1export OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{ "codex": "npm-pack:/tmp/openclaw-codex-2026.5.8.tgz", "openclaw-web-search": "npm:@openclaw/web-search@2026.5.8"}'La table de substitutions est un objet JSON dont les clés sont les identifiants de plugins. Les valeurs prennent en charge :
| Préfixe | Source |
|---|---|
npm:<registry-spec> |
Paquets du registre, versions exactes ou balises |
npm-pack:<path.tgz> |
Archives locales produites par npm pack ; les chemins relatifs sont résolus depuis le répertoire de travail actuel |
Comportement
Lorsqu’un flux de configuration installe un plugin dont l’identifiant figure dans la table, OpenClaw utilise la source de substitution à la place de la source du catalogue, intégrée ou npm par défaut. Cela s’applique à l’intégration initiale et à tout autre flux utilisant le programme d’installation partagé des plugins lors de la configuration.
- Les substitutions imposent toujours l’identifiant de plugin attendu : une archive associée à
codexdoit installer un plugin dont l’identifiant de manifeste estcodex. - Les substitutions n’héritent pas du statut de source officielle approuvée. Même lorsque l’entrée du catalogue représente normalement un paquet appartenant à OpenClaw, une substitution est traitée comme une donnée de test fournie par l’opérateur.
- Les fichiers
.envde l’espace de travail ne peuvent pas activer les substitutions d’installation ; les deux variables d’environnement figurent dans la liste des variables dotenv bloquées pour l’espace de travail. Définissez-les dans l’interpréteur de commandes approuvé, la tâche d’intégration continue ou la commande de test distante qui lance OpenClaw.
Tests E2E des paquets
Utilisez un répertoire d’état isolé afin que les installations de paquets et les enregistrements d’installation ne modifient pas votre état OpenClaw habituel :
npm pack extensions/codex --pack-destination /tmp OPENCLAW_STATE_DIR="$(mktemp -d)" \OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1 \OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{"codex":"npm-pack:/tmp/openclaw-codex-2026.5.8.tgz"}' \pnpm openclaw onboard --mode localVérifiez le paquet installé dans le répertoire d’état :
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.jsonPour les tests E2E avec un fournisseur réel, chargez la véritable clé d’API depuis un interpréteur de commandes approuvé ou un secret d’intégration continue avant de lancer la commande de test. N’affichez pas les clés ; indiquez uniquement la source et si la clé était présente.