Skip to content

Плагины (Plugins): пакетная установка и распространение возможностей

📚 Навигация по серии: Предыдущая статья [22 · Умения агента (Agent Skills)] научила вас создавать «руководства по эксплуатации» для Codex — модули Skill, определяющие пошаговую работу. Но в процессе настройки вы неизбежно заметите неудобство: умения, конфигурации MCP и интеграции с приложениями настраиваются по отдельности. В этой главе мы научимся объединять их в плагины (Plugins) для пакетной установки, отключения и дистрибуции. В следующей главе [24 · Правила и хуки (Hooks)] мы разберем автоматический запуск процессов по событиям.

Коллеги, сегодня мы разберем функцию, которая на первый взгляд кажется избыточной, но на практике является необходимой, — плагины.

Многие при первом знакомстве думают: «Это просто те же斜杠-команды в новой обертке. Разве команда /review из главы 12 не работает так же?». На самом деле разница принципиальна. 斜杠-команды вы вызываете вручную. Модули Skill работают автономно: Codex анализирует задачу, сопоставляет ее с описанием доступных умений, автоматически загружает нужное и при этом практически не расходует контекст в режиме ожидания.

Вся рутина с ручным переносом настроек происходила из-за отсутствия пакетной упаковки. В апреле 2025 года я настраивал в одном из проектов связку для генерации схем баз данных: создавал умения (Skills) и прописывал подключение сервера MCP. Вся процедура заняла два часа. Спустя две недели мне потребовалось перенести эту связку в новый репозиторий. Я копировал файлы вручную, но упустил из виду переменные среды в конфигурационном файле .mcp.json. В итоге сервер баз данных не запустился, и я потратил еще полчаса на отладку. При ручном копировании легко упустить важную деталь.

Плагины решают эту проблему: они упаковывают умения, коннекторы API и серверы MCP в единый распространяемый пакет для установки одной командой. Вы один раз собираете решение, и оно без проблем переносится в другие проекты и на компьютеры коллег.

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

  • Что именно упаковывает плагин и как выбрать правильный формат (Skill vs Plugin)
  • Способы навигации по каталогу плагинов в десктопном приложении и CLI
  • Как добавить маркетплейс, установить плагин через CLI и вызвать его по символу @
  • Структура папок пакета плагина (манифест .codex-plugin/plugin.json и каталоги компонентов) для самостоятельной сборки
  • Границы безопасности: правила подтверждения прав доступа для сторонних плагинов и фоновых хуков

01 Что упаковывает плагин

Начнем с определения: плагин представляет собой изолированную папку, объединяющую повторно используемые компоненты — умения (Skills), интеграции (Apps) и серверы MCP — в единый пакет для совместного запуска, отключения и дистрибуции.

Зачем это нужно? При локальной ручной настройке возникают три проблемы: сложность переноса в новые проекты, отсутствие удобных каналов обмена с коллегами и сложность обновления. Скопировать папку skills/ недостаточно, нужно перенести и куски файлов настроек. Плагин решает это по принципу «всё в одной коробке».

Аналогия: покупка готового комплекта мебели ИКЕА. Если вы хотите собрать рабочий кабинет, вы можете искать по отдельности стол, стул, лампу и полки, выверяя размеры и цвета. Или вы заказываете готовый комплект, где все элементы идеально подобраны и упакованы в одну коробку. Плагин — это такой готовый комплект возможностей.

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

КомпонентНазначениеСпособ использования
Skills (умения)Пошаговые текстовые инструкции; загружаются по требованиюАвтоматически по смыслу или явно по символу @
Apps (интеграции)Коннекторы к GitHub, Slack, Google Drive; дают доступ к APIТребуют авторизации в аккаунте ChatGPT при первом вызове
Серверы MCPПодключение сторонних баз знаний и утилитТребуют настройки портов или передачи токенов доступа

Плагин объединяет умения (глава 22), серверы MCP (глава 20) и коннекторы внешних приложений ChatGPT в единый распространяемый дистрибутив.

Как выбрать правильный формат работы? Руководствуйтесь правилом: для локальных тестов в рамках одного репозитория достаточно использовать умения (Skills). Для дистрибуции кода в команде, версионирования и объединения MCP с коннекторами API собирайте плагин (Plugin).

Сравнение форматов:

ПараметрУмение Skill (локально)Плагин Plugin
НазначениеЛокальная работа, простые тесты в одном репозиторииСовместная работа, пакетная интеграция MCP и API, версии
СодержимоеТекстовый файл инструкцииУмения, коннекторы, серверы и хуки в одном пакете
РаспространениеКопирование файлов вручнуюПубликация в каталоге или репозитории для установки одной командой
Поддержка версийОтсутствуетПолноценная поддержка версионирования (поле version)

💡 Резюме одной фразой: Codex плагин — это пакетная сборка умений, приложений и серверов MCP. Для себя пишите Skills; для совместной работы и версионирования собирайте плагины.


02 Преимущества пакетной упаковки

Мы выяснили структуру плагина. Но почему стоит собирать плагин вместо обычного копирования папок?

Разница заметна в трех сценариях:

1. Перенос между проектами. Как отмечалось выше, при ручном копировании легко упустить переменные окружения в конфигурациях. Установка плагина гарантирует перенос всех связанных конфигураций без ошибок.

2. Совместная работа. Попытки переслать коллеге архив с папками ведут к ошибкам настройки путей. Публикация плагина в корпоративном маркетплейсе решает эту проблему: коллега устанавливает пакет одной командой с гарантированным результатом.

3. Версионирование и менеджмент. Манифест плагина поддерживает указание версии (version). Вы можете управлять поведением установленных плагинов (отключать или настраивать уровни согласования инструментов) в общем файле конфигурации пользователя, не изменяя файлы плагина.

Аналогия: установка профиля конфигурации на рабочий телефон. Администратор не настраивает почту, VPN и сертификаты на каждом телефоне сотрудника вручную — он присылает один файл профиля. При его установке все параметры прописываются автоматически, а при удалении профиля телефон возвращается в исходное состояние. Плагин — это такой конфигурационный профиль для Codex.

Сравнение подходов наглядно иллюстрирует разницу:

Задача❌ Ручное копирование✅ Плагин
Перенос в новый проектРучное копирование файлов; риск потерять переменные и конфигиУстановка одной командой из репозитория
Передача коллегамОбъяснение структуры папок и правил ручной правки config.tomlУстановка по ссылке из общего маркетплейса
Обновление версийТребует ручного оповещения и замены файлов на ПК коллегКонтроль версий, централизованное обновление и отключение

Для одного разработчика выгода от создания плагинов невелика. Но в командной разработке при подключении внешних API и серверов MCP упаковка в плагин экономит время на развертывание среды для каждого нового сотрудника.

💡 Резюме одной фразой: преимущества плагина раскрываются при масштабировании разработки — простой перенос, версионирование и централизованная дистрибуция в команде заменяют ручную работу.


03 Каталог плагинов: встроенный магазин приложений

Откуда загружать готовые плагины? В Codex встроен каталог плагинов (Plugin Directory), разделенный на три группы:

Аналогия: разделы в магазине мобильных приложений. У вас есть выбор редакции (проверенные приложения от авторов платформы), приложения вашей семьи (доступные по корпоративной подписке) и ваши собственные установленные разработки.

В Codex каталог разделен аналогично:

РазделСодержимое
Curated by OpenAI (Выбор редакции)Проверенные плагины, доступные всем пользователям
Shared with you (Поделились с вами)Плагины, опубликованные коллегами в вашем рабочем пространстве
Created by you (Созданные вами)Плагины вашей собственной разработки

Каталог доступен как в десктопном интерфейсе, так и в терминале:

В десктопном приложении: откройте вкладку Plugins для поиска и установки.

В CLI-терминале: запустите сессию и введите команду (обратите внимание на множественное число):

text
codex
/plugins

В интерфейсе TUI плагины сгруппированы по маркетплейсам. Выберите нужный плагин, изучите описание и нажмите Install plugin для установки. Клавиша Space позволяет временно отключить плагин без его удаления.

Способы вызова плагина после установки:

  • Обычный запрос. Опишите задачу («найди непрочитанные письма в Gmail»), и Codex сам выберет нужный плагин для интеграции;
  • Явный вызов по символу @. Укажите имя плагина или его конкретное умение в чате, чтобы исключить неверное сопоставление (например, @gmail-plugin).

Явный вызов по символу @ аналогичен вызову умений из главы 22.

💡 Резюме одной фразой: каталог плагинов является встроенным магазином приложений в Codex. Для навигации используйте вкладку настроек или команду /plugins в CLI. Вызов осуществляется через обычный промпт или символ @.


04 Контроль прав доступа и данных при установке

Установка плагина не означает автоматическую выдачу разрешений. Все правила согласования песочницы и запросы доступа по-прежнему применяются к инструментам плагина.

Компоненты плагина активируются с разной степенью контроля:

КомпонентПоведение после установки
SkillsДоступны к использованию мгновенно без подтверждений
AppsПри первом вызове потребуют авторизации в аккаунте ChatGPT
MCP serversМогут потребовать настройки портов или передачи ключей доступа

Умения Skills начинают работать сразу, коннекторы Apps требуют OAuth-авторизации, а серверы MCP могут потребовать настройки в файле конфигурации.

Помните о безопасности данных: при передаче информации коннекторами плагина сторонним службам (GitHub, Slack, Drive) действуют соглашения о конфиденциальности этих внешних систем. Оценивайте важность передаваемой информации.

Аналогия: предоставление доступов приложению умного дома. Вы установили программу (плагин активен), но для вывода картинки с камеры вам нужно ввести пароль от аккаунта облака камеры (авторизация OAuth), а для связи с термостатом — прописать порты роутера (настройка MCP). Каждый шаг контролируется пользователем отдельно.

Управление установленными плагинами:

  • Удаление: откройте карточку плагина в каталоге и выберите Uninstall plugin. Учтите, что удаление плагина из Codex не аннулирует выданные права OAuth в вашем аккаунте ChatGPT (их нужно отключать в настройках профиля ChatGPT вручную);
  • Отключение: пропишите флаг enabled = false в конфигурационном файле ~/.codex/config.toml пользователя:
toml
[plugins."gmail@openai-curated"]
enabled = false

Ключ формируется по схеме имя_плагина@имя_маркетплейса. В CLI переключение активности выполняется клавишей Space.

💡 Резюме одной фразой: установка плагина не обходит правила безопасности песочницы. Умения работают сразу, приложения требуют OAuth, а серверы MCP — настройки. Отключение плагина прописывается в config.toml (enabled = false).


05 Практика: добавление маркетплейса, установка и вызов плагина

Пройдем шаги настройки в терминале: добавление репозитория маркетплейса → установка плагина → вызов.

Добавление маркетплейсов выполняется через консольные команды управления codex plugin marketplace (это команды терминала, а не чата):

Шаг 1. Добавляем маркетплейс

Зарегистрируйте репозиторий (укажите адрес вашего GitHub-репозитория):

bash
codex plugin marketplace add owner/repo

Система поддерживает указание конкретных веток и путей:

bash
codex plugin marketplace add owner/repo --ref main
codex plugin marketplace add https://github.com/example/plugins.git --sparse .agents/plugins
codex plugin marketplace add ./local-marketplace-root

В качестве источника можно передавать адрес Git, SSH или путь к локальной папке. Флаг --sparse экономит трафик при сканировании репозитория.

Шаг 2. Проверяем список маркетплейсов

bash
codex plugin marketplace list

Ожидаемый результат: в списке зарегистрированных источников отобразится добавленный адрес.

Другие команды управления маркетплейсами:

bash
codex plugin marketplace upgrade                 # Обновление всех источников
codex plugin marketplace remove marketplace-name  # Удаление источника

Шаг 3. Установка плагина

Запустите сессию и откройте каталог:

text
codex
/plugins

Ожидаемый результат: перейдите во вкладку добавленного маркетплейса, выберите плагин и нажмите Install plugin.

Шаг 4. Вызов плагина в новой сессии

Закройте текущий чат и откройте новую сессию (системное требование для применения плагинов). Отправьте запрос с явным вызовом по символу @:

text
@имя_плагина

Ожидаемый результат: Codex запустит выполнение связанной с плагином логики (при наличии коннекторов выполните авторизацию по запросу на экране).

Если плагин не отвечает, проверьте, что вы открыли новую сессию после установки и прошли авторизацию коннекторов.

💡 Резюме одной фразой: регистрация маркетплейса выполняется через codex plugin marketplace add в консоли, установка — через команду /plugins в чате, вызов — строго в новой сессии через символ @.


06 Архитектура пакета плагина

Если вы захотите упаковать собственные наработки в плагин, вам нужно понимать его внутреннее устройство.

Для быстрого создания структуры плагина используйте встроенного помощника:

text
@plugin-creator

Он создаст файл манифеста .codex-plugin/plugin.json и настроит структуру папок для локальной отладки.

Манифест plugin.json содержит основные метаданные:

json
{
  "name": "my-first-plugin",
  "version": "1.0.0",
  "description": "Reusable greeting workflow",
  "skills": "./skills/"
}

Ключ name задает системное имя плагина в формате kebab-case (например, my-first-plugin). Ключи skills, mcpServers, apps и hooks указывают пути к каталогам соответствующих компонентов относительно корня плагина.

Сводная таблица размещения файлов:

Добавляемый компонентКаталог размещенияКлюч в манифесте
Умение Skillskills/[имя]/SKILL.mdskills
Хук жизненного циклаhooks/hooks.jsonhooks (по умолчанию можно опустить)
Конфигурация MCP.mcp.json в корне плагинаmcpServers
Коннектор App.app.json в корне плагинаapps
Графика и ресурсы./assets/Ссылки в ключе interface

Структура папок готового плагина:

text
my-first-plugin/
├── .codex-plugin/
│   └── plugin.json        ← Манифест (только этот файл хранится в папке)
├── skills/
│   └── hello/
│       └── SKILL.md
├── .mcp.json              ← Конфигурация MCP в корне
├── .app.json             ← Описание интеграции в корне
└── hooks/
    └── hooks.json

⚠️ Критически важное правило размещения файлов: папка .codex-plugin/ должна содержать только файл манифеста plugin.json. Каталоги умений, хуков и ресурсов должны располагаться в корне папки плагина. Смешивание файлов приведет к ошибкам загрузки компонентов.

Если ваши хуки размещены по умолчанию в hooks/hooks.json, вы можете не указывать ключ hooks в манифесте — Codex найдет их автоматически. Для публикации плагинов в общий доступ манифест расширяется параметрами описания авторов (author), лицензий (license) и ссылок на графику в ключе interface.

Структура плагина повторяет логику локальных умений и серверов MCP. Плагин просто объединяет эти файлы в одной папке для удобства переноса.

💡 Резюме одной фразой: плагин состоит из манифеста в папке .codex-plugin/plugin.json (имя пишется в kebab-case) и каталогов компонентов в корне. Внутри .codex-plugin/ должен лежать только файл plugin.json. Помощник @plugin-creator автоматизирует сборку шаблона.


07 Контроль безопасности: хуки требуют личного согласования

Пакетная установка плагина не означает автоматического одобрения всех скрытых в нем действий.

Плагины могут содержать фоновые сценарии автоматизации — хуки (Hooks), запускаемые по системным событиям (например, перед коммитом кода). В Codex реализовано жесткое правило безопасности: фоновые хуки плагинов отключены по умолчанию.

Установка или включение плагина не дает прав на запуск его хуков. Хуки плагинов относятся к категории неконтролируемых (non-managed) и автоматически пропускаются Codex до тех пор, пока пользователь лично не изучит их логику и не подтвердит доверие.

При первом срабатывании хука плагина Codex заблокирует выполнение задачи и выведет запрос на одобрение. Вы должны изучить код хука перед запуском. Подробнее работа хуков будет описана в главе 24.

Аналогия: подключение неизвестной умной колонки к домашней сети. Вы можете включить ее в розетку (плагин установлен, умения доступны), но для передачи аудиопотока в облако (запуск хука) вам нужно явно подтвердить разрешение на телефоне. Без этого колонка останется изолированной.

Правила проверки безопасности перед установкой сторонних плагинов:

ПроверкаДействие
Репутация источникаДоверяйте плагинам Curated и разработкам коллег. Относитесь с осторожностью к неизвестным Git-репозиториям
Содержимое пакетаПроверяйте описание на предмет наличия коннекторов API, MCP и фоновых хуков
Аудит хуковПри появлении системного запроса на доверие к хукам внимательно изучите логику выполнения перед одобрением

Используйте встроенные механизмы защиты: изоляцию рабочих групп в ChatGPT, ручное подтверждение доверия к хукам и общие правила песочницы. Самостоятельно контролируйте источники загрузки плагинов. На момент релиза публикация плагинов в общем доступе находится на этапе тестирования, поэтому основными источниками служат репозитории маркетплейсов вашей команды.

💡 Резюме одной фразой: плагины переносят настройки MCP, API и хуков. В целях безопасности хуки плагина требуют личного подтверждения доверия со стороны пользователя перед запуском. Проверяйте сторонний код перед одобрением.


08 Итоги

Мы разобрали архитектуру плагинов в Codex, правила их установки, настройки безопасности и структуру манифестов для сборки собственных пакетов.

Повторим ключевые выводы:

ЗадачаИнструментКлючевой нюанс
Понимание плагинаОбъединение Skills, Apps и MCP в единый пакетSkill для локальной отладки, плагин — для дистрибуции и версионирования
Поиск плагиновМагазин плагиновРазделы: Curated, Shared (коллеги), Created (собственные)
УстановкаCLI / TUI / Настройки приложенияВ консоли маркетплейс добавляется через codex plugin marketplace add
ВызовПромпт или символ @Запуск строго в новой сессии после установки; коннекторы требуют OAuth
ОтключениеФайл config.tomlСтрока enabled = false в секции плагина с перезапуском сессии
Сборка плагинаМанифест и структура папокВ папке .codex-plugin хранится только plugin.json. Шаблон создается через @plugin-creator
БезопасностьПроверка прав доступаФоновые хуки не запускаются автоматически и требуют подтверждения

Схема взаимодействия компонентов:

Архитектура плагина Codex: упаковка умений, приложений, серверов MCP и хуков. Добавление из репозитория, установка и запуск в новой сессии

Схема показывает путь работы: сверху — процесс добавления маркетплейса, установки плагина и запуска в новой сессии. Снизу — состав пакета плагина (умения, коннекторы, серверы и хуки) с уровнями подтверждения прав доступа к ним.

Теперь вы умеете: выбирать правильный формат интеграции (Skill vs Plugin), осуществлять навигацию по каталогу плагинов и подключать маркетплейсы через CLI, вызывать плагины в сессиях, настраивать структуру каталогов плагина для самостоятельной сборки и контролировать доступы к фоновым хукам. Использование плагинов автоматизирует развертывание окружения разработки для всей команды.

Учитывайте особенности путей: манифест хранится в .codex-plugin/plugin.json, а сами файлы компонентов — в корневой директории плагина. Это исключит ошибки при сборке.


В следующей статье — [24 · Правила и хуки (Hooks)]. Мы упоминали хуки плагинов, требующие подтверждения. В следующей главе мы детально разберем их устройство: как настроить автоматический запуск скриптов проверки перед коммитами или при открытии сессий, переведя контроль за соблюдением стандартов разработки в автоматический режим.


Рекомендуемое чтение