Plugin reference
Nadpisania instalacji Pluginu
Nadpisania instalacji Pluginów pozwalają opiekunom wskazać podczas konfiguracji konkretny pakiet npm lub lokalne archiwum utworzone przez npm pack zamiast źródła z katalogu, wbudowanego albo domyślnego źródła npm. Służą wyłącznie do testów E2E i walidacji pakietów; zwykli użytkownicy instalują Pluginy za pomocą polecenia openclaw plugins install.
Środowisko
Nadpisania są wyłączone, jeśli nie ustawiono obu zmiennych:
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"}'Mapa nadpisań ma format JSON, a jej kluczami są identyfikatory Pluginów. Wartości obsługują:
| Prefiks | Źródło |
|---|---|
npm:<registry-spec> |
Pakiety z rejestru, dokładne wersje lub tagi |
npm-pack:<path.tgz> |
Lokalne archiwa utworzone przez npm pack; ścieżki względne są rozwiązywane względem bieżącego katalogu roboczego |
Działanie
Gdy proces konfiguracji instaluje Plugin, którego identyfikator znajduje się w mapie, OpenClaw używa źródła nadpisania zamiast źródła z katalogu, wbudowanego albo domyślnego źródła npm. Dotyczy to wdrażania początkowego oraz każdego innego procesu korzystającego ze współdzielonego instalatora Pluginów na etapie konfiguracji.
- Nadpisania nadal wymuszają oczekiwany identyfikator Pluginu: archiwum przypisane do
codexmusi instalować Plugin, którego identyfikator w manifeście tocodex. - Nadpisania nie dziedziczą oficjalnego statusu zaufanego źródła. Nawet jeśli wpis w katalogu zwykle reprezentuje pakiet należący do OpenClaw, nadpisanie jest traktowane jako testowe dane wejściowe dostarczone przez operatora.
- Pliki
.envprzestrzeni roboczej nie mogą włączać nadpisań instalacji; obie zmienne środowiskowe znajdują się na liście zmiennych dotenv blokowanych w przestrzeni roboczej. Ustaw je w zaufanej powłoce, zadaniu CI lub zdalnym poleceniu testowym uruchamiającym OpenClaw.
Testy E2E pakietu
Użyj odizolowanego katalogu stanu, aby instalacje pakietów i rekordy instalacji nie wpływały na zwykły stan 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 localZweryfikuj zainstalowany pakiet w katalogu stanu:
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.jsonW przypadku testów E2E z rzeczywistym dostawcą przed uruchomieniem polecenia testowego wczytaj prawdziwy klucz API z zaufanej powłoki lub sekretu CI. Nie wyświetlaj kluczy; podaj jedynie źródło oraz informację, czy klucz był dostępny.