Plugin reference
Переопределения установки плагинов
Переопределения установки плагинов позволяют сопровождающим направлять выполняемую во время настройки установку плагинов на
определённый пакет npm или локальный tarball-пакет npm вместо источника из каталога,
встроенного источника или источника npm по умолчанию. Они предназначены только для E2E и проверки пакетов;
обычные пользователи устанавливают плагины с помощью
openclaw plugins install.
Переменные окружения
Переопределения отключены, если не заданы обе переменные:
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:
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Проверьте установленный пакет в каталоге состояния:
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 перед запуском тестовой команды. Не выводите ключи; сообщайте только источник и наличие ключа.