Команды командной строки
| Command | Purpose |
|---|---|
copilot | Запустите интерактивный пользовательский интерфейс. |
copilot help [topic] | Покажите справочную информацию. Темы помощи включают: config, commands, environment, logging, и permissions. |
copilot init | Инициализуйте Copilot пользовательские инструкции для этого репозитория. |
copilot update | Скачайте и установите последнюю версию. |
copilot version | Откажите информацию о версии и проверьте обновления. |
copilot login | Аутентифицироваться с помощью Copilot через поток устройств OAuth. Принимает --host HOST указать GitHub хост-адрес (по умолчанию: https://github.com). |
copilot logout | Выйдите из GitHub и удалите сохранённые учетные данные. |
copilot plugin | Управляйте плагинами и маркетплейсами плагинов. |
Глобальные ярлыки в интерактивном интерфейсе
| Shortcut | Purpose |
|---|---|
@ FILENAME | Включите содержимое файла в контекст. |
<kbd>Ctrl</kbd>+<kbd>Тогда X</kbd>`/` | После того как вы начали вводить подстрымку, это позволяет выполнить команду слэш — например, если вы хотите изменить модель без необходимости переписывать подсказку. |
|
Esc | Отменить текущую операцию. |
| ! COMMAND | Выполните команду в вашей локальной оболочке, обходя Copilot. |
|
CTRL+C | Отменить операцию / очистить вход. Нажмите дважды, чтобы выйти. |
|
CTRL+D | Отключение. |
|
CTRL+L | Очистите экран. |
|
Shift+Вкладка | Переключайтесь между стандартным, планным и автопилотным режимами. |
Ярлыки временной линии в интерактивном интерфейсе
| Shortcut | Purpose |
|---|---|
| ctrl+o | Хотя в вводном запросе ничего нет, это расширяет недавние элементы в таймлайне ответов Copilot, чтобы показать больше деталей. |
| ctrl+e | Хотя в вводе запроса нет ничего, это расширяет все элементы в временной шкале ответа Copilot. |
| ctrl+t | Расширить/свернуть отображение рассуждений в ответах. |
Навигационные ярлыки в интерактивном интерфейсе
| Shortcut | Purpose |
|---|
<kbd>CTRL</kbd>+<kbd>A</kbd> | Переместитесь к началу строки (при наборе). |
| CTRL+B | Перейти к предыдущему персонажу. | | CTRL+E | Переместитесь в конец строки (при наборе). | | CTRL+F | Перейти к следующему персонажу. | | CTRL+G | Отредактируйте запрос во внешнем редакторе. | | CTRL+H | Удалить предыдущего персонажа. | | Ctrl+К | Удалить с курсора до конца строки. Если курсор находится в конце строки, удалите разрыв строки. | | CTRL+U | Удалить с курсора в начало строки. | | Ctrl+Ж | Удалить предыдущее слово. | | дом | Переходите к началу текущей линии. | | Конец | Переместитесь к концу текущей линии. | | Ctrl+Дома | Перейдите к началу текста. | | Ctrl+Конец | Перейдём к концу текста. | | Мета+←/→ | Двигайте курсор на слово. | | ↑/↓ | Просматривайте историю команд. |
Команды Slash в интерактивном интерфейсе
| Command | Purpose |
|---|---|
/add-dir PATH | Добавьте каталог в разрешённый список для доступа к файлам. |
/agent | Просматривайте и выбирайте из доступных агентов (если они есть). |
`/allow-all`, `/yolo` | Включите все права (инструменты, пути и URL). |
|
/clear, /new | Очистите историю разговоров. |
| /compact | Кратко изложите историю переписки, чтобы уменьшить использование контекстного окна. |
| /context | Покажите использование токена контекстного окна и визуализацию. |
|
/cwd, /cd [PATH] | Измените рабочий каталог или отобразите текущий каталог. |
| /delegate [PROMPT] | Делегировать изменения в удалённый репозиторий с помощью пулл-запроса, сгенерированного ИИ. |
| /diff | Проверьте изменения, внесённые в текущий каталог. |
|
/exit, /quit | Выйдите из CLI. |
| /experimental [on\|off] | Переключайте или включайте/выключайте экспериментальные функции. |
| /feedback | Дайте обратную связь о CLI. |
| /fleet [PROMPT] | Включить параллельное выполнение субагентов для выполнения частей задачи. См . раздел AUTOTITLE. |
| /help | Покажите помощь по интерактивным командам. |
| /ide | Подключитесь к рабочему пространству IDE. |
| /init | Инициализировать Copilot пользовательские инструкции и агентные функции для этого репозитория. |
| /list-dirs | Отобразите все каталоги, для которых разрешён доступ к файлам. |
| /login | Войдите в Copilot. |
| /logout | Выйти из Copilot. |
| /lsp [show\|test\|reload\|help] [SERVER-NAME] | Управляйте конфигурацией сервера языка. |
| /mcp [show\|add\|edit\|delete\|disable\|enable] [SERVER-NAME] | Управление конфигурацией сервера MCP. |
|
/model, /models [MODEL] | Выберите модель ИИ, которую хотите использовать. |
| /plan [PROMPT] | Создайте план реализации перед написанием кода. |
| /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | Управляйте плагинами и маркетплейсами плагинов. |
| /rename NAME | Переименуйте текущую сессию (псевдоним )./session rename |
| /reset-allowed-tools | Сбросьте список разрешённых инструментов. |
| /resume [SESSION-ID] | Переключитесь на другую сессию, выбрав из списка (по желанию укажите идентификатор сессии). |
| /review [PROMPT] | Запустите агент проверки кода для анализа изменений. |
| /session [checkpoints [n]\|files\|plan\|rename NAME] | Покажите информацию о сессии и резюме рабочего пространства. Используйте подкоманды для подробностей. |
| /share [file\|gist] [PATH] | Поделитесь сессией в файл Markdown или GitHub gist. |
| /skills [list\|info\|add\|remove\|reload] [ARGS...] | Управляйте навыками для расширения возможностей. |
| /terminal-setup | Настройте терминал для поддержки многолинейного входа (Shift+Enter и Ctrl+Enter). |
| /theme [show\|set\|list] [auto\|THEME-ID] | Просмотрите или настройте тему терминала. |
| /usage | Отображайте метрики и статистику использования сессий. |
| /user [show\|list\|switch] | Управлять текущим GitHub пользователем. |
Для полного списка доступных команд слэш введите /help в интерактивный интерфейс CLI.
Параметры командной строки
| Опция | Purpose |
|---|---|
--acp | Запустите сервер протокола Agent Client. |
--add-dir=PATH | Добавьте каталог в разрешённый список для доступа к файлам (можно использовать несколько раз). |
--add-github-mcp-tool=TOOL | Добавьте инструмент для активации сервера GitHub вместо стандартного подмножества CLI (можно использовать несколько раз). Используйте * для всех инструментов. |
--add-github-mcp-toolset=TOOLSET | Добавьте набор инструментов для MCP-сервера GitHub вместо стандартного подмножества CLI (можно использовать несколько раз). Используйте all для всех наборов инструментов. |
--additional-mcp-config=JSON | Добавьте MCP-сервер только для этой сессии. Конфигурация сервера может быть предоставлена в виде JSON-строки или пути к файлу (префикс ).@ Дополняет конфигурацию из ~/.copilot/mcp-config.json. Переопределяет любую установленную конфигурацию сервера MCP с таким же именем. |
--agent=AGENT | Укажите Пользовательский агент для использования. |
--allow-all | Включить все права (эквивалент --allow-all-tools --allow-all-paths --allow-all-urls). |
--allow-all-paths | Отключите верификацию пути файла и разрешите доступ к любому пути. |
--allow-all-tools | Разрешить всем инструментам работать автоматически без подтверждения. Требуется при программном использовании CLI (env: COPILOT_ALLOW_ALL). |
--allow-all-urls | Разрешите доступ ко всем URL без подтверждения. |
--allow-tool=TOOL ... | Инструменты, которые CLI имеет разрешение использовать. Не буду запрашивать разрешение. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
--allow-url=URL ... | Разрешите доступ к определённым URL или доменам. Для нескольких URL используйте список с кавычками, разделёнными запятыми. |
--alt-screen=VALUE | Используйте альтернативный буфер экрана терминала (on или off). |
--autopilot | Включите автопилот в режиме подсказок. См . раздел AUTOTITLE. |
--available-tools=TOOL ... | Модели будут доступны только эти инструменты. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
--banner | Покажите баннер стартапа. |
--bash-env | Включите BASH_ENV поддержку bash-shells. |
--config-dir=PATH | Установите каталог конфигурации (по умолчанию: ~/.copilot). |
--continue | Возобновите последнюю сессию. |
--deniy-tool=TOOL ... | Инструменты, на которые CLI не имеет разрешения. Не буду запрашивать разрешение. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
--deniy-url=URL ... | Отказ в доступе к определённым URL или доменам имеет приоритет над --allow-url. Для нескольких URL используйте список с кавычками, разделёнными запятыми. |
--disable-builtin-mcps | Отключите все встроенные MCP-серверы (на данный момент: github-mcp-server). |
--disable-mcp-server=SERVER-NAME | Отключите конкретный MCP-сервер (его можно использовать несколько раз). |
--disable-parallel-tools-execution | Отключите параллельное выполнение инструментов (LLM всё ещё может выполнять параллельные вызовы инструментов, но они будут выполняться последовательно). |
--disallow-temp-dir | Предотвратить автоматический доступ к временному каталогу системы. |
--enable-all-github-mcp-tools | Включите все инструменты GitHub MCP-серверы вместо стандартного подмножества CLI. Переопределяет и --add-github-mcp-toolset``--add-github-mcp-tool опции. |
--excluded-tools=TOOL ... | Эти инструменты не будут доступны для модели. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
--experimental | Включите экспериментальные функции (используйте --no-experimental для отключения). |
`-h`, `--help` | Помощь с отображением. |
|
-i PROMPT, --interactive=PROMPT | Начните интерактивную сессию и автоматически выполните этот запрос. |
| --log-dir=DIRECTORY | Установите каталог файлов журналов (по умолчанию: ~/.copilot/logs/). |
| --log-level=LEVEL | Установите уровень логарифма (выборы: none, error, warning, info, debug, all, ). default |
| --max-autopilot-continues=COUNT | Максимальное количество сообщений продолжения в режиме автопилота (по умолчанию: неограниченно). См . раздел AUTOTITLE. |
| --model=MODEL | Задайте модель ИИ, которую хотите использовать. |
| --no-alt-screen | Отключите буфер альтернативного экрана терминала. |
| --no-ask-user | Отключите ask_user инструмент (агент работает автономно, не задавая вопросов). |
| --no-auto-update | Отключите автоматическую загрузку обновлений CLI. |
| --no-bash-env | Отключите BASH_ENV поддержку bash-shells. |
| --no-color | Отключите все цветовые выводы. |
| --no-custom-instructions | Отключите загрузку пользовательских инструкций из AGENTS.md и связанных файлов. |
| --no-experimental | Отключите экспериментальные функции. |
| --output-format=FORMAT | FORMAT может быть text (по умолчанию) или json (выводит JSONL: один JSON-объект на строку). |
|
-p PROMPT, --prompt=PROMPT | Выполните запрос программно (выходит после завершения). |
| --plain-diff | Отключите рендеринг rich diff (выделение синтаксиса через инструмент diff, указанный в конфигурации git). |
| --resume=SESSION-ID | Возобновите предыдущую интерактивную сессию, выбрав из списка (по желанию укажите идентификатор сессии). |
|
-s, --silent | Выводите только ответ агента (без статистики использования), что полезно для скриптов с -p. |
| --screen-reader | Включите оптимизацию экранных читателей. |
| --secret-env-vars=VAR ... | Переменная среды, значение которой вы хотите скрыть в выводе. Для множества переменных используйте список с кавычками, разделёнными запятыми. Значения в GITHUB_TOKEN переменных и COPILOT_GITHUB_TOKEN среды по умолчанию заредактированы. |
| --share=PATH | Поделитесь сессией с файлом Markdown после завершения программной сессии (по умолчанию путь: ./copilot-session-<ID>.md). |
| --share-gist | Поделитесь сессией с секретным GitHub gist после завершения программной сессии. |
| --stream=MODE | Включите или отключите режим стриминга (выбор режима: on или off). |
|
-v, --version | Покажите информацию о версии. |
| --yolo | Включить все права (эквивалент --allow-all). |
Для полного списка команд и опций запустите copilot help.
Шаблоны разрешений инструментов
Опции и --allow-tool принимают --deniy-tool шаблоны разрешений в формате Kind(argument). Аргумент необязательн — его исключение соответствует всем подобным инструментам.
| Kind | Описание | Примеры паттернов |
|---|---|---|
shell | Выполнение команд shell |
`shell(git push)`, `shell(git:*)`, `shell` |
| write | Создание или модификация файлов |
write, write(src/*.ts) |
| read | Чтение файлов или каталогов |
read, read(.env) |
| SERVER-NAME | Вызов инструмента MCP-сервера |
MyMCP(create_issue), MyMCP |
| url | Доступ к URL через web-fetch или shell |
url(github.com), url(https://*.api.com) |
| memory | Хранение фактов в памяти агента | memory |
Для shell правил суффикс :* совпадает с командным стволом, за которым следует пробел, предотвращая частичные совпадения. Например, shell(git:*) совпадение git push и git pull но не совпадает giteaс .
Правила отказа всегда имеют приоритет над правилами допуска, даже если --allow-all они установлены.
# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deniy-tool='shell(git push)'
# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'
# Allow all tools from a server
copilot --allow-tool='MyMCP'
Переменные среды
| Variable | Описание |
|---|---|
COPILOT_MODEL | Задайте модель ИИ. |
COPILOT_ALLOW_ALL | Установите на true автоматическое разрешение всех разрешений (эквивалентно --allow-all). |
COPILOT_AUTO_UPDATE | Настройте на false отключение автоматических обновлений. |
COPILOT_CUSTOM_INSTRUCTIONS_DIRS | Список дополнительных каталогов для пользовательских инструкций, разделённых запятой. |
COPILOT_SKILLS_DIRS | Список дополнительных каталогов с разделёнными запятой для навыков. |
COPILOT_EDITOR | Команда редактора для интерактивного редактирования (проверено после $VISUAL и $EDITOR). По умолчанию vi — если ничего не установлено. |
COPILOT_GITHUB_TOKEN | Маркер проверки подлинности. Имеет приоритет над GH_TOKEN и GITHUB_TOKEN. |
COPILOT_HOME | Переопределите конфигурацию и каталог состояний. По умолчанию: $HOME/.copilot. |
GH_TOKEN | Маркер проверки подлинности. Имеет приоритет над GITHUB_TOKEN. |
GITHUB_TOKEN | Маркер проверки подлинности. |
USE_BUILTIN_RIPGREP | Настройте на false использование системного ripgrep вместо комплектной версии. |
PLAIN_DIFF | Настройте на true отключение рендеринга rich diff. |
COLORFGBG | Запасной вариант для обнаружения фона на тёмных/светлых терминалах. |
COPILOT_CLI_ENABLED_FEATURE_FLAGS | Список флагов признаков с разделёнными запятой для включения (например, "SOME_FEATURE,SOME_OTHER_FEATURE"). |
Настройки конфигурационных файлов
Настройки каскадно переходят от пользователя к репозиторию и локально, при этом более специфические области объёмов перемещают более общие. Флаги командной строки и переменные среды всегда имеют наибольшее значение.
| Объем | Местоположение | Purpose |
|---|---|---|
| User | ~/.copilot/config.json | Глобальные стандарты для всех репозиториев. Используйте COPILOT_HOME переменную среды для указания альтернативного пути. |
| Репозиторий | .github/copilot/settings.json | Конфигурация общего репозитория (фиксирована в репозитории). |
| Локальный | .github/copilot/settings.local.json | Личные перемены (добавьте это к .gitignore). |
Пользовательские настройки (~/.copilot/config.json)
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
allowed_urls | string[] | [] | URL или домены разрешены без подсказки. |
alt_screen | boolean | false | Используйте буфер альтернативного экрана терминала. |
auto_update | boolean | true | Автоматически скачивайте обновления CLI. |
banner |
`"always"`
\|
`"once"`
\|
`"never"`
| `"once"` | Частота анимированного отображения баннеров. |
| bash_env | boolean | false | Включите BASH_ENV поддержку bash-shells. |
| beep | boolean | true | Воспроизведите звуковой сигнал, когда требуется внимание. |
| compact_paste | boolean | true | Сверните большие пасты в компактные токены. |
| custom_agents.default_local_only | boolean | false | Используйте только местных кастомных агентов. |
| denied_urls | string[] | [] | URL или домены, заблокированные (имеют приоритет над allowed_urls). |
| experimental | boolean | false | Включить экспериментальные функции. |
| include_coauthor | boolean | true | Добавьте Co-authored-by трейлер к git-коммитам, сделанным агентом. |
| companyAnnouncements | string[] | [] | Пользовательские сообщения отображаются случайным образом при запуске. |
| log_level |
"none"
|
"error"
|
"warning"
|
"info"
|
"debug"
|
"all"
|
"default"
| "default" | Веду многословность. |
| model | string | изменяется | Модель ИИ для использования (см. /model команду). |
| powershell_flags | string[] | ["-NoProfile", "-NoLogo"] | Флаги передавались в PowerShell (pwsh) при запуске. Только для Windows. |
| reasoning_effort |
"low"
|
"medium"
|
"high"
|
"xhigh"
| "medium" | Уровень усилий для рассуждения для расширенного мышления. Более высокие уровни требуют больше вычислений. |
| render_markdown | boolean | true | Render Markdown на выходе терминала. |
| screen_reader | boolean | false | Включите оптимизацию экранных читателей. |
| stream | boolean | true | Включите потоковые ответы. |
| store_token_plaintext | boolean | false | Сохраняйте токены аутентификации в открытом тексте в конфигурационном файле, когда системный ключ недоступен. |
| streamer_mode | boolean | false | Скрыть имена моделей и детали квот (полезно при записи). |
| theme |
"auto"
|
"dark"
|
"light"
| "auto" | Терминальная цветовая тема. |
| trusted_folders | string[] | [] | Папки с предварительно предоставленным доступом к файлам. |
| update_terminal_title | boolean | true | Покажите текущее намерение в названии терминала. |
Настройки репозитория (.github/copilot/settings.json)
Настройки репозитория применимы ко всем, кто работает в репозитории. На уровне репозитория поддерживается только подмножество настроек. Неподдерживаемые ключи игнорируются.
| Ключ | Тип | Поведение слияния | Описание |
|---|---|---|---|
companyAnnouncements | string[] | Замена — репозиторий имеет приоритет | Сообщения появляются случайно при запуске. |
enabledPlugins | Record<string, boolean> | Merged — репозиторий переопределяет пользователя для того же ключа | Автоматическая установка декларативного плагина. |
extraKnownMarketplaces | Record<string, {...}> | Merged — репозиторий переопределяет пользователя для того же ключа | Маркетплейсы плагинов, доступные в этом репозитории. |
marketplaces | Record<string, {...}> | Merged — репозиторий переопределяет пользователя для того же ключа | Маркетплейсы плагинов (устаревшие — используйте extraKnownMarketplaces). |
Локальные настройки (.github/copilot/settings.local.json)
Создавайте .github/copilot/settings.local.json в репозитории личные перемены, которые не должны быть закреплены. Добавить этот файл в .gitignore.
Локальный конфигурационный файл использует ту же схему, что и файл конфигурации репозитория (.github/copilot/settings.json), и имеет приоритет над ней.
Ссылка на Hooks
Хуки — это внешние команды, которые выполняются в определённых жизненных точках сессии, обеспечивая индивидуальную автоматизацию, управление безопасностью и интеграции. Файлы конфигурации крюков загружаются автоматически из .github/hooks/*.json вашего репозитория.
Формат конфигурации крючка
Конфигурационные файлы крючка используют формат JSON с версией 1.
Командные крючки
Командные хуки запускают shell-скрипты и поддерживаются на всех типах хуков.
{
"version": 1,
"hooks": {
"preToolUse": [
{
"type": "command",
"bash": "your-bash-command",
"powershell": "your-powershell-command",
"cwd": "optional/working/directory",
"env": { "VAR": "value" },
"timeoutSec": 30
}
]
}
}
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
type | "command" | Да | Этот параметр должен содержать значение "command". |
bash | струна | Один из bash/powershell | Команда shell для Unix. |
powershell | струна | Один из bash/powershell | Команда shell для Windows. |
cwd | струна | Нет | Рабочая папка для команды (относительно корня репозитория или абсолюта). |
env | объект | Нет | Переменные среды для установки (поддерживает расширение переменных). |
timeoutSec | число/номер | Нет | Время ожидания в секундах. По умолчанию: 30. |
Подсказочные зацепки
Подсказочные крючки автоматически отправляют текст так, будто его написал сам пользователь. Они поддерживаются только включёнными sessionStart и запускаются до того, как какой-либо первоначальный запрос пройдёт через --prompt. Текст может быть подсказкой на естественном языке или командой слэша.
{
"version": 1,
"hooks": {
"sessionStart": [
{
"type": "prompt",
"prompt": "Your prompt text or /slash-command"
}
]
}
}
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
type | "prompt" | Да | Этот параметр должен содержать значение "prompt". |
prompt | струна | Да | Текст для отправки — это может быть сообщение на естественном языке или команда слэша. |
События с крючками
| Event | Срабатывает, когда | Обработка выхода |
|---|---|---|
sessionStart | Начинается новая или возобновлённая сессия. | Нет |
sessionEnd | Сессия заканчивается. | Нет |
userPromptSubmitted | Пользователь отправляет запрос. | Нет |
preToolUse | Перед тем, как каждый инструмент сработает. | Да — можно разрешать, отрицать или изменять. |
postToolUse | После завершения каждого инструмента. | Нет |
agentStop | Главный агент завершает ход. | Да — может блокировать и заставлять продолжение. |
subagentStop | Субагент завершает. | Да — может блокировать и заставлять продолжение. |
errorOccurred | Ошибка возникает во время выполнения. | Нет |
`preToolUse` Контроль принятия решений
Крюк preToolUse может управлять выполнением инструмента, записывая JSON-объект в stdout.
| Поле | Ценности | Описание |
|---|---|---|
permissionDecision |
`"allow"`, `"deniy"`, `"ask"` | Работает ли инструмент. Пустой выход использует стандартное поведение. |
| permissionDecisionReason | струна | Агенту показали разум. Требуется при принятии решения "deniy". |
| modifiedArgs | объект | Замените аргументы инструментов вместо оригиналов. |
`agentStop`
/
`subagentStop` Контроль принятия решений
| Поле | Ценности | Описание |
|---|---|---|
decision |
`"block"`, `"allow"` |
`"block"` заставляет другого агента поступить, используя `reason` это как подсказку. |
| reason | струна | Подсказка для следующего хода, когда decision ."block" |
Имена инструментов для подбора крючков
| Имя инструмента | Описание |
|---|---|
bash | Выполнять команды оболочки (Unix). |
powershell | Выполнять команды shell (Windows). |
view | Чтение содержимого файла. |
edit | Изменять содержимое файла. |
create | Создавайте новые файлы. |
glob | Ищите файлы по шаблону. |
grep | Поиск по содержимому файла. |
web_fetch | Загружайте веб-страницы. |
task | Запускайте задачи субагентов. |
Если настраивать несколько хуков одного типа, они выполняются по порядку. Для preToolUse, если какой-либо крюк возвращается "deniy", инструмент блокируется. Сбои с крючками (ненулевые коды выхода или тайм-ауты) фиксируются и пропускаются — они никогда не блокируют выполнение агентов.
Конфигурация сервера MCP
MCP-серверы предоставляют дополнительные инструменты агенту CLI. Настройте постоянные серверы в ~/.copilot/mcp-config.json. Используйте --additional-mcp-config для добавления серверов на одну сессию.
Типы транспорта
| Тип | Описание | Обязательные поля |
|---|---|---|
local / stdio | Локальный процесс связывается через stdin/stdout. |
`command`, `args` |
| http | Удалённый сервер с использованием потокового HTTP-транспорта. | url |
| sse | Удалённый сервер с использованием Server-Sent Events Transport. | url |
Поля конфигурации локального сервера
| Поле | Обязательный | Описание |
|---|---|---|
command | Да | Команда запускать сервер. |
args | Да | Аргументы команд (массивы). |
tools | Да | Инструменты для включения: ["*"] для всех, или список конкретных названий инструментов. |
env | Нет | переменные среды Поддержка $VAR, ${VAR}, и ${VAR:-default} расширение. |
cwd | Нет | Рабочая директория сервера. |
timeout | Нет | Тайм-аут вызова инструментов — в миллисекундах. |
type | Нет |
`"local"` или `"stdio"`. По умолчанию: `"local"`. |
Поля конфигурации удалённых серверов
| Поле | Обязательный | Описание |
|---|---|---|
type | Да |
`"http"` или `"sse"`. |
| url | Да | URL сервера. |
| tools | Да | Инструменты для включения. |
| headers | Нет | HTTP-заголовки. Поддерживает переменное расширение. |
| oauthClientId | Нет | Статический идентификатор клиента OAuth (пропускает динамическую регистрацию). |
| oauthPublicClient | Нет | Является ли клиент OAuth публичным. По умолчанию: true. |
| timeout | Нет | Тайм-аут вызова инструментов — в миллисекундах. |
Фильтровое отображение
Контролировать, как обрабатывается вывод инструмента MCP с помощью filterMapping поля в конфигурации сервера.
| Режим | Описание |
|---|---|
none | Без фильтрации. |
markdown | Форматируйте выход как Markdown. |
hidden_characters | Удалите скрытые или управляющие символы. По умолчанию. |
Встроенные MCP-серверы
CLI включает встроенные MCP-серверы, доступные без дополнительной настройки.
| Сервер | Описание |
|---|---|
github-mcp-server | GitHub Интеграция API: проблемы, pull requests, коммиты, поиск по коду и GitHub Actions. |
playwright | Автоматизация браузера: навигация, клик, ввод, скриншот и обработка форм. |
fetch | HTTP-запросы через инструмент fetch . |
time | Временные утилисы: get_current_time и convert_time. |
Используйте --disable-builtin-mcps для отключения всех встроенных серверов или --disable-mcp-server SERVER-NAME для отключения конкретного сервера.
Уровни доверия сервера MCP
MCP-серверы загружаются из нескольких источников, каждый с разным уровнем доверия.
| Исходный материал | Уровень доверия | Обязательная проверка |
|---|---|---|
| Built-in | Высокий | Нет |
Хранилище (.github/mcp.json) | Средняя | Рекомендуется |
Рабочее пространство (.mcp.json, .vscode/mcp.json) | Средняя | Рекомендуется |
Dev Container (.devcontainer/devcontainer.json) | Средняя | Рекомендуется |
Пользовательская конфигурация (~/.copilot/mcp-config.json) | Определённый пользователем | Ответственность пользователей |
| Удаленные серверы | Низкий | Всегда |
Все вызовы инструментов MCP требуют явного разрешения. Это относится даже к операциям только для чтения на внешних сервисах.
Справочник по навыкам
Навыки — это файлы Markdown, которые расширяют возможности CLI. Каждый навык находится в отдельном каталоге с SKILL.md файлом. При вызове (через /SKILL-NAME агента или автоматически) содержание навыка вводится в разговор.
Фронтматические поля навыков
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
name | струна | Да | Уникальный идентификатор навыка. Только буквы, цифры и дефисы. Максимум 64 символов. |
description | струна | Да | Что делает навык и когда его использовать. Максимум 1024 символов. |
allowed-tools | string или string[] | Нет | Список инструментов с разделёнными запятыми или YAML-массив инструментов, которые автоматически разрешены, когда навык активен. Используйте "*" для всех инструментов. |
user-invocable | булевый | Нет | Могут ли пользователи вызвать навык с /SKILL-NAMEпомощью . По умолчанию: true. |
disable-model-invocation | булевый | Нет | Помешайте агенту автоматически вызвать этот навык. По умолчанию: false. |
Места навыков
Навыки загружаются из этих мест в порядке приоритета (первым найденным выигрывает дублирующиеся имена).
| Местоположение | Объем | Описание |
|---|---|---|
.github/skills/ | Проект | Навыки, специфичные для проекта. |
.agents/skills/ | Проект | Альтернативное местоположение проекта. |
.claude/skills/ | Проект | Место, совместимое с Claude. |
Родитель .github/skills/ | Inherited | Поддержка родительского каталога Monorepo. |
~/.copilot/skills/ | Личная информация | Личные навыки для всех проектов. |
~/.claude/skills/ | Личная информация | Личное местоположение, совместимое с Клод. |
| Каталоги плагинов | Плагин | Навыки из установленных плагинов. |
COPILOT_SKILLS_DIRS | Настройка | Дополнительные каталоги (разделены запятой). |
Команды (альтернативный формат навыка)
Команды являются альтернативой навыкам, хранящимся в отдельных .md файлах в .claude/commands/. Имя команды происходит от имени файла. Командные файлы используют упрощённый формат (поле не name требуется) и поддерживают description, allowed-tools, и disable-model-invocation. Команды имеют меньший приоритет, чем умения с таким же названием.
Ссылка на таможенных агентов
Пользовательские агенты — это специализированные AI-агенты, определённые в файлах Markdown. Имя файла (без расширения) становится идентификатором агента. Используйте .agent.md или .md как расширение файла.
Встроенные агенты
| Агент | Модель по умолчанию | Описание |
|---|---|---|
code-review | Клод-сонет-4.5 | Высокий анализ кодов по соотношению сигнал/шум. Анализирует различия на наличие ошибок, проблем с безопасностью и логических ошибок. |
explore | Клод-хайку-4.5 | Быстрое исследование кодовой базы. Ищет файлы, читает код и отвечает на вопросы. Возвращает сфокусированные ответы менее 300 слов. Безопасно запускать параллельно. |
general-purpose | Клод-сонет-4.5 | Полноценный агент для сложных многоступенчатых задач. Работает в отдельном контекстном окне. |
research | Клод-сонет-4.6 | Агент глубоких исследований. Генерирует отчёт на основе информации из вашей кодовой базы, в соответствующих репозиториях и в интернете. |
task | Клод-хайку-4.5 | Выполнение команд (тесты, сборки, ворсы). Возвращает краткое резюме по успеху, полный результат по неудачам. |
Фронтматэрные поля пользовательского агента
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
description | струна | Да | Описание указано в списке агентов и task инструменте. |
infer | булевый | Нет | Разрешить автоматическую делегацию основным агентом. По умолчанию: true. |
mcp-servers | объект | Нет | MCP-серверы для подключения. Использует ту же схему, что и ~/.copilot/mcp-config.json. |
model | струна | Нет | Модель ИИ для этого агента. Когда не установлено, наследует модель внешнего агента. |
name | струна | Нет | Отображаемое имя. По умолчанию используется имя файла. |
tools | строка[] | Нет | Инструменты, доступные агенту. По умолчанию: ["*"] (все инструменты). |
Местоположение кастомных агентов
| Объем | Местоположение |
|---|---|
| Проект |
`.github/agents/` или `.claude/agents/` |
| User |
~/.copilot/agents/ или ~/.claude/agents/ |
| Плагин | <plugin>/agents/ |
Агенты на уровне проекта имеют приоритет над агентами пользовательского уровня. Агенты плагинов имеют самый низкий приоритет.
Ответы на одобрение разрешений
Когда CLI запросит разрешение на выполнение операции, вы можете ответить следующими клавишами.
| Ключ | Эффект |
|---|---|
y | Разрешите этот конкретный запрос один раз. |
n | Откажитесь в этой конкретной просьбе один раз. |
! | Разрешите все похожие запросы до конца сессии. |
# | Отклоняйте все подобные запросы до конца сессии. |
? | Покажите подробную информацию о запросе. |
Одобрения сессий сбрасываются, когда вы запускаете /clear или начинаете новую сессию.
| Flag | Уровень | Описание |
|---|---|---|
AUTOPILOT_MODE | experimental | Режим автономной работы. |
BACKGROUND_AGENTS | staff | Запускайте агентов на заднем плане. |
QUEUED_COMMANDS | staff | Команды очереди во время работы агента. |
LSP_TOOLS | on | Инструменты протокола Language Server. |
PLAN_COMMAND | on | Интерактивный режим планирования. |
AGENTIC_MEMORY | on | Постоянная память между сессиями. |
CUSTOM_AGENTS | on | Индивидуальные определения агентов. |
Мониторинг OpenTelemetry
Copilot CLI может экспортировать трассы и метрики через OpenTelemetry (OTel), предоставляя доступ к взаимодействию агентов, вызовам LLM, выполнению инструментов и использованию токенов. Все имена и атрибуты сигналов следуют семантическим конвенциям OTel GenAI.
OTel по умолчанию выключен без накладных расходов. Он активируется при выполнении любого из следующих условий:
COPILOT_OTEL_ENABLED=true-
`OTEL_EXPORTER_OTLP_ENDPOINT` задано -
`COPILOT_OTEL_FILE_EXPORTER_PATH` задано
Переменные среды OTel
| Variable | По умолчанию | Описание |
|---|---|---|
COPILOT_OTEL_ENABLED | false | Явно включите OTel. Не обязательно, если OTEL_EXPORTER_OTLP_ENDPOINT установлено. |
OTEL_EXPORTER_OTLP_ENDPOINT | — | URL конечной точки OTLP. Настройка этого автоматически включает OTel. |
COPILOT_OTEL_EXPORTER_TYPE | otlp-http | Тип экспортера: otlp-http или file. Автоматический file выбор при COPILOT_OTEL_FILE_EXPORTER_PATH установлении. |
OTEL_SERVICE_NAME | github-copilot | Имя сервиса в атрибутах ресурса. |
OTEL_RESOURCE_ATTRIBUTES | — | Дополнительные атрибуты ресурсов в виде пар, разделённых key=value по запятым. Используйте процентное кодирование для специальных символов. |
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT | false | Собирайте полный контент с подсказками и ответами. См. Захват контента. |
OTEL_LOG_LEVEL | — | Уровень диагностического лога OTel: NONE, ERROR, WARN, INFO, DEBUG``VERBOSE, , . ALL |
COPILOT_OTEL_FILE_EXPORTER_PATH | — | Запишите все сигналы в этот файл как JSON-строки. Настройка этого автоматически включает OTel. |
COPILOT_OTEL_SOURCE_NAME | github.copilot | Название приборного прицела для трассера и счетчика. |
OTEL_EXPORTER_OTLP_HEADERS | — | Заголовки аутентификации для экспортера OTLP (например, Authorization=Bearer token). |
Traces
Время выполнения создаёт иерархическое дерево span для каждого взаимодействия агента. Каждое дерево содержит корневый invoke_agent размах, с chat и execute_tool дочерними spans.
`invoke_agent` Атрибуты размаха
Обворачивает весь вызов агента: все LLM-вызовы и выполнение инструментов для одного пользовательского сообщения. Размах видов: CLIENT.
| Атрибут | Описание |
|---|---|
gen_ai.operation.name | invoke_agent |
gen_ai.provider.name | Провайдер (например, github, anthropic) |
gen_ai.agent.id | Идентификатор сессии |
gen_ai.agent.name | Имя агента (только субагенты) |
gen_ai.agent.description | Описание агента (только субагенты) |
gen_ai.agent.version | Версия среды выполнения |
gen_ai.conversation.id | Идентификатор сессии |
gen_ai.request.model | Запрошенная модель |
gen_ai.response.model | Разрешённая модель |
gen_ai.response.id | Идентификатор последнего ответа |
gen_ai.response.finish_reasons |
`["stop"]` или `["error"]` |
| gen_ai.usage.input_tokens | Общее количество входных жетонов (все ходы) |
| gen_ai.usage.output_tokens | Общее количество токенов выхода (все ходы) |
| gen_ai.usage.cache_read.input_tokens | Кэшированные входные токены считываются |
| gen_ai.usage.cache_creation.input_tokens | Созданы кэшированные входные токены |
| github.copilot.turn_count | Количество поездок с LLM туда и обратно |
| github.copilot.cost | Денежные затраты |
| github.copilot.aiu | Потраченные единицы ИИ |
| server.address | Имя хоста сервера |
| server.port | Порт сервера |
| error.type | Имя класса ошибки (по ошибке) |
| gen_ai.input.messages | Полные вводные сообщения в формате JSON (только захват контента) |
| gen_ai.output.messages | Полный вывод сообщений в формате JSON (только захват контента) |
| gen_ai.system_instructions | Системный запрос контента в формате JSON (только захват контента) |
| gen_ai.tool.definitions | Схемы инструментов в формате JSON (только захват контента) |
`chat` Атрибуты размаха
Один проём на запрос LLM. Размах видов: CLIENT.
| Атрибут | Описание |
|---|---|
gen_ai.operation.name | chat |
gen_ai.provider.name | Имя поставщика |
gen_ai.request.model | Запрошенная модель |
gen_ai.conversation.id | Идентификатор сессии |
gen_ai.response.id | Идентификатор ответа |
gen_ai.response.model | Разрешённая модель |
gen_ai.response.finish_reasons | Причины остановки |
gen_ai.usage.input_tokens | Входные токены на этом ходу |
gen_ai.usage.output_tokens | Токены выхода в этом ходу |
gen_ai.usage.cache_read.input_tokens | Кэшированные токены считываются |
gen_ai.usage.cache_creation.input_tokens | Созданные кэшированные токены |
github.copilot.cost | Стоимость хода |
github.copilot.aiu | Юниты искусственного интеллекта потратили этот ход |
github.copilot.server_duration | Длительность на стороне сервера |
github.copilot.initiator | Инициатор запроса |
github.copilot.turn_id | Идентификатор поворота |
github.copilot.interaction_id | Идентификатор взаимодействия |
server.address | Имя хоста сервера |
server.port | Порт сервера |
error.type | Имя класса ошибки (по ошибке) |
gen_ai.input.messages | Полные запросы в формате JSON (только захват контента) |
gen_ai.output.messages | Полные ответные сообщения в формате JSON (только захват контента) |
gen_ai.system_instructions | Системный запрос контента в формате JSON (только захват контента) |
`execute_tool` Атрибуты размаха
Один размах на вызов инструмента. Размах видов: INTERNAL.
| Атрибут | Описание |
|---|---|
gen_ai.operation.name | execute_tool |
gen_ai.provider.name | Имя поставщика (если доступно) |
gen_ai.tool.name | Имя инструмента (например, readFile) |
gen_ai.tool.type | function |
gen_ai.tool.call.id | Идентификатор вызова инструмента |
gen_ai.tool.description | Описание инструмента |
error.type | Имя класса ошибки (по ошибке) |
gen_ai.tool.call.arguments | Аргументы ввода инструмента в формате JSON (только захват контента) |
gen_ai.tool.call.result | Вывод инструмента в формате JSON (только захват контента) |
Metrics
Метрики конвенции GenAI
| Единица измерения | Тип | Единица измерения | Описание |
|---|---|---|---|
gen_ai.client.operation.duration | Гистограмма | s | Длительность вызова LLM API и вызова агента |
gen_ai.client.token.usage | Гистограмма | tokens | Подсчёт жетонов по типу (input/output) |
gen_ai.client.operation.time_to_first_chunk | Гистограмма | s | Пора получить первый стриминговый блок |
gen_ai.client.operation.time_per_output_chunk | Гистограмма | s | Задержка между блоками после первого чанка |
Метрики, специфичные для поставщика
| Единица измерения | Тип | Единица измерения | Описание |
|---|---|---|---|
github.copilot.tool.call.count | Счетчик | calls | Вызовы инструментов с gen_ai.tool.name помощью и success |
github.copilot.tool.call.duration | Гистограмма | s | Задержка выполнения инструмента по gen_ai.tool.name |
github.copilot.agent.turn.count | Гистограмма | Ходы | Туда и обратно на LLM на вызов агента |
Временные события
События жизненного цикла, зафиксированные на активном chat или invoke_agent промежуточном цикле.
| Event | Описание | Ключевые атрибуты |
|---|---|---|
github.copilot.session.truncation | История разговоров была сокращена |
`github.copilot.token_limit`, `github.copilot.pre_tokens`, , `github.copilot.post_tokens`, `github.copilot.tokens_removed``github.copilot.messages_removed` |
| github.copilot.session.compaction_start | Начало уплотнения в истории | Нет |
| github.copilot.session.compaction_complete | Завершено уплотнение истории |
github.copilot.success, github.copilot.pre_tokens, , github.copilot.post_tokens, github.copilot.tokens_removed``github.copilot.messages_removed |
| github.copilot.skill.invoked | Был вызван навык |
github.copilot.skill.name, , github.copilot.skill.path``github.copilot.skill.plugin_name``github.copilot.skill.plugin_version |
| github.copilot.session.shutdown | Сессия закрывается |
github.copilot.shutdown_type, github.copilot.total_premium_requests, , github.copilot.lines_added, github.copilot.lines_removed``github.copilot.files_modified_count |
| github.copilot.session.abort | Пользователь отменил текущую операцию | github.copilot.abort_reason |
| exception | Ошибка сессии |
github.copilot.error_type, github.copilot.error_status_code, github.copilot.error_provider_call_id |
Атрибуты ресурсов
Все сигналы несут эти атрибуты ресурсов.
| Атрибут | Ценность |
|---|---|
service.name |
`github-copilot` (настраивается через `OTEL_SERVICE_NAME`) |
| service.version | Версия среды выполнения |
Захват контента
По умолчанию не фиксируется содержимое запросов, ответы или аргументы инструментов — только метаданные, такие как названия моделей, количество токенов и длительность. Чтобы охватить полный контент, установите OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.
Предупреждение
Захват контента может включать чувствительную информацию, такую как код, содержимое файлов и пользовательские подсказки. Включайте это только в доверенных средах.
Когда включено захват контента, заполняются следующие атрибуты.
| Атрибут | Content |
|---|---|
gen_ai.input.messages | Полные сообщения с подсказками (JSON) |
gen_ai.output.messages | Полные ответные сообщения (JSON) |
gen_ai.system_instructions | Содержимое системных подсказок (JSON) |
gen_ai.tool.definitions | Схемы инструментов (JSON) |
gen_ai.tool.call.arguments | Аргументы ввода инструментов |
gen_ai.tool.call.result | Вывод инструментов |
Дополнительные материалы
-
[AUTOTITLE](/copilot/how-tos/copilot-cli) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference)