Плагины предоставляют возможность распространять пользовательскую Copilot функциональность. Подключаемый модуль можно использовать для добавления предварительно настроенного набора возможностейCopilot, включая Copilot CLICopilot cloud agent, и GitHub Copilot app.
Что такое подключаемый модуль?
- Распространяемый пакет, расширяющий Copilotфункциональность .
- Набор компонентов в одном устанавливаемом устройстве.
Что содержат плагины
Подключаемый модуль может содержать некоторые или все перечисленные ниже компоненты. Расположения этих компонентов зависят от формата подключаемого модуля:
- Пользовательские агенты — специализированные AI-ассистенты (
*.agent.mdфайлы в архивеagents/) - Навыки — Дискретные вызываемые возможности (подкаталоги навыков в
skills/, содержащиеSKILL.mdфайл) - Крючки — обработчики событий, которые перехватывают поведение агента (
hooks.jsonфайл в корне плагина или вhooks/) - Конфигурации сервера MCP — интеграция протокола контекста модели
- Конфигурации сервера LSP — интеграции с протоколом языка и сервера (
lsp.jsonфайл в корне плагина или в.github/)
Форматы подключаемых модулей
Copilot поддерживает два формата подключаемых модулей:
- Подключаемые модули агента 1.0 — это переносимый формат для совместного использования навыков и конфигураций сервера MCP между совместимыми клиентами. Чтобы использовать этот формат, задайте
$schemaдляplugin.json``https://agent-plugins.org/schemas/1.0.0/plugin.schema.jsonпараметра in значение . Навыки обнаруживаются изskills/конфигурации сервера MCP вmcp.jsonкорневом каталоге подключаемого модуля. Эти расположения нельзя настроить в манифесте. Выберите подключаемые модули агента 1.0, если вы хотите сделать навыки и серверы MCP переносимыми. - Устаревшие подключаемые Copilot модули не объявляют подключаемые
$schemaмодули агента. Они используют существующие поля манифеста и поведение обнаружения компонентов, включая настраиваемые пути компонентов и конфигурацию MCP в.mcp.json,.github/mcp.jsonили поле манифестаmcpServers. Выберите устаревший формат, если требуется настраиваемый путь к компонентам или поддерживает существующий Copilotподключаемый модуль.
Для нового подключаемого модуля используйте подключаемые модули агента 1.0, если вам не требуются настраиваемые пути к компонентам. Используйте устаревший формат в основном для существующих устаревших подключаемых модулей.
Поддерживаются оба формата. Добавление $schema изменений, как Copilot интерпретирует манифест и обнаруживает компоненты. Подключаемые модули без $schema продолжения загрузки в качестве устаревших подключаемых модулей.
Как устроены плагины
Подключаемый модуль — это каталог с определенной структурой и файлом манифеста plugin.json . Для подключаемых модулей агента 1.0 требуется манифест в корневом каталоге подключаемого модуля. Устаревшие подключаемые модули поддерживают дополнительные расположения манифестов. Манифест предоставляет подключаемый модуль имя и метаданные. В зависимости от формата он также может указывать на компоненты. Наряду с манифестом каталог может содержать агенты, навыки, перехватчики, конфигурации сервера MCP и конфигурации сервера LSP.
Структура подключаемых модулей агента 1.0
Подключаемые модули агента 1.0 хранят навыки и серверы MCP в стандартных расположениях, чтобы совместимые клиенты могли их обнаружить. Другие компоненты, включая агенты, перехватчики, команды и серверы LSP, зависят от клиента.
Copilot считывает эти компоненты из com.github.copilot каталога. Другие клиенты игнорируют этот каталог, поэтому один и тот же подключаемый модуль может объединять общие навыки и серверы MCP с Copilotкомпонентами с определенными компонентами.
Каталог подключаемых модулей агента 1.0 может выглядеть следующим образом:
my-plugin/
├── plugin.json # Required manifest
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── mcp.json # MCP server config (optional)
└── com.github.copilot/ # Copilot components (optional)
├── agents/
│ └── helper.agent.md
├── commands/
├── rules/
├── hooks/
│ └── hooks.json
└── lsp.json
Манифест должен включать подключаемые модули агента 1.0 $schema. Поддерживаемые поля манифеста верхнего уровня, требования к имени и расположения компонентов см. в полях манифеста подключаемого модуля агента 1.0.
Устаревшая структура подключаемого модуля
Устаревший каталог подключаемого Copilot модуля может выглядеть следующим образом:
my-plugin/
├── plugin.json # Required manifest
├── agents/ # Custom agents (optional)
│ └── helper.agent.md
├── skills/ # Skills (optional)
│ └── deploy/
│ └── SKILL.md
├── hooks.json # Hook configuration (optional)
├── .mcp.json # MCP server config (optional)
└── lsp.json # LSP server config (optional)
Полный набор полей, которые вы можете включить в манифест, см. Ссылка на плагин GitHub Copilot CLI. Пошаговые рекомендации по созданию плагина смотрите Создание плагина для GitHub Copilot CLI.
Зачем использовать плагины?
Плагины предоставляют следующие преимущества:
- Повторное использование между проектами
- Стандартизация Copilot конфигурации команды
- Делитесь экспертизой в области (например, предоставляя навыки эксперта по Rails или Kubernetes)
- Инкапсулировать сложные настройки сервера MCP
Где можно найти плагины?
Вы можете установить плагины из:
- Рынок
- Хранилище
- Местная тропа
Маркетплейс — это место, где разработчики могут публиковать, обнаружать, устанавливать и управлять плагинами. Это немного похоже на магазин приложений — только для плагинов.
Примеры маркетплейсов включают:
- Copilot-плагины (добавлены по умолчанию)
- awesome-copilot (добавлен по умолчанию)
- claude-code-плагины
- Claudeforge-Marketplace
То, как вы устанавливаете плагин, зависит от того, каким клиентом вы используете:
- В Copilot CLI, вы можете устанавливать плагины обязательно с помощью
copilot plugin installкоманды или/plugin installкоманды slash, либо декларативно, добавляя плагин вenabledPluginsполе либо пользовательского~/.copilot/settings.jsonили.github/copilot/settings.jsonрепозитория. См . раздел AUTOTITLE. - В Copilot cloud agent, вы устанавливаете плагины декларативно, добавляя их в
enabledPluginsполе файла.github/copilot/settings.jsonрепозитория. Чтобы установить плагины с маркетплейса, который по умолчанию не зарегистрирован, можно добавить маркетплейс вextraKnownMarketplacesполе в том же файле. - GitHub Copilot appВ разделе "Настройка" щелкните "Настроить", а затем щелкните "Подключаемые модули", чтобы просмотреть marketplaces и установить подключаемые модули.
Корпоративные администраторы могут определять стандарты плагинов, которые применяются к пользователям тарифного плана Copilot предприятия, включая указание дополнительных маркетплейсов и автоматически устанавливаемых плагинов. См . раздел AUTOTITLE.
Как работают маркетплейсы плагинов
Маркетплейс плагинов — это реестр плагинов, с которых можно просматривать и устанавливать. Маркетплейс может быть размещён в репозитории на GitHub.comлюбом другом онлайн-сервисе хостинга Git или в вашей локальной или общей файловой системе.
Маркетплейс определяется файлом marketplace.json , который предоставляет метаданные о маркетплейсе и перечисляет доступные плагины. Каждая запись в массиве plugins маркетплейса описывает плагин — включая его название, описание, версию и путь к каталогу плагина.
Поскольку плагины на маркетплейсе имеют версии, маркетплейсы позволяют легко их находить, устанавливать и обновлять, а также делиться ими в команде. Пошаговые рекомендации по созданию маркетплейса смотрите Создание маркетплейса плагинов для GitHub Copilot CLI.
Плагины по сравнению с ручной конфигурацией
Любые функции, которые можно добавить с помощью плагина, можно также настраивать Copilot вручную — например, добавляя пользовательские профили агентов или MCP-серверы. Однако плагины дают несколько преимуществ по сравнению с ручной конфигурацией:
| Функция | Ручная настройка в репозитории | Плагин |
|---|---|---|
| Объем | Одиночный репозиторий | Любой проект |
| Sharing | Копирование вручную | Команда установки или enabledPlugins запись |
| Versioning | История гита | Версии на рынке |
| Discovery | Поиск репозиториев | Просмотр на рынке |