Plugin reference

Переопределения установки плагинов

Переопределения установки плагинов позволяют сопровождающим направлять выполняемую во время настройки установку плагинов на определённый пакет npm или локальный tarball-пакет npm вместо источника из каталога, встроенного источника или источника npm по умолчанию. Они предназначены только для E2E и проверки пакетов; обычные пользователи устанавливают плагины с помощью openclaw plugins install.

Переменные окружения

Переопределения отключены, если не заданы обе переменные:

bash
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"}'

Карта переопределений представлена в формате JSON, где ключами служат идентификаторы плагинов. Значения поддерживают:

Префикс Источник
npm:<registry-spec> Пакеты реестра, точные версии или теги
npm-pack:<path.tgz> Локальные tarball-файлы, созданные с помощью npm pack; относительные пути разрешаются от текущего рабочего каталога

Поведение

Когда поток, выполняемый во время настройки, устанавливает плагин, идентификатор которого присутствует в карте, OpenClaw использует переопределённый источник вместо каталога, встроенного или стандартного источника npm. Это относится к первоначальной настройке и любому другому потоку, использующему общий установщик плагинов во время настройки.

  • Переопределения по-прежнему требуют ожидаемый идентификатор плагина: tarball, сопоставленный с codex, должен устанавливать плагин, идентификатор которого в манифесте — codex.
  • Переопределения не наследуют статус официального доверенного источника. Даже если запись каталога обычно представляет пакет, принадлежащий OpenClaw, переопределение считается тестовыми входными данными, предоставленными оператором.
  • Файлы .env рабочей области не могут включать переопределения установки; обе переменные среды входят в список заблокированных переменных dotenv рабочей области. Задайте их в доверенной оболочке, задании CI или удалённой тестовой команде, запускающей OpenClaw.

Сквозное тестирование пакета

Используйте изолированный каталог состояния, чтобы установка пакетов и записи об установке не затрагивали обычное состояние OpenClaw:

bash
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 local

Проверьте установленный пакет в каталоге состояния:

bash
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.json

Для сквозного тестирования реального провайдера получите настоящий ключ API из доверенной оболочки или секрета CI перед запуском тестовой команды. Не выводите ключи; сообщайте только источник и наличие ключа.

Was this useful?
On this page

On this page