Bundled plugin guides

Нативные плагины Codex

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

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

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

Требования

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

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

Включение настроенного 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["*"] и нет ключа конфигурации, который предоставляет произвольные полномочия установки.
  • Неподдерживаемые marketplace, кэшированные пакеты Plugin, hooks и файлы конфигурации 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 через стабильное владение:

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

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

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

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

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

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

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

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

  • Глобальный allow_destructive_actions по умолчанию равен true.
  • Индивидуальный allow_destructive_actions для Plugin переопределяет глобальную политику для этого Plugin.
  • Когда политика равна false, OpenClaw возвращает детерминированный отказ.
  • Когда политика равна true, OpenClaw автоматически принимает только безопасные схемы, которые он может сопоставить с ответом одобрения, например булево поле approve.
  • Когда политика равна "auto", OpenClaw раскрывает деструктивные действия Plugin для Codex, но преобразует MCP approval elicitations с доказанным владением в одобрения Plugin OpenClaw перед возвратом ответа одобрения Codex.
  • Когда политика равна "always", OpenClaw использует тот же write/destructive gating Codex, что и "auto", очищает долговечные переопределения одобрений Codex для каждого инструмента приложения перед запуском потока и предлагает только одноразовое одобрение или отказ, чтобы долговечные одобрения не могли подавить последующие запросы действий записи.
  • Отсутствующая идентичность Plugin, неоднозначное владение, отсутствующий id хода, неправильный id хода или небезопасная схема elicitation приводят к отказу вместо запроса.

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

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 не видит ожидаемый marketplace или 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 не установит новый сеанс харнесса или не заменит устаревшую привязку.

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

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

Was this useful?
On this page

On this page