Bundled plugin guides

Нативные Plugin Codex

Нативная поддержка Plugin Codex позволяет агенту OpenClaw в режиме Codex использовать собственные возможности приложений и Plugin app-server Codex внутри того же потока Codex, который обрабатывает ход OpenClaw.

OpenClaw не преобразует Plugin Codex в синтетические динамические инструменты OpenClaw codex_plugin_*. Вызовы Plugin остаются в нативной расшифровке Codex, а app-server Codex владеет выполнением MCP на основе приложений.

Используйте эту страницу после того, как базовый харнесс Codex заработает.

Требования

  • Выбранная среда выполнения агента OpenClaw должна быть нативным харнессом Codex.
  • plugins.entries.codex.enabled должно быть true.
  • plugins.entries.codex.config.codexPlugins.enabled должно быть true.
  • V1 поддерживает только Plugin openai-curated, которые миграция обнаружила как установленные из исходников в исходном домашнем каталоге Codex.
  • Целевой app-server Codex должен видеть ожидаемый маркетплейс, инвентарь Plugin и приложений.

codexPlugins не влияет на запуски OpenClaw, обычные запуски провайдера OpenAI, привязки диалогов ACP или другие харнессы, потому что эти пути не создают потоки app-server Codex с нативной конфигурацией apps.

Доступ к Codex на стороне OpenAI, доступность приложений и элементы управления приложениями/Plugin в рабочей области берутся из аккаунта Codex, в который выполнен вход. Модель аккаунта OpenAI и администрирования описана в разделе Использование Codex с вашим планом ChatGPT.

Быстрый старт

Предварительно просмотрите миграцию из исходного домашнего каталога Codex:

bash
openclaw migrate codex --dry-run

Используйте строгую проверку исходных приложений, когда хотите, чтобы миграция проверила доступность исходных приложений перед планированием нативной активации Plugin:

bash
openclaw migrate codex --dry-run --verify-plugin-apps

Примените миграцию, когда план выглядит правильно:

bash
openclaw migrate apply codex --yes

Миграция записывает явные записи codexPlugins для подходящих Plugin и вызывает plugin/install app-server Codex для выбранных Plugin. Типичная перенесенная конфигурация выглядит так:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          codexPlugins: {            enabled: true,            allow_destructive_actions: true,            plugins: {              "google-calendar": {                enabled: true,                marketplaceName: "openai-curated",                pluginName: "google-calendar",              },            },          },        },      },    },  },}

После изменения codexPlugins новые диалоги Codex автоматически подхватывают обновленный набор приложений. Используйте /new или /reset, чтобы обновить текущий диалог. Для изменений включения или отключения Plugin перезапуск gateway не требуется.

Управление Plugin из чата

Используйте /codex plugins, когда хотите просмотреть или изменить настроенные нативные Plugin Codex из того же чата, где вы работаете с харнессом Codex:

text
/codex plugins/codex plugins list/codex plugins disable google-calendar/codex plugins enable google-calendar

/codex plugins является псевдонимом для /codex plugins list. Вывод списка показывает настроенные ключи Plugin, состояние включения/отключения, имя Plugin Codex и маркетплейс из plugins.entries.codex.config.codexPlugins.plugins.

enable и disable записывают изменения только в конфигурацию OpenClaw по адресу ~/.openclaw/openclaw.json; они не редактируют ~/.codex/config.toml и не устанавливают новые Plugin Codex. Только владелец или клиент gateway с областью operator.admin может изменять состояние Plugin.

Включение настроенного Plugin также включает глобальный переключатель codexPlugins.enabled. Если Plugin был записан отключенным, потому что миграция вернула auth_required, повторно авторизуйте приложение в Codex перед включением его в OpenClaw.

Как работает нативная настройка Plugin

Интеграция имеет три отдельных состояния:

  • Установлен: Codex имеет локальный пакет Plugin в целевой среде выполнения app-server.
  • Включен: конфигурация OpenClaw разрешает сделать Plugin доступным для ходов харнесса Codex.
  • Доступен: app-server Codex подтверждает, что записи приложений Plugin доступны для активного аккаунта и могут быть сопоставлены с перенесенной идентичностью Plugin.

Миграция является устойчивым шагом установки и проверки пригодности. Во время планирования OpenClaw читает сведения исходного Codex plugin/read и проверяет, что ответ аккаунта исходного app-server Codex относится к аккаунту с подпиской ChatGPT. Ответы без ChatGPT или отсутствующие ответы аккаунта пропускают Plugin на основе приложений с codex_subscription_required. По умолчанию миграция не вызывает исходный app/list; исходные Plugin на основе приложений, которые проходят проверку аккаунта, планируются без проверки доступности исходных приложений, а транспортные сбои поиска аккаунта пропускаются с codex_account_unavailable. С --verify-plugin-apps миграция делает свежий снимок исходного app/list и требует, чтобы каждое принадлежащее приложение присутствовало, было включено и доступно перед планированием нативной активации. В этом режиме транспортные сбои поиска аккаунта переходят к проверке инвентаря исходных приложений. Инвентарь приложений во время выполнения является проверкой доступности целевого сеанса после миграции. Затем настройка сеанса харнесса Codex вычисляет ограничительную конфигурацию приложений потока для включенных и доступных приложений Plugin.

Конфигурация приложений потока вычисляется, когда OpenClaw устанавливает сеанс харнесса Codex или заменяет устаревшую привязку потока Codex. Она не пересчитывается на каждом ходе, поэтому /codex plugins enable и /codex plugins disable влияют на новые диалоги Codex. Используйте /new или /reset, когда текущий диалог должен подхватить обновленный набор приложений.

Граница поддержки V1

V1 намеренно узкая:

  • Только Plugin openai-curated, которые уже были установлены в инвентаре исходного app-server Codex, подходят для миграции.
  • Исходные Plugin на основе приложений должны пройти проверку подписки во время миграции. --verify-plugin-apps добавляет проверку инвентаря исходных приложений. Аккаунты, заблокированные подпиской, а в режиме проверки также недоступные, отключенные, отсутствующие исходные приложения или сбои обновления инвентаря исходных приложений, сообщаются как пропущенные ручные элементы вместо включенных записей конфигурации. Нечитаемые сведения о Plugin пропускаются до проверки инвентаря исходных приложений.
  • Миграция записывает явные идентичности Plugin с marketplaceName и pluginName; она не записывает локальные пути кэша marketplacePath.
  • codexPlugins.enabled является глобальным переключателем включения.
  • Нет wildcard plugins["*"] и нет ключа конфигурации, который предоставляет произвольные полномочия установки.
  • Неподдерживаемые маркетплейсы, кэшированные пакеты Plugin, хуки и файлы конфигурации Codex сохраняются в отчете миграции для ручной проверки.

Инвентарь приложений и владение

OpenClaw читает инвентарь приложений Codex через app/list app-server, кэширует его на один час и асинхронно обновляет устаревшие или отсутствующие записи. Кэш находится только в памяти; перезапуск CLI или gateway сбрасывает его, и OpenClaw перестраивает его из следующего чтения app/list.

Миграция и среда выполнения используют отдельные ключи кэша:

  • Проверка исходной миграции использует исходный домашний каталог Codex и параметры запуска исходного app-server. Это выполняется только при заданном --verify-plugin-apps и принудительно запускает свежий обход исходного app/list для данного планирования.
  • Настройка целевой среды выполнения использует идентичность app-server Codex целевого агента, когда строит конфигурацию приложений потока Codex. Активация Plugin инвалидирует этот целевой ключ кэша, а затем принудительно обновляет его после plugin/install.

Приложение Plugin раскрывается только тогда, когда OpenClaw может сопоставить его обратно с перенесенным Plugin через стабильное владение:

  • точный идентификатор приложения из сведений о Plugin
  • известное имя MCP-сервера
  • уникальные стабильные метаданные

Совпадение только по отображаемому имени или неоднозначное владение исключается до тех пор, пока следующее обновление инвентаря не подтвердит владение.

Конфигурация приложений потока

OpenClaw внедряет ограничительный патч config.apps для потока Codex: _default отключен, и включены только приложения, принадлежащие включенным перенесенным Plugin.

OpenClaw задает на уровне приложения destructive_enabled из эффективной глобальной или покомпонентной политики allow_destructive_actions и позволяет Codex применять метаданные разрушительных инструментов из нативных аннотаций инструментов приложения. true, "auto" и "ask" задают destructive_enabled: true; false задает false. Конфигурация приложения _default отключена с open_world_enabled: false. Включенные приложения Plugin выводятся с open_world_enabled: true; OpenClaw не предоставляет отдельный регулятор политики open-world для Plugin и не поддерживает списки запрета имен разрушительных инструментов для отдельных Plugin.

Режим одобрения инструментов по умолчанию автоматический для приложений Plugin, чтобы неразрушительные инструменты чтения могли выполняться без интерфейса одобрения в том же потоке. Разрушительные инструменты остаются под контролем политики destructive_enabled каждого приложения.

Политика разрушительных действий

Разрушительные запросы Plugin разрешены по умолчанию для перенесенных Plugin Codex, при этом небезопасные схемы и неоднозначное владение по-прежнему закрываются отказом:

  • Глобальное значение allow_destructive_actions по умолчанию равно true.
  • Значение allow_destructive_actions для отдельного Plugin переопределяет глобальную политику для этого Plugin.
  • Когда политика равна false, OpenClaw возвращает детерминированный отказ.
  • Когда политика равна true, OpenClaw автоматически принимает только безопасные схемы, которые может сопоставить с ответом одобрения, например булево поле approve.
  • Когда политика равна "auto", OpenClaw раскрывает разрушительные действия Plugin для Codex, но преобразует MCP-запросы одобрения с доказанным владением в одобрения Plugin OpenClaw перед возвратом ответа одобрения Codex.
  • Когда политика равна "ask", OpenClaw использует то же ограничение записи/разрушительных действий Codex, что и "auto", очищает устойчивые переопределения одобрения Codex для отдельных инструментов приложения перед запуском потока и предлагает только одноразовое одобрение или отказ, чтобы устойчивые одобрения не могли подавлять последующие запросы действий записи.
  • Для каждого допущенного приложения, использующего "ask", OpenClaw выбирает рецензента человеческих одобрений Codex для этого приложения, чтобы Codex отправлял свои запросы одобрения в OpenClaw. Другие приложения и одобрения потока не для приложений сохраняют своего настроенного рецензента и политику.
  • Отсутствующая идентичность Plugin, неоднозначное владение, отсутствующий id хода, неправильный id хода или небезопасная схема запроса приводят к отказу вместо запроса пользователя.

Устранение неполадок

auth_required: миграция установила Plugin, но одному из его приложений все еще нужна аутентификация. Явная запись Plugin записывается отключенной, пока вы не выполните повторную авторизацию и не включите ее.

app_inaccessible, app_disabled или app_missing: миграция не установила Plugin, потому что инвентарь исходных приложений Codex не показал все принадлежащие приложения как присутствующие, включенные и доступные, когда был задан --verify-plugin-apps. Повторно авторизуйте или включите приложение в Codex, затем повторно запустите миграцию с --verify-plugin-apps.

app_inventory_unavailable: миграция не установила Plugin, потому что была запрошена строгая проверка исходных приложений, а обновление инвентаря исходных приложений Codex завершилось сбоем. Исправьте доступ к исходному app-server Codex или повторите попытку без --verify-plugin-apps, если принимаете более быстрый план с проверкой аккаунта.

codex_subscription_required: миграция не установила Plugin на основе приложения, потому что аккаунт исходного app-server Codex не был выполнен с аккаунтом подписки ChatGPT. Войдите в приложение Codex с аутентификацией подписки, затем повторно запустите миграцию.

codex_account_unavailable: миграция не установила Plugin на основе приложения, потому что аккаунт исходного app-server Codex не удалось прочитать. Исправьте аутентификацию исходного app-server Codex или повторно запустите с --verify-plugin-apps, если хотите, чтобы инвентарь исходных приложений определял пригодность при сбое поиска аккаунта.

marketplace_missing или plugin_missing: целевой app-server Codex не видит ожидаемый маркетплейс или Plugin openai-curated. Повторно запустите миграцию для целевой среды выполнения или проверьте состояние Plugin app-server Codex.

app_inventory_missing или app_inventory_stale: готовность приложений была получена из пустого или устаревшего кэша. OpenClaw планирует асинхронное обновление и исключает приложения Plugin до тех пор, пока владение и готовность не станут известны.

app_ownership_ambiguous: инвентарь приложений совпал только по отображаемому имени, поэтому приложение не раскрывается потоку Codex.

Конфигурация изменилась, но агент не видит plugin: используйте /codex plugins list, чтобы подтвердить настроенное состояние, затем используйте /new или /reset. Существующие привязки потоков Codex сохраняют конфигурацию приложения, с которой они были запущены, пока OpenClaw не создаст новый сеанс harness или не заменит устаревшую привязку.

Деструктивное действие отклонено: проверьте глобальные и покомпонентные значения allow_destructive_actions. Даже когда политика имеет значение true, "auto" или "ask", небезопасные схемы elicitation и неоднозначная идентичность plugin по-прежнему завершаются закрытым отказом.

Связанные материалы

Was this useful?
On this page

On this page