Команды командной строки
| Command | Purpose |
|---|---|
copilot | Запустите интерактивный пользовательский интерфейс. |
copilot completion SHELL | Печатайте скрипт оболочки для выбранной оболочки, который можно использовать для включения завершения вкладки для Второй пилот CLI. Поддерживаемые оболочки: bash, zsh, . fish См. Использование copilot completion. |
copilot help [TOPIC] | Покажите справочную информацию. Темы помощи включают: config, commands, environment, logging, monitoring``permissions, , и providers. |
copilot init | Инициализируйте Copilot пользовательские инструкции для этого репозитория. |
copilot login | Аутентифицируйтесь Copilot через поток устройств OAuth. Принимает --host HOST указать GitHub URL хоста (по умолчанию: https://github.com). |
copilot login [ОПЦИЯ] | Аутентифицируйтесь Copilot через поток устройств OAuth. См. параметры copilot login. |
copilot mcp | Управляйте конфигурациями MCP-сервера из командной строки. |
copilot plugin | Управляйте плагинами и маркетплейсами плагинов. |
copilot update | Скачайте и установите последнюю версию. |
copilot version | Откажите информацию о версии и проверьте обновления. |
copilot login варианты
| Опция | Purpose |
|---|---|
--host HOST | |
GitHub URL хоста (по умолчанию: https://github.com). Используйте это для аутентификации с GitHub Enterprise Cloud экземпляром, использующим data residency (например, https://example.ghe.com). |
Стандартный режим аутентификации — это веб-браузерный поток. После завершения аутентификационный токен надежно хранится в системном хранилище учетных данных. Если хранилище учетных данных не найдено, токен хранится в простом текстовом конфигурационном файле в ~/.copilot/ (или в каталоге, указанном COPILOT_HOME в if set).
В качестве альтернативы Второй пилот CLI буду использовать токен аутентификации, находящийся в переменных окружения. Следующие параметры проверяются в порядке старшинства: COPILOT_GITHUB_TOKEN, GH_TOKEN, , GITHUB_TOKEN. Этот метод наиболее подходит для безголового использования, например, для автоматизации.
Поддерживаемые типы токенов включают fine-grained personal access tokens (v2 PAT) с разрешением «Copilot Requests», токены OAuth из Copilot приложения CLI и токены OAuth из GitHub CLI приложения (gh). Classic personal access tokens (ghp_) не поддерживается.
Примеры:
# Authenticate with github.com
copilot login
# Authenticate with GitHub Enterprise Cloud (data residency)
copilot login --host https://example.ghe.com
# Use a fine-grained PAT via environment variable
COPILOT_GITHUB_TOKEN=github_pat_... copilot
С использованием copilot completion
Команда copilot completion SHELL выводит скрипт для указанной оболочки (bash, zsh или fish).
Используя этот скрипт (или записывая его в каталог завершения вашей оболочки), вы можете включить завершение вкладок в терминале для copilot подкоманд, опций команд и известных значений для опций команд.
Примеры использования
Bash (только текущая сессия):
source <(copilot completion bash)
source <(copilot completion bash)
Bash (persistent, Linux):
copilot completion bash | sudo tee /etc/bash_completion.d/copilot
copilot completion bash | sudo tee /etc/bash_completion.d/copilot
Zsh — запишите результат в каталог на вашем $fpath. Перезагрузите оболочку после выполнения этой команды:
copilot completion zsh > "${fpath[1]}/_copilot"
copilot completion zsh > "${fpath[1]}/_copilot"
Рыба:
copilot completion fish > ~/.config/fish/completions/copilot.fish
copilot completion fish > ~/.config/fish/completions/copilot.fish
Глобальные ярлыки в интерактивном интерфейсе
| Shortcut | Purpose |
|---|---|
@ FILENAME | Включите содержимое файла в контекст. |
# NUMBER | Включите GitHub проблему или запрос в контекст. |
! COMMAND | Выполните команду в локальной оболочке, обходя Copilot. |
? | Откройте быструю помощь (по пустому запросу). |
| Esc | Отменить текущую операцию. |
| CTRL+C | Отменить операцию / очистить вход. Нажмите дважды, чтобы выйти. |
| CTRL+D | Отключение. |
| CTRL+G | Отредактировать запрос во внешнем редакторе ($EDITOR). |
| CTRL+L | Очистите экран. |
| Ctrl+Enter или ctrl+Q | Поставьте сообщение в очередь для отправки, пока агент занят. |
| CTRL+R | Обратный поиск по истории команд. |
| CTRL+V | Вставьте из буфера обмена в качестве вложения. |
Ctrl+Тогда X/ | После того как вы начали вводить подстрымку, это позволяет выполнить команду слэш — например, если вы хотите изменить модель без необходимости переписывать подсказку. |
Ctrl+Тогда Xe | Отредактировать запрос во внешнем редакторе ($EDITOR). |
Ctrl+Тогда Xb | Переведите бегущую задачу или команду shell в фон. |
Ctrl+Тогда Xo | Откройте самую последнюю ссылку из таймлайна. |
| CTRL+Z | Приостановите процесс в фоновый режим (Unix). |
| Сдвиг+Enter или опция+Enter (Mac) / Alt+Enter (Windows/Linux) | Вставьте новую строку во вход. |
| Shift+Вкладка | Переключайтесь между стандартным, планным и автопилотным режимами. |
Ярлыки временной линии в интерактивном интерфейсе
| Shortcut | Purpose |
|---|---|
| CTRL+F | Открытый поиск по временной шкале. |
| Ctrl+О | Хотя в запросе ничего нет, оно расширяет недавние элементы в Copilotтаймлайне ответов, чтобы показать больше деталей. |
| CTRL+E | Хотя в вводном запросе ничего нет, это расширяет все элементы в Copilotтаймлайне ответов. |
| CTRL+T | Расширить/свернуть отображение рассуждений в ответах. |
| Page Up/Страница вниз | Прокрутите хронологию вверх или вниз на одну страницу. |
Ярлыки для сессионного выбора
Когда выбор сессии открыт (открыт через /resume или --continue):
| Shortcut | Purpose |
|---|---|
| ↑/↓ | Перемещайте выбор вверх или вниз. |
| Введите | Откройте выбранную сессию. |
s | Циклично сортируйте порядок сортировки: релевантность → создано → имя → последнее использование. |
| Tab | Переключайтесь между локальной и удалённой вкладками. |
d | Удалить выбранную сессию. |
| Esc | Закрой пикер. |
Сессии сортируются по следующим режимам:
| Режим | Описание |
|---|---|
relevance | Оценивает сессии по совпадению с текущим рабочим каталогом (по умолчанию). |
last used | В последнее время сначала модифицированные сессии. |
created | Недавно я сначала создавал сессии. |
name | По алфавиту по названию сессии; Безымянные сессии сортируют до конца. |
Сессии, уже открытые в другом окне, поднимаются наверх во всех нерелевантных режимах сортировки. Когда контекст рабочей директории отсутствует, relevance режим пропускается.
Навигационные ярлыки в интерактивном интерфейсе
| Shortcut | Purpose |
|---|---|
| CTRL+A | Переместитесь к началу строки (при наборе). |
| CTRL+B | Перейти к предыдущему персонажу. |
| CTRL+E | Переместитесь в конец строки (при наборе). |
| CTRL+F | Перейти к следующему персонажу. |
| CTRL+H | Удалить предыдущего персонажа. |
| Ctrl+К | Удалить с курсора до конца строки. Если курсор находится в конце строки, удалите разрыв строки. |
| CTRL+U | Удалить с курсора в начало строки. |
| Ctrl+Ж | Удалить предыдущее слово. |
| дом | Перейдите к началу текста. |
| Конец | Перейдём к концу текста. |
| Альтернатива+←/→ (Windows/Linux) | |
| Опция+←/→ (Mac) | Двигайте курсор на слово. |
| ↑/↓ | Просматривайте историю команд. |
| Tab / Ctrl+Y | Примите текущее предложение по завершению inline. |
Команды Slash в интерактивном интерфейсе
| Command | Purpose |
|---|---|
/add-dir PATH | Добавьте каталог в разрешённый список для доступа к файлам. |
/agent | Просматривайте и выбирайте из доступных агентов (если они есть). См . раздел AUTOTITLE. |
/ask QUESTION | Задайте быстрый вопрос, не добавляя в историю разговоров. Доступно только в экспериментальном режиме. |
/allow-all [on|off|show], /yolo [on|off|show] | Включите все права (инструменты, пути и URL). |
/changelog [summarize] [VERSION|last N|since VERSION], /release-notes [summarize] [VERSION|last N|since VERSION] | Отобразите журнал изменений CLI. По желанию укажите версию, количество последних релизов или начальную версию. Добавьте ключевое слово summarize для сводки, сгенерированной ИИ. |
/chronicle <standup|tips|improve|reindex> | Инструменты и аналитика истории сессий. Доступно только в экспериментальном режиме. |
/clear [PROMPT], , /new [PROMPT]``/reset [PROMPT] | Запустите новую беседу. |
/clikit [COMPONENT] | Предварительный просмотр бизнес-компонентов CLI (например, информация о квотах). |
/compact | Кратко изложите историю переписки, чтобы уменьшить использование контекстного окна. См . раздел AUTOTITLE. |
/context | Покажите использование токена контекстного окна и визуализацию. См . раздел AUTOTITLE. |
/copy | Скопируйте последний ответ в буфер обмена. |
/cwd, /cd [PATH] | Измените рабочий каталог или отобразите текущий каталог. |
/delegate [PROMPT] | Делегировать изменения в удалённый репозиторий с помощью пулл-запроса, сгенерированного ИИ. См . раздел AUTOTITLE. |
/diff | Проверьте изменения, внесённые в текущий каталог. |
/downgrade <VERSION> | Скачайте и перезапустите в определённой CLI-версии. Доступно для командных аккаунтов. |
/env | Показывайте данные загруженной среды (инструкции, MCP-серверы, навыки, агенты, плагины, LSP, расширения). |
/exit, /quit | Выйдите из CLI. |
/experimental [on|off|show] | Переключайте, устанавливайте или показывайте экспериментальные функции. |
/feedback, /bug | Дайте обратную связь о CLI. |
/fleet [PROMPT] | Включить параллельное выполнение субагентов для выполнения частей задачи. См . раздел AUTOTITLE. |
/help | Покажите помощь по интерактивным командам. |
/ide | Подключитесь к рабочему пространству IDE. См . раздел AUTOTITLE. |
/init | Инициализируйте Copilot пользовательские инструкции и агентные функции для этого репозитория. См. инициализацию Project для Copilot. |
/instructions | Просмотр и переключение пользовательских файлов инструкций. |
/keep-alive [on|off|busy|DURATION], /caffeinate [on|off|busy|DURATION] | Предотвратить переход машины в спящий режим: пока сессия CLI активна, пока агент занят или в течение определённого времени. Принимает длительности, такие как 30, 30m, 2h``1d , (голые числа по умолчанию — минуты). |
/list-dirs | Отобразите все каталоги, для которых разрешён доступ к файлам. |
/login | Войдите в .Copilot |
/logout | Выйти из Copilot. |
/lsp [show|test|reload|help] [SERVER-NAME] | Управляйте конфигурацией сервера языка. |
/mcp [show|add|edit|delete|disable|enable|auth|reload] [SERVER-NAME] | Управление конфигурацией сервера MCP. См . раздел AUTOTITLE. |
/model, /models [MODEL] | Выберите модель ИИ, которую хотите использовать. |
/plan [PROMPT] | Создайте план реализации перед написанием кода. |
/plugin [marketplace|install|uninstall|update|list] [ARGS...] | Управляйте плагинами и маркетплейсами плагинов. См . раздел AUTOTITLE. |
/pr [view|create|fix|auto] | Управление pull-запросами для текущей ветки. См . раздел AUTOTITLE. |
/remote [on|off] | Покажите статус пульта дистанционного управления (если аргумент не предусмотрен), включите удалённое управление (on), или завершите удалённое соединение (off). См . раздел AUTOTITLE. |
/rename [NAME] | Переименовать текущую сессию (автоматически генерирует имя, если оно опущено; псевдоним для /session rename). |
/research TOPIC | Проведите глубокое исследование с использованием GitHub поисковых и веб-источников. См . раздел AUTOTITLE. |
/reset-allowed-tools | Сбросьте список разрешённых инструментов. |
/restart | Перезапустить CLI, сохраняя текущую сессию. |
/resume [SESSION-ID], /continue [SESSION-ID] | Переключитесь на другую сессию, выбрав из списка (по желанию укажите идентификатор сессии). |
/review [PROMPT] | Запустите агент проверки кода для анализа изменений. См . раздел AUTOTITLE. |
/search [QUERY], /find [QUERY] | Ищите по таймлайну разговора. Доступно только в экспериментальном режиме. |
/session [info|checkpoints [n]|files|plan|rename [NAME]|cleanup|prune|delete [ID]|delete-all], /sessions [info|checkpoints [n]|files|plan|rename [NAME]|cleanup|prune|delete [ID]|delete-all] | Показывайте информацию о сессиях и управляйте сессиями. Подкоманды: info, checkpoints, files, plan, rename, cleanup``prune``delete``delete-all. |
/share [file|html|gist] [session|research] [PATH], /export [file|html|gist] [session|research] [PATH] | Поделитесь сессией с файлом Markdown, интерактивным HTML-файлом или GitHub gist. |
/skills [list|info|add|remove|reload] [ARGS...] | Управляйте навыками для расширения возможностей. См . раздел AUTOTITLE. |
/statusline, /footer | Настройте, какие элементы появляются в строке статуса. |
/tasks | Просмотр и управление задачами (субагентами и оболочными командами). |
/terminal-setup | Настройте терминал для поддержки многолинейного входа (Shift+Enter и Ctrl+Enter). |
/theme [default|dim|high-contrast|colorblind] | Просмотр или настройка цветового режима. |
/undo, /rewind | Перемотайте последний ход и отмените изменения в файле. |
/update, /upgrade | Обновите CLI до последней версии. |
/usage | Отображайте метрики и статистику использования сессий. |
/user [show|list|switch] | Управляйте текущим GitHub пользователем. |
/version | Откажите информацию о версии и проверьте обновления. |
Для полного списка доступных команд слэш введите /help в интерактивный интерфейс CLI.
Параметры командной строки
| Опция | Purpose |
|---|---|
--add-dir=PATH | Добавьте каталог в разрешённый список для доступа к файлам (можно использовать несколько раз). |
--add-github-mcp-tool=TOOL | Добавьте инструмент для включения для GitHub MCP-сервера вместо стандартного CLI-подмножества (можно использовать несколько раз). Используйте * для всех инструментов. |
--add-github-mcp-toolset=TOOLSET | Добавьте набор инструментов для MCP-сервера GitHub вместо стандартного CLI-подмножества (можно использовать несколько раз). Используйте all для всех наборов инструментов. |
--additional-mcp-config=JSON | Добавьте MCP-сервер только для этой сессии. Конфигурация сервера может быть предоставлена в виде JSON-строки или пути к файлу (префикс ).@ Дополняет конфигурацию из ~/.copilot/mcp-config.json. Переопределяет любую установленную конфигурацию сервера MCP с таким же именем. См . раздел AUTOTITLE. |
--agent=AGENT | Укажите a Пользовательский агент для использования. См . раздел AUTOTITLE. |
--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 имеет разрешение использовать. Не буду запрашивать разрешение. Для множества инструментов используйте список с кавычками, разделёнными запятыми. См . раздел AUTOTITLE. |
--allow-url=URL ... | Разрешите доступ к определённым URL или доменам. Для нескольких URL используйте список с кавычками, разделёнными запятыми. |
--autopilot | Включите автопилот в режиме подсказок. См . раздел AUTOTITLE. |
--available-tools=TOOL ... | Модели будут доступны только эти инструменты. Для множества инструментов используйте список с кавычками, разделёнными запятыми. См . раздел AUTOTITLE. |
--banner, --no-banner | Покажите или спрячьте баннер запуска. |
--bash-env | Включите BASH_ENV поддержку bash-shells. |
--connect[=SESSION-ID] | Подключитесь напрямую к удалённой сессии (по желанию укажите идентификатор сессии или задачи). Конфликты с --resume и --continue. |
--continue | Возобновите последнюю сессию в текущем рабочем каталоге, вернувшись к глобально самой последней сессии. |
--deny-tool=TOOL ... | Инструменты, на которые CLI не имеет разрешения. Не буду запрашивать разрешение. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
--deny-url=URL ... | Отказ в доступе к определённым URL или доменам имеет приоритет над --allow-url. Для нескольких URL используйте список с кавычками, разделёнными запятыми. |
--disable-builtin-mcps | Отключите все встроенные MCP-серверы (на данный момент: github-mcp-server). |
--disable-mcp-server=SERVER-NAME | Отключите конкретный MCP-сервер (его можно использовать несколько раз). |
--disallow-temp-dir | Предотвратить автоматический доступ к временному каталогу системы. |
--effort=LEVEL, --reasoning-effort=LEVEL | Установите уровень усилия для рассуждения (low, medium, high). |
--enable-all-github-mcp-tools | Включите все GitHub инструменты сервера MCP вместо стандартного подмножества CLI. Переопределяет и --add-github-mcp-toolset``--add-github-mcp-tool опции. |
--enable-reasoning-summaries | Запросите резюме рассуждений для моделей OpenAI, которые это поддерживают. |
--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. |
--mode=MODE | Установите начальный режим агента (выборы: interactive, plan, autopilot). Нельзя объединить с --autopilot или --plan. |
--model=MODEL | Задайте модель ИИ, которую хотите использовать. Пропускайте auto возможность Copilot автоматически выбирать лучшую доступную модель. |
--mouse[=VALUE] | Включите поддержку мыши в режиме альтернативного экрана. VALUE может быть on (по умолчанию) или off. При включении CLI фиксирует события мыши в альтернативном экране — колесо прокрутки, щелчки и т.д. При отключении сохраняется собственное поведение мыши терминала. После установки настройка сохраняется и записывается в ваш конфигурационный файл. |
-n NAME, --name=NAME | Дайте название новой сессии. Используется --resume``/resume для поиска сессий по названию. |
--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 | Отключите экспериментальные функции. |
--no-mouse | Отключите поддержку мыши. |
--no-remote | Отключите удалённый доступ для этой сессии. |
--output-format=FORMAT | FORMAT может быть text (по умолчанию) или json (выводит JSONL: один JSON-объект на строку). |
-p PROMPT, --prompt=PROMPT | Выполните запрос программно (выходит после завершения). См . раздел AUTOTITLE. |
--plan | Начинайте в режиме планирования. Сокращение для --mode plan. Нельзя объединить с --mode или --autopilot. |
--plain-diff | Отключите рендеринг rich diff (выделение синтаксиса через инструмент diff, указанный в конфигурации git). |
--plugin-dir=DIRECTORY | Загрузите плагин из локальной папки (можно использовать несколько раз). |
--remote | Включите удалённый доступ к этой сессии из GitHub.com и GitHub Mobile. См . раздел AUTOTITLE. |
--resume[=VALUE] | Возобновите предыдущую интерактивную сессию, выбрав из списка. По желанию укажите идентификатор сессии, префикс ID или имя сессии. Сопоставление имён точно и не зависит от регистра; при отсутствии явного совпадения сводки сводки возвращаются к автоматически сгенерированному резюме. |
-s, --silent | Выводите только ответ агента (без статистики использования), что полезно для скриптов с -p. |
--screen-reader | Включите оптимизацию экранных читателей. |
--secret-env-vars=VAR ... | Редактировать переменную среды из серверных сред shell и MCP (можно использовать несколько раз). Для множества переменных используйте список с кавычками, разделёнными запятыми. Значения в GITHUB_TOKEN переменных среды и COPILOT_GITHUB_TOKEN по умолчанию удалены из вывода. |
--share=PATH | Поделитесь сессией с файлом Markdown после завершения программной сессии (по умолчанию путь: ./copilot-session-<ID>.md). |
--share-gist | Поделитесь сессией с секретной GitHub основой после завершения программной сессии. |
--stream=MODE | Включите или отключите режим стриминга (выбор режима: on или off). |
-v, --version | Покажите информацию о версии. |
--yolo | Включить все права (эквивалент --allow-all). |
Для полного списка команд и опций запустите copilot help.
Примечание.
Опции --remote, --no-remote, и --connect требуют, чтобы функция удалённых сессий была доступна на вашем аккаунте.
Значения доступности инструментов
Опции и --available-tools поддерживают --excluded-tools следующие значения:
Оболочные инструменты
| Имя инструмента | Описание |
|---|---|
bash / powershell | Выполнение команд |
list_bash / list_powershell | Список активных сессий shell |
read_bash / read_powershell | Чтение выхода из сессии shell |
stop_bash / stop_powershell | Завершить оболочную сессию |
write_bash / write_powershell | Отправьте ввод в shell-сессию |
Инструменты управления файлами
| Имя инструмента | Описание |
|---|---|
apply_patch | Применить патчи (используемые некоторыми моделями вместо edit/create) |
create | Создание новых файлов |
edit | Редактировать файлы через замену строк |
view | Читать файлы или каталоги |
Инструменты для делегирования агентов и задач
| Имя инструмента | Описание |
|---|---|
list_agents | Список доступных агентов |
read_agent | Проверьте статус агента по биографии |
task | Запуск субагентов |
Другие инструменты
| Имя инструмента | Описание |
|---|---|
ask_user | Задайте пользователю вопрос |
glob | Найдите файлы, соответствующие шаблонам |
grep (или rg) | Поиск текста в файлах |
skill | Вызов пользовательских навыков |
web_fetch | Извлечение и разбор веб-контента |
Шаблоны разрешений инструментов
Опции и --allow-tool принимают --deny-tool шаблоны разрешений в формате Kind(argument). Аргумент необязательн — его исключение соответствует всем подобным инструментам.
| Kind | Описание | Примеры паттернов |
|---|---|---|
memory | Хранение фактов в памяти агента | memory |
read | Чтение файлов или каталогов | |
read, read(.env) | ||
shell | Выполнение команд shell | |
shell(git push), , shell(git:*)``shell | ||
url | Доступ к URL через web-fetch или shell | |
url(github.com), url(https://*.api.com) | ||
write | Создание или модификация файлов | |
write, write(src/*.ts) | ||
| SERVER-NAME | Вызов инструмента MCP-сервера | |
MyMCP(create_issue), MyMCP |
Для shell правил суффикс :* совпадает с командным стволом, за которым следует пробел, предотвращая частичные совпадения. Например, shell(git:*) совпадение git push и git pull но не совпадает giteaс .
Правила отказа всегда имеют приоритет над правилами допуска, даже если --allow-all они установлены.
# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-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 | Описание |
|---|---|
COLORFGBG | Запасной вариант для обнаружения фона на тёмных/светлых терминалах. |
COPILOT_ALLOW_ALL | Установите на true автоматическое разрешение всех разрешений (эквивалентно --allow-all). |
COPILOT_AUTO_UPDATE | Настройте на false отключение автоматических обновлений. |
COPILOT_CACHE_HOME | Переопределить каталог кэша (используемый для кэшей маркетплейса, автоматического обновления пакетов и других эфемерных данных). См. Каталог конфигурации CLI GitHub Copilot для стандартных параметров платформы. |
COPILOT_CUSTOM_INSTRUCTIONS_DIRS | Список дополнительных каталогов для пользовательских инструкций, разделённых запятой. |
COPILOT_EDITOR | Команда редактора для интерактивного редактирования (проверено после $VISUAL и $EDITOR). По умолчанию vi — если ничего не установлено. |
COPILOT_GH_HOST | |
GitHub Имя хоста только Второй пилот CLI для Only, перевышающее GH_HOST. Используй, когда GH_HOST цель GitHub Enterprise Server , но Copilot требуется аутентификацию по GitHub.com имени, или GitHub Enterprise Cloud при имени хозяина. | |
COPILOT_GITHUB_TOKEN | Маркер проверки подлинности. Имеет приоритет над GH_TOKEN и GITHUB_TOKEN. |
COPILOT_HOME | Переопределите конфигурацию и каталог состояний. По умолчанию: $HOME/.copilot. |
COPILOT_MODEL | Задайте модель ИИ. |
COPILOT_PROMPT_FRAME | Настройте на 1 включение декоративного интерфейса вокруг входного запроса или 0 отключение его. Переопределяет PROMPT_FRAME флаг экспериментальной функции для текущей сессии. |
COPILOT_SKILLS_DIRS | Список дополнительных каталогов с разделёнными запятой для навыков. |
COPILOT_SUBAGENT_MAX_CONCURRENT | Максимальное количество параллельных субагентов по всему дереву сессий. По умолчанию: 32. Диапазон: 1–256. |
COPILOT_SUBAGENT_MAX_DEPTH | Максимальная глубина вложения субагентов. По умолчанию: 6. Диапазон: 1–256. |
GH_HOST | |
GitHub Имя хоста для обоих GitHub CLI и Второй пилот CLI (по умолчанию: github.com). Установите имя GitHub Enterprise Cloud хоста для проживания с данными. Переопределите только COPILOT_GH_HOST для Второй пилот CLI For. | |
GH_TOKEN | Маркер проверки подлинности. Имеет приоритет над GITHUB_TOKEN. |
GITHUB_COPILOT_PROMPT_MODE_EXTENSIONS | Настройте на true загрузку расширений проекта и разрешите инструменты управления расширениями в режиме prompt (-p). По умолчанию отключён, чтобы предотвратить запуск кода расширения, управляемого репозиторием, без интерактивного доверия. |
GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS | Установите на true загрузку крючков репозитория в режиме prompt (-p). По умолчанию отключено, чтобы предотвратить выполнение команд с крюками, предоставленными репозиторием, без интерактивного подтверждения доверия. |
GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP | Установите на true загрузку MCP источников рабочего пространства в режиме запроса (-p). По умолчанию отключено, чтобы предотвратить запуск MCP-серверов, управляемых репозиторием, без интерактивного доверия. |
GITHUB_TOKEN | Маркер проверки подлинности. |
PLAIN_DIFF | Настройте на true отключение рендеринга rich diff. |
USE_BUILTIN_RIPGREP | Настройте на false использование системного ripgrep вместо комплектной версии. |
Настройки конфигурационных файлов
Для подробной информации о настройках конфигурационных файлов — включая полный список пользовательских настроек, репозиториев, локальных настроек и их каскадного распределения — см. Каталог конфигурации CLI GitHub Copilot.
Примечание.
Настройки пользователя ранее хранились в ~/.copilot/config.json. Существующие настройки, редактируемые пользователем в этом месте, автоматически перемещаются при ~/.copilot/settings.json запуске.
Project инициализация для Copilot
Когда вы используете команду copilot init, или команду слэш /init в интерактивной сессии, Copilot он анализирует вашу кодовую базу и записывает или обновляет .github/copilot-instructions.md файл в репозитории. Этот пользовательский файл инструкций содержит конкретные рекомендации по проекту, которые улучшат будущие сессии CLI.
Обычно вы используете copilot init, или /init, когда начинаете новый проект или Второй пилот CLI в существующем репозитории.
copilot-instructions.md Файл, который создаётся или обновляется, обычно документирует:
- Команды сборки, тестирования и ворса.
- Архитектура высокого уровня.
- Специфичные для кодовой базы конвенции.
Если файл уже существует, он Copilot предлагает улучшения, которые можно применить или отклонить.
CLI ищет copilot-instructions.md файл при запуске, и если он отсутствует, отображается сообщение:
💡 Инструкции второго пилота не найдено. Запустите /init, чтобы сгенерировать copilot-instructions.md файл для этого проекта.
Если вы не хотите создавать этот файл, вы можете навсегда скрыть это сообщение запуска для текущего репозитория с /init suppress помощью команды slash.
Дополнительные сведения см. в разделе Добавление пользовательских инструкций репозитория для GitHub Copilot.
Ссылка на Hooks
Для подробной информации о крючках — включая форматы конфигурации крючков, события крючков, входные полезные нагрузки и управление решением — см. раздел AUTOTITLE.
Конфигурация сервера MCP
MCP-серверы предоставляют дополнительные инструменты агенту CLI. Настройте постоянные серверы в ~/.copilot/mcp-config.json. Используйте --additional-mcp-config для добавления серверов на одну сессию.
copilot mcp Подкомандование
Используйте copilot mcp управление конфигурациями MCP-сервера из командной строки без запуска интерактивной сессии.
| Subcommand | Описание |
|---|---|
list [--json] | Перечислите все настроенные MCP-серверы, сгруппированные по источнику. |
get <name> [--json] | Покажите конфигурацию и инструменты для конкретного сервера. |
add <name> | Добавьте сервер в пользовательскую конфигурацию. Пишет на ~/.copilot/mcp-config.json. |
remove <name> | Удалите сервер пользовательского уровня. Серверы рабочего пространства должны быть напрямую редактированы в их конфигурационных файлах. |
**
copilot mcp add Параметры:**
| Опция | Описание |
|---|---|
-- <command> [args...] | Команда и аргументы для локальных (stdio) серверов. |
--url <url> | URL для удалённых серверов. |
--type <type> | Тип транспорта: local, stdio, http, или sse. |
--env KEY=VALUE | Переменная окружения (повторяющая). |
--header KEY=VALUE | HTTP-заголовок для удалённых серверов (повторяется). |
--tools <tools> | Фильтр инструментов: "*" для всех, список с разделёнными запятами или "" для них. |
--timeout <ms> | Время ожидания в миллисекундах. |
--json | Выход добавил конфигурацию в формате JSON. |
--show-secrets | Покажите полные значения переменных среды и заголовка. |
Внимание
--show-secrets Можно печатать чувствительные значения переменных среды и заголовков в ваш терминал или логи. Используйте эту опцию только в доверенных условиях и избегайте копирования, вставки или иного фиксации результатов в общих логах или истории.
Типы транспорта
| Тип | Описание | Обязательные поля |
|---|---|---|
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. Настроено на false конфиденциальные клиенты с хранящейся тайной. |
oauthGrantType | Нет | OAuth тип гранта: "authorization_code" (по умолчанию, браузерный поток) или "client_credentials" (полностью без головы, без браузера или обратного вызова). |
oidc | Нет | Включить инъекцию токена OIDC. Когда true, CLI вводит токены OIDC для любого GITHUB_COPILOT_OIDC_MCP_TOKEN или GITHUB_COPILOT_OIDC_MCP_TOKEN_<SUFFIX> переменного, на которое ссылается блок сервера env (локальные серверы), или отправляет токен в виде Bearer``Authorization заголовка (удалённые серверы). Для локальных серверов предпочитайте варианты с суффиксами (например, ${GITHUB_COPILOT_OIDC_MCP_TOKEN_MY_SVC}) для присвоения уникального имени переменной для каждого сервера. |
timeout | Нет | Тайм-аут вызова инструментов — в миллисекундах. |
OAuth повторная аутентификация
Удалённые MCP-серверы, использующие OAuth, могут показывать needs-auth статус после истечения срока действия токена или необходимости другого аккаунта. Используйте /mcp auth <server-name> для запуска нового потока OAuth. Это открывает запрос аутентификации в браузере, позволяющий войти в систему или сменить аккаунт. После завершения процесса сервер автоматически подключается.
Безголовый OAuth (client_credentials грант)
Для случаев использования CI или cron, когда браузер недоступен, установите oauthGrantType: "client_credentials". Этот подход включает следующие этапы.
oauthClientId—статический идентификатор клиента, выдаваемый поставщиком MCP.oauthPublicClient: false—клиент конфиденциальный.- Хранится
client_secretв системном ключе (настраивается один раз через/mcpпользовательский интерфейс или записывается в хранилище учетных данных OAuth).
При настройке CLI полностью пропускает браузер, сервер обратного вызова, PKCE и динамическую регистрацию клиента. На каждом 401 он отправляется grant_type=client_credentials напрямую на обнаруженный токен сервера.
{
"mcpServers": {
"headless-api": {
"type": "http",
"url": "https://api.example.com/mcp",
"tools": ["*"],
"oauthClientId": "YOUR-CLIENT-ID",
"oauthPublicClient": false,
"oauthGrantType": "client_credentials"
}
}
}
Фильтровое отображение
Контролировать, как обрабатывается вывод инструмента 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
Имена серверов могут содержать любые печатные символы, включая пробелы, символы Unicode и пунктуацию. Контрольные символы (U+0000–U+001F, U+007F) и закрывающая распорка (}) не разрешены. Имена серверов используются как префиксы для имён инструментов — например, сервер с именем my-server создаёт имена инструментов, такие как my-server-fetch, а сервер с именем My Server — .My Server-fetch
Очистка названий инструментов MCP
Имена серверов и инструментов MCP очищаются перед отправкой в модель. Символы, недопустимые в названиях инструментов (кроме a-z, A-Z, 0-9``-``_), заменяются на .- Символы Unicode кодируются в Punycode. Символ также заменён на@, - чтобы избежать конфликтов с кодированием Punycode.
Объединённое имя (serverName-toolName) ограничено 64 символами. Когда усечение вызывает коллизию имён, добавляется числовой суффикс (например, my-server-tool2, my-server-tool3) для обеспечения уникальности.
Уровни доверия сервера MCP
MCP-серверы загружаются из нескольких источников, каждый с разным уровнем доверия.
| Исходный материал | Уровень доверия | Обязательная проверка |
|---|---|---|
| Built-in | Высокий | Нет |
Хранилище (.github/mcp.json) | Средняя | Рекомендуется |
Рабочее пространство (.mcp.json) | Средняя | Рекомендуется |
Пользовательская конфигурация (~/.copilot/mcp-config.json) | Определённый пользователем | Ответственность пользователей |
| Удаленные серверы | Низкий | Всегда |
Все вызовы инструментов MCP требуют явного разрешения. Это относится даже к операциям только для чтения на внешних сервисах.
Список разрешений корпоративного MCP
GitHub Enterprise организации могут применять список разрешений для разрешённых MCP-серверов. При активном режиме CLI оценивает каждый нестандартный сервер по корпоративной политике перед подключением.
Когда обнаруживается GitHub Enterprise политика реестра (или MCP_ENTERPRISE_ALLOWLIST включен флаг экспериментальной функции), CLI:
- Вычисляет отпечаток пальца для каждого настроенного нестандартного сервера на основе его команды, аргументов и удалённых URL.
- Отправляет отпечатки пальцев в конечную точку оценки корпоративного списка разрешений.
- Разрешено только серверы, чьи отпечатки одобрены; все остальные блокируются сообщением с названием Enterprise.
Эта проверка является fail-closed: если конечная точка оценки недоступна или возвращает ошибку, нестандартные серверы блокируются до проверки политики.
Когда сервер блокируется корпоративным списком разрешений, CLI отображает:
MCP server "SERVER-NAME" was blocked by your enterprise "ENTERPRISE-NAME".
Contact your enterprise administrator to add this server to the allowlist.
Встроенные серверы по умолчанию всегда освобождаются от контроля по спискам разрешений.
Миграция из .vscode/mcp.json
Если ваш проект использует .vscode/mcp.json (формат конфигурации MCP VS Code), переходите на .mcp.json для GitHub Copilot CLI. Миграция переназначает servers ключ на mcpServers.
Раковины POSIX (bash, zsh, fish и другие):
jq '{mcpServers: .servers}' .vscode/mcp.json > .mcp.json
Требует jq.
PowerShell:
pwsh -NoProfile -Command "`$json = Get-Content '.vscode/mcp.json' -Raw | ConvertFrom-Json; `$content = ([pscustomobject]@{ mcpServers = `$json.servers } | ConvertTo-Json -Depth 100); [System.IO.File]::WriteAllText('.mcp.json', `$content, (New-Object System.Text.UTF8Encoding `$false))"
В Windows замените pwsh на powershell, если используете Windows PowerShell вместо PowerShell Core.
Справочник по навыкам
Навыки — это файлы 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/ | Project | Project-специфичные навыки. |
.agents/skills/ | Project | Альтернативное местоположение проекта. |
.claude/skills/ | Project | Место, совместимое с Claude. |
Родитель .github/skills/ | Inherited | Поддержка родительского каталога Monorepo. |
~/.copilot/skills/ | Личная информация | Личные навыки для всех проектов. |
~/.agents/skills/ | Личная информация | Навыки агента, общие для всех проектов. |
| Каталоги плагинов | Плагин | Навыки из установленных плагинов. |
COPILOT_SKILLS_DIRS | Настройка | Дополнительные каталоги (разделены запятой). |
| (в комплекте с CLI) | Built-in | Навыки поставляются вместе с CLI. Самый низкий приоритет — может быть отменён любым другим источником. |
Команды (альтернативный формат навыка)
Команды являются альтернативой навыкам, хранящимся в отдельных .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 | Агент глубоких исследований. Генерирует отчёт на основе информации из вашей кодовой базы, в соответствующих репозиториях и в интернете. |
rubber-duck | Комплементарная модель | Используйте дополнительную модель для конструктивной критики предложений, дизайнов, реализаций или тестов. Выявляет слабые места и предлагает улучшения. См . раздел AUTOTITLE. |
task | Клод-хайку-4.5 | Выполнение команд (тесты, сборки, ворсы). Возвращает краткое резюме по успеху, полный результат по неудачам. |
Фронтматэрные поля пользовательского агента
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
description | струна | Да | Описание указано в списке агентов и task инструменте. |
infer | булевый | Нет | Разрешить автоматическую делегацию основным агентом. По умолчанию: true. |
mcp-servers | объект | Нет | MCP-серверы для подключения. Использует ту же схему, что и ~/.copilot/mcp-config.json. |
model | струна | Нет | Модель ИИ для этого агента. Когда не установлено, наследует модель внешнего агента. Когда модель сессии установлена в Auto (выбрано сервером), субагенты всегда наследуют разрешённую модель сессии независимо от этого поля. |
name | струна | Нет | Отображаемое имя. По умолчанию используется имя файла. |
tools | строка[] | Нет | Инструменты, доступные агенту. По умолчанию: ["*"] (все инструменты). |
Местоположение кастомных агентов
| Объем | Местоположение |
|---|---|
| Project | |
.github/agents/ или .claude/agents/ | |
| User | ~/.copilot/agents/ |
| Плагин | <plugin>/agents/ |
Агенты уровня Project имеют приоритет над агентами пользовательского уровня. Агенты плагинов имеют самый низкий приоритет.
Ограничения субагентов
CLI устанавливает ограничения на глубину и параллельность, чтобы предотвратить появление неуправляемых агентов.
| Ограничение | По умолчанию | Переменная среды |
|---|---|---|
| Максимальная глубина | 6 | COPILOT_SUBAGENT_MAX_DEPTH |
| Максимальная совместность | 32 | COPILOT_SUBAGENT_MAX_CONCURRENT |
Глубина определяет, сколько агентов вложено друг в друга. При достижении предела глубины самый внутренний агент не может создавать новые субагенты.
Параллельность подсчитывает, сколько субагентов работает одновременно на протяжении всего дерева сессий. При достижении лимита новые запросы субагентов отклоняются до тех пор, пока активный агент не завершит работу. Значения фиксируются между 1 и 256.
Ответы на одобрение разрешений
Когда CLI запросит разрешение на выполнение операции, вы можете ответить следующими клавишами.
| Ключ | Эффект |
|---|---|
y | Разрешите этот конкретный запрос один раз. |
n | Откажитесь в этой конкретной просьбе один раз. |
! | Разрешите все похожие запросы до конца сессии. |
# | Отклоняйте все подобные запросы до конца сессии. |
? | Покажите подробную информацию о запросе. |
Когда появляется полный диалог, вы также можете выбрать один из следующих вариантов:
| Опция | Объем | Сохраняемость |
|---|---|---|
| Однажды | Одноразовое использование | Нет |
| Это место | Пока не будет ручной очистки | Сохраняется на диске по месту |
| Всегда | Постоянный | Файл конфигурации |
Опция This location появляется, когда CLI может определить ключ местоположения (корень git или текущий каталог). Он сохраняет одобрение для диска, так что то же разрешение автоматически получается при следующей работе с этой директорией без повторного запроса.
Используйте /permissions reset для очистки одобрений в памяти для текущей сессии.
Мониторинг OpenTelemetry
Второй пилот CLI может экспортировать трассы и метрики через OpenTelemetry (OTel), что даёт вам видимость взаимодействия с агентами, вызовы LLM, выполнение инструментов и использование токенов. Все имена и атрибуты сигналов следуют семантическим конвенциям OTel GenAI.
OTel по умолчанию выключен без накладных расходов. Он активируется при выполнении любого из следующих условий:
COPILOT_OTEL_ENABLED=trueOTEL_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-вызовы и выполнение инструментов для одного пользовательского сообщения.
- Верхнеуровневые сессии используют span kind
CLIENT(удалённый вызов сервиса) сserver.addressиserver.port. - Вызовы субагентов (например, explore, task) используют span kind
INTERNAL(in-process) без атрибутов сервера.
| Атрибут | Описание | Вид размаха |
|---|---|---|
gen_ai.operation.name | invoke_agent | Both |
gen_ai.provider.name | Провайдер (например, github, anthropic) | Both |
gen_ai.agent.id | Стабильный идентификатор определения агента, когда он известен; Использование верхнего уровня по умолчанию github.copilot.default | Both |
gen_ai.agent.name | Имя агента (если доступно) | Both |
gen_ai.agent.description | Описание агента (если доступно) | Both |
gen_ai.agent.version | Версия определения агента, когда она известна; в остальном runtime версия | Both |
gen_ai.conversation.id | Идентификатор сессии | Both |
enduser.pseudo.id | Псевдонимный Copilot идентификатор пользователя из analytics_tracking_id, когда он доступен | Both |
gen_ai.request.model | Запрошенная модель | Both |
gen_ai.response.finish_reasons | ||
["stop"] или ["error"] | Both | |
gen_ai.usage.input_tokens | Общее количество входных жетонов (все ходы) | Both |
gen_ai.usage.output_tokens | Общее количество токенов выхода (все ходы) | Both |
gen_ai.usage.cache_read.input_tokens | Кэшированные входные токены считываются | Both |
gen_ai.usage.cache_creation.input_tokens | Созданы кэшированные входные токены | Both |
github.copilot.turn_count | Количество поездок с LLM туда и обратно | Both |
github.copilot.cost | Денежные затраты | Both |
github.copilot.aiu | Потраченные единицы ИИ | Both |
server.address | Имя хоста сервера | Только CLIENT |
server.port | Порт сервера | Только CLIENT |
error.type | Имя класса ошибки (по ошибке) | Both |
gen_ai.input.messages | Полные вводные сообщения в формате JSON (только захват контента) | Both |
gen_ai.output.messages | Полный вывод сообщений в формате JSON (только захват контента) | Both |
gen_ai.system_instructions | Системный запрос контента в формате JSON (только захват контента) | Both |
gen_ai.tool.definitions | Схемы инструментов в формате JSON (только захват контента) | Both |
chat Атрибуты размаха
Один проём на запрос LLM. Размах видов: CLIENT.
| Атрибут | Описание |
|---|---|
gen_ai.operation.name | chat |
gen_ai.provider.name | Имя поставщика |
gen_ai.request.model | Запрошенная модель |
gen_ai.request.stream | Использовался ли режим стриминга (только стриминг) |
gen_ai.conversation.id | Идентификатор сессии |
gen_ai.response.finish_reasons | Причины остановки |
gen_ai.response.id | Идентификатор ответа |
gen_ai.response.model | Разрешённая модель |
gen_ai.response.time_to_first_chunk | Время до первого стриминга, за секунды (только для стриминга) |
gen_ai.usage.cache_creation.input_tokens | Созданные кэшированные токены |
gen_ai.usage.cache_read.input_tokens | Кэшированные токены считываются |
gen_ai.usage.input_tokens | Входные токены на этом ходу |
gen_ai.usage.output_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.hook.start | Начался крюк | |
github.copilot.hook.type, github.copilot.hook.invocation_id | ||
github.copilot.hook.end | Крюк выполнен успешно | |
github.copilot.hook.type, github.copilot.hook.invocation_id | ||
github.copilot.hook.error | Крюк не сработал | |
github.copilot.hook.type, , github.copilot.hook.invocation_id``github.copilot.hook.error_message | ||
github.copilot.session.truncation | История разговоров была сокращена | |
github.copilot.token_limit, github.copilot.pre_tokens, github.copilot.post_tokens``github.copilot.pre_messages``github.copilot.post_messages``github.copilot.tokens_removed``github.copilot.messages_removed``github.copilot.performed_by | ||
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.message только захват контента) | ||
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 | Вывод инструментов |