Помимо интерактивного запуска Copilot CLI, вы также можете передавать запрос напрямую в CLI одной командой, не входя в интерактивную сессию. Это позволяет использовать Copilot программно в скриптах, CI/CD конвейерах и автоматизационных рабочих процессах. Дополнительные сведения см. в разделе Программное запуск GitHub Copilot CLI.
В этой статье описываются командные строки и переменные среды, которые особенно актуальны при программном запуске Copilot CLI.
Чтобы увидеть полный список доступных опций, смотрите GitHub Copilot Справочник команды CLI или введите следующую команду в вашем терминале:
copilot help
copilot help
Параметры командной строки
Существует ряд опций командной строки, которые особенно полезны при программном запуске Copilot CLI.
| Опция | Описание |
|---|---|
-p PROMPT | Выполните запрос в неинтерактивном режиме. CLI запускает подсказку и уходит после завершения. |
-s | Подавлять характеристики и декорации, выдавая только реакцию агента. Идеально подходит для прокладки вывода в скриптах. |
--add-dir=DIRECTORY | Добавьте каталог в список разрешённых путей. Это можно использовать несколько раз для добавления нескольких каталогов. Полезно, когда агенту нужно читать/записывать вне текущей рабочей директории. |
--agent=AGENT | Укажите Пользовательский агент для использования. |
`--allow-all` (или `--yolo`) | Разрешите CLI все права. Эквивалентно `--allow-all-tools --allow-all-paths --allow-all-urls`. |
| --allow-all-paths | Полностью отключите проверку пути по файлу. Это более простая альтернатива, чем --add-dir когда ограничения по пути не нужны. |
| --allow-all-tools | Разрешить каждому инструменту работать без явного разрешения для каждого инструмента. |
| --allow-all-urls | Разрешить доступ ко всем URL без явного разрешения для каждого URL. |
| --allow-tool=TOOL ... | Избирательно предоставляйте разрешение на конкретный инструмент. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
| --allow-url=URL ... | Позвольте агенту получить определённый URL или домен. Полезно, когда рабочий процесс требует веб-доступа к известным конечным точкам. Для нескольких URL используйте список с кавычками, разделёнными запятыми. |
| --deny-tool=TOOL ... | Откажитесь от конкретного инструмента. Полезно для ограничения возможностей агента в закрытом рабочем процессе. Для множества инструментов используйте список с кавычками, разделёнными запятыми. |
| --model=MODEL | Выберите модель ИИ (например gpt-5.2 , или claude-sonnet-4.6). Полезно для закрепления модели в воспроизводимых рабочих процессах. См. раздел «Выбор модели » ниже. |
| --no-ask-user | Предотвратите паузу агента для получения дополнительного пользовательского ввода. |
| --secret-env-vars=VAR ... | Переменная среды, значение которой вы хотите скрыть в выводе. Для множества переменных используйте список с кавычками, разделёнными запятыми. Это необходимо для предотвращения раскрытия секретов в логах. Значения в GITHUB_TOKEN переменных и COPILOT_GITHUB_TOKEN среды по умолчанию заредактированы. |
| --share=PATH | Экспортируйте транскрипт сессии в файл markdown после неинтерактивного завершения (по умолчанию )../copilot-session-<ID>.md Полезно для аудита или архивирования того, что сделал агент. Обратите внимание, что расшифровки сессий могут содержать конфиденциальную информацию. |
| --share-gist | Опубликуйте расшифровку сессии в виде секретного GitHub после завершения. Удобно для обмена результатами CI. Обратите внимание, что расшифровки сессий могут содержать конфиденциальную информацию. |
Инструменты для этой --allow-tool опции
С помощью этой --allow-tool опции можно задать различные типы инструментов.
| Такой инструмент | Что он контролирует |
|---|---|
| оболочка | Выполнение команд shell. |
| писать | Создание или изменение файлов. |
| read | Чтение файлов или каталогов. |
| URL-адрес | Загрузка контента по URL. |
| memory | Хранение новых фактов в постоянной памяти агента. Это не влияет на использование существующих воспоминаний. См . раздел AUTOTITLE. |
| MCP-SERVER | Вызов инструментов с конкретного MCP-сервера. Используйте настроенное имя сервера в качестве идентификатора — например, github. См . раздел AUTOTITLE. |
Инструментальные фильтры
Типы shellинструментов , write, urlи MCP позволяют задавать фильтр в скобках, чтобы контролировать, какие именно инструменты разрешены.
| Такой инструмент | Пример | Объяснение примера |
|---|
**раковина** | `shell(git:*)` | Разрешить все подкоманды Git (`git push`, `git status`, и т.д.). |
| | shell(npm test) | Разрешите точную команду npm test. |
|
писать | write(.github/copilot-instructions.md) | Позвольте CLI записывать по этому конкретному пути. |
| | write(README.md) | Позвольте CLI записывать в любой файл, путь которого заканчивается на /README.md. |
|
url | url(github.com) | Разрешите CLI получать доступ к HTTPS-URL на github.com. |
| | url(http://localhost:3000) | Разрешите CLI получить доступ к локальному серверу разработчика с явным протоколом и портом. |
| | url(https://*.github.com) | Позвольте CLI обращаться к любому поддомену GitHub (например, api.github.com). |
| | url(https://docs.github.com/copilot/*) | Разрешите доступ к документации Copilot на этом сайте. |
|
MCP-SERVER | github(create_issue) | Разрешите только инструмент create_issue с github сервера MCP. |
Примечание.
Дикие карты поддерживаются только для shell совпадения всех подкоманд определённого инструмента, а url в начале имени хоста — для совпадения с любым поддоменом, или в конце пути для совпадения с любым суффиксом пути — как показано в предыдущей таблице.
Переменные среды
Вы можете использовать переменные среды для настройки различных аспектов поведения CLI при программном запуске. Это особенно полезно для настройки конфигурации в рабочих процессах CI/CD или других автоматизированных средах, где не стоит указывать определённые опции напрямую в командной строке.
| Variable | Описание |
|---|---|
COPILOT_ALLOW_ALL | Настройте на true полные разрешения |
COPILOT_MODEL | Задайте модель (например, gpt-5.2, claude-sonnet-4.5) |
COPILOT_HOME | Задайте папку для конфигурационного файла CLI (~/.copilot по умолчанию) |
COPILOT_GITHUB_TOKEN | Токен аутентификации (высший приоритет) |
GH_TOKEN | Токен аутентификации (второй приоритет) |
GITHUB_TOKEN | Токен аутентификации (третий прецедент) |
Для получения полной информации о переменных среды для Copilot CLI используйте команду copilot help environment в вашем терминале.
Выбор модели
Когда вы отправляете запрос в Copilot CLI в неинтерактивном режиме, модель, которую CLI использует для генерации ответа, отображается в выходе ответа (если -sопция , или --silent, не используется).
Вы можете использовать --model опцию, чтобы указать, какую модель ИИ должен использовать CLI. Это позволяет выбрать модель, которая лучше всего соответствует вашему запросу, учитывая такие факторы, как скорость, стоимость и возможности.
Например, для простых задач, таких как объяснение кода или создание резюме, вы можете выбрать быструю, более дешевую модель, например, модель Клода Хайку:
copilot -p "What does this project do?" -s --model claude-haiku-4.5
copilot -p "What does this project do?" -s --model claude-haiku-4.5
Для более сложных задач, требующих более глубокого мышления — например, отладки или рефакторинга кода — вы можете выбрать более мощную модель, например, модель GPT Codex:
copilot -p "Fix the race condition in the worker pool" \ --model gpt-5.3-codex \ --allow-tool='write, shell'
copilot -p "Fix the race condition in the worker pool" \
--model gpt-5.3-codex \
--allow-tool='write, shell'
Примечание.
Вы можете найти строки моделей для всех доступных моделей в описании --model опции при входе copilot help в терминал.
В качестве альтернативы можно установить COPILOT_MODEL переменную среды так, чтобы она указывала модель на время сессии оболочки.
Чтобы сохранить выбор модели между сессиями оболочки, можно установить model ключ в конфигурационном файле CLI. Этот файл находится по адресу ~/.copilot/config.json (или $COPILOT_HOME/.copilot/config.json если вы установили переменную COPILOT_HOME среды). Некоторые модели также позволяют установить уровень усилия для рассуждения, который контролирует, сколько времени модель тратит на размышления перед ответом.
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
{
"model": "gpt-5.3-codex",
"reasoning_effort": "low"
}
Совет
Самый простой способ установить модель в конфигурационном файле — использовать /model команду slash в интерактивной сессии. Выбор, который вы делаете с помощью этой команды, записывается в конфигурационный файл.
Приоритет модели
При определении модели, которую использовать для заданного запроса, CLI проверяет спецификации модели в следующем порядке приоритета (от самого высокого к наименьшему):
- Где используется пользовательский агент: модель, указанная в определении пользовательского агента (если таковая есть).
- Опция командной
--modelстроки. - Переменная среды
COPILOT_MODEL. - Ключ
modelв конфигурационном файле (~/.copilot/config.jsonили$COPILOT_HOME/.copilot/config.json). - Стандартная модель CLI.
Использование кастомных агентов
Вы можете делегировать работу специализированному агенту, используя эту --agent опцию. Дополнительные сведения см. в разделе Создание и использование пользовательских агентов для GitHub Copilot CLI.
В этом примере code-review используется агент. Для этого требуется, чтобы с этим именем был создан пользовательский агент.
copilot -p "Review the latest commit" \
--allow-tool='shell' \
--agent code-review
Дополнительные материалы
-
[AUTOTITLE](/copilot/how-tos/copilot-cli) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)