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:
openclaw migrate codex --dry-runИспользуйте строгую проверку исходных приложений, когда хотите, чтобы миграция проверила доступность исходных приложений перед планированием нативной активации Plugin:
openclaw migrate codex --dry-run --verify-plugin-appsПримените миграцию, когда план выглядит правильно:
openclaw migrate apply codex --yesМиграция записывает явные записи codexPlugins для подходящих Plugin и вызывает
plugin/install app-server Codex для выбранных Plugin. Типичная перенесенная
конфигурация выглядит так:
{ 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:
/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 по-прежнему
завершаются закрытым отказом.