Skip to main content

#REF! Copilot Ссылка на плагин CLI

Найдите команды и детали конфигурации для плагинов CLI.

Примечание.

Помощь по использованию плагинов можно найти copilot plugin [SUBCOMMAND] --help в терминале.

Команды CLI

Вы можете использовать следующие команды в терминале для управления плагинами для Интерфейс командной строки Copilot.

CommandDescription
copilot plugin install SPECIFICATIONУстановите плагин. См. спецификацию плагина для команды ниже.
copilot plugin uninstall NAMEУдалить плагин
copilot plugin listСписок установленных плагинов
copilot plugin update NAMEОбновить плагин
copilot plugin update --allОбновить все установленные плагины
copilot plugin disable NAMEВременно отключите плагин, не удаляя его
copilot plugin enable NAMEПовторно включите отключённый плагин
copilot plugin marketplace add SPECIFICATIONЗарегистрируйте маркетплейс
copilot plugin marketplace listСписок зарегистрированных торговых площадок
copilot plugin marketplace browse NAMEПросмотр плагинов маркетплейса
copilot plugin marketplace remove NAMEОтменить регистрацию с маркетплейса

Спецификация плагина для команды

ФорматПримерDescription
Маркетплейсplugin@marketplaceПлагин с зарегистрированного маркетплейса
GitHubOWNER/REPOКорень репозитория GitHub
GitHub subdirOWNER/REPO:PATH/TO/PLUGINПодкаталог в репозитории
Git URLhttps://github.com/o/r.gitЛюбой URL в Git
Местный маршрутилиМестный справочник

plugin.json

Все плагины состоят из каталога плагинов, содержащая, как минимум, файл манифеста, расположенный в корне папки плагинов. См . раздел AUTOTITLE.

Обязательное поле

ПолеТипDescription
nameструнаИмя плагина для kebab-case (только буквы, цифры, дефисы). Максимум 64 персонажа.

Опциональные поля метаданных

ПолеТипDescription
descriptionструнаКраткое описание. Максимум 1024 персонажа.
versionструнаСемантическая версия (например, ).
authorобъект(обязательно), (по желанию), (по необходимости).
homepageструнаURL главной страницы плагина.
repositoryструнаURL репозитория исходного кода.
licenseструнаИдентификатор лицензии (например, ).
keywordsстрока[]Ключевые слова поиска.
categoryструнаКатегория плагинов.
tagsстрока[]Дополнительные теги.

Поля пути компонентов

Они указывают CLI, где найти компоненты плагина. Все они необязательны. CLI использует стандартные конвенции, если они опущены.

ПолеТипПо умолчаниюDescription
agentsString string[]agents/Пути к директориям агентов ( файлы).
skillsString string[]skills/Пути к каталогам навыков ( файлам).
commandsString string[]Пути к директориям команд.
hooksСтроковый объектПуть к конфигурационному файлу hooks или объекту inline hooks.
mcpServersСтроковый объектПуть к конфигурационному файлу MCP (например, ), или встроенные определения сервера.
lspServersСтроковый объектПуть к конфигурационному файлу LSP или встроенным определениям сервера.

Пример файла

JSON
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "[email protected]"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"],
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}

marketplace.json

Вы можете создать маркетплейс плагинов — который пользователи смогут использовать для поиска и установки ваших плагинов — создав файл и сохранив его в каталоге репозитория. Вы также можете хранить файл в локальной файловой системе. Например, сохранение файла как позволяет добавить его в CLI с помощью следующей команды:

copilot plugin marketplace add /PATH/TO/my-marketplace

Примечание.

Интерфейс командной строки Copilot также ищет marketplace.json файл в .claude-plugin/ каталоге.

Дополнительные сведения см. в разделе AUTOTITLE.

Пример файла

JSON
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "[email protected]"
  },
  "metadata": {
    "description": "Curated plugins for our team",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "frontend-design",
      "description": "Create a professional-looking GUI ...",
      "version": "2.1.0",
      "source": "./plugins/frontend-design"
    },
    {
      "name": "security-checks",
      "description": "Check for potential security vulnerabilities ...",
      "version": "1.3.0",
      "source": "./plugins/security-checks"
    }
  ]
}

Примечание.

Значение source поля для каждого плагина — это путь к каталогу плагина относительно корня репозитория. Не обязательно использовать ./ его в начале пути. Например "./plugins/plugin-name" , и "plugins/plugin-name" разрешить в одну и ту же папку.

Поля

Поля верхнего уровня

ПолеТипОбязательноDescription
nameструнаДаНазвание рынка кебаб-кейс. Максимум 64 персонажа.
ownerобъектДа— информация о владельце маркетплейса.
pluginsмассивДаСписок записей плагинов (см. таблицу ниже).
metadataобъектнет{ description?, version?, pluginRoot? }

Поля ввода плагинов (объекты внутри массива)

ПолеТипОбязательноDescription
nameструнаДаИмя плагина для кебаб-кейса. Максимум 64 персонажа.
sourceСтроковый объектДаГде получить плагин (относительный путь, GitHub или URL).
descriptionструнанетОписание плагина. Максимум 1024 персонажа.
versionструнанетВерсия плагина.
authorобъектнет{ name, email?, url? }
homepageструнанетURL главной страницы плагина.
repositoryструнанетURL репозитория исходного кода.
licenseструнанетИдентификатор лицензии.
keywordsстрока[]нетКлючевые слова поиска.
categoryструнанетКатегория плагинов.
tagsстрока[]нетДополнительные теги.
commandsString string[]нетПути к директориям команд.
agentsString string[]нетПути к каталогам агентов.
skillsString string[]нетПути к каталогам навыков.
hooksСтроковый объектнетПуть к хукам, конфиг или объект встроенных хуков.
mcpServersСтроковый объектнетПуть к конфигурации MCP или встроенным определениям сервера.
lspServersСтроковый объектнетПуть к конфигурациям LSP или встроенным определениям сервера.
strictбулевыйнетКогда (по умолчанию) плагины должны соответствовать полным правилам схемы и валидации. Когда используется расслабленная валидация, что даёт больше гибкости — особенно для прямых установок или устаревших плагинов.

Расположения файлов

ItemПуть
Установленные плагины(установлен через маркетплейс) и (установлен напрямую)
Кэш маркетплейса~/.copilot/state/marketplace-cache/
Манифест плагинов, или
Манифест рынкаили
Агенты(по умолчанию, можно отменить в манифесте)
Skills(по умолчанию, можно отменить в манифесте)
Конфигурация крючковили
Конфигурация MCPили
Конфигурация LSPили

Порядок загрузки и приоритет

Если вы устанавливаете несколько плагинов, возможно, что некоторые кастомные агенты, навыки, MCP-серверы или инструменты, предоставляемые через MCP-серверы, имеют дублирующиеся имена. В такой ситуации CLI определяет, какой компонент использовать, исходя из порядка приоритета.

  • Агенты и навыки используют приоритет «первый-найденный-выигрышный».

    Если у вас есть кастомный агент или навык проектного уровня с тем же именем или идентификатором, что и в плагине, который вы устанавливаете, агент или навык в плагине молча игнорируются. Плагин не может отменять конфигурации на уровне проекта или личные настройки. Пользовательские агенты дедуплифицируются с помощью их идентификатора, который выводится из имени файла (например, если файл имеет имя , идентификатор агента — ). Навыки дедуплифицируются по полю имени внутри файла.

  • Серверы MCP используют приоритет последних побед.

    Если вы установите плагин, который определяет MCP-сервер с тем же именем сервера, что и уже установленный вами MCP-сервер, определение плагина имеет приоритет. Вы можете использовать опцию командной строки, чтобы переопределить конфигурацию MCP-сервера с таким же названием, установленную через плагин.

  • Встроенные инструменты и агенты всегда присутствуют и не могут быть переопределены пользовательскими компонентами.

Следующая схема иллюстрирует правила порядка загрузки и приоритета.

┌──────────────────────────────────────────────────────────────────┐
│  BUILT-IN - HARDCODED, ALWAYS PRESENT                            │
│  • tools: bash, view, apply_patch, glob, rg, task, ...           │
│  • agents: explore, task, code-review, general-purpose, research │
└────────────────────────┬─────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │
  │  1. ~/.copilot/agents/           (user, .github convention)         │
  │  2. <project>/.github/agents/    (project)                          │
  │  3. <parents>/.github/agents/    (inherited, monorepo)              │
  │  4. ~/.claude/agents/            (user, .claude convention)         │
  │  5. <project>/.claude/agents/    (project)                          │
  │  6. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  7. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  8. Remote org/enterprise agents (remote, via API)                  │
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │
  │  1. <project>/.github/skills/        (project)                      │
  │  2. <project>/.agents/skills/        (project)                      │
  │  3. <project>/.claude/skills/        (project)                      │
  │  4. <parents>/.github/skills/ etc.   (inherited)                    │
  │  5. ~/.copilot/skills/               (personal-copilot)             │
  │  6. ~/.claude/skills/                (personal-claude)              │
  │  7. PLUGIN: skills/ dirs             (plugin)                       │
  │  8. COPILOT_SKILLS_DIRS env + config (custom)                       │
  │  --- then commands (.claude/commands/), skills override commands ---│
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │
  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │
  │  2. .vscode/mcp.json                 (workspace)                    │
  │  3. PLUGIN: MCP configs              (plugins)                      │
  │  4. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘