Plugin reference
Override dell'installazione dei Plugin
Gli override per l'installazione dei Plugin consentono ai manutentori di fare in modo che le installazioni dei Plugin durante la configurazione usino uno specifico pacchetto npm o un tarball locale creato con npm pack, anziché la fonte del catalogo, quella inclusa o quella npm predefinita. Sono disponibili esclusivamente per la convalida E2E e dei pacchetti; gli utenti normali installano i Plugin con
openclaw plugins install.
Ambiente
Gli override sono disabilitati, a meno che non siano impostate entrambe le variabili:
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 mappa degli override è un oggetto JSON le cui chiavi sono gli ID dei Plugin. I valori supportano:
| Prefisso | Fonte |
|---|---|
npm:<registry-spec> |
Pacchetti del registro, versioni esatte o tag |
npm-pack:<path.tgz> |
Tarball locali prodotti da npm pack; i percorsi relativi vengono risolti dalla directory di lavoro corrente |
Comportamento
Quando un flusso di configurazione installa un Plugin il cui ID è presente nella mappa, OpenClaw usa la fonte dell'override anziché la fonte del catalogo, quella inclusa o quella npm predefinita. Ciò si applica all'onboarding e a qualsiasi altro flusso che utilizzi il programma di installazione condiviso dei Plugin durante la configurazione.
- Gli override continuano a imporre l'ID del Plugin previsto: un tarball associato a
codexdeve installare un Plugin il cui ID nel manifest siacodex. - Gli override non ereditano lo stato di fonte ufficiale attendibile. Anche quando la voce del catalogo rappresenta normalmente un pacchetto appartenente a OpenClaw, un override viene trattato come input di test fornito dall'operatore.
- I file
.envdell'area di lavoro non possono abilitare gli override di installazione; entrambe le variabili di ambiente sono incluse nell'elenco dotenv bloccato per l'area di lavoro. Impostale nella shell attendibile, nel processo CI o nel comando di test remoto che avvia OpenClaw.
E2E del pacchetto
Usa una directory di stato isolata affinché le installazioni dei pacchetti e i relativi record non modifichino il normale stato di OpenClaw:
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 localVerifica il pacchetto installato nella directory di stato:
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.jsonPer l'E2E di un provider reale, carica la chiave API reale da una shell attendibile o da un segreto CI prima di avviare il comando di test. Non stampare le chiavi; indica solo la fonte e se la chiave era presente.