# GitHub Copilot CLI программный справочник

Найдите варианты программного запуска Второй пилот CLI .

Помимо интерактивного запуска Второй пилот CLI , вы также можете передавать запрос напрямую в CLI одной командой, не входя в интерактивную сессию. Это позволяет программно использовать Copilot скрипты, CI/CD конвейеры и автоматизацию. Дополнительные сведения см. в разделе [Программный запуск GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically).

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

Чтобы увидеть полный список доступных опций, смотрите [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options) или введите следующую команду в вашем терминале:

```shell copy
copilot help
```

## Параметры командной строки

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

| Опция                        | Описание                                                                                                                                                                                                                                                                                                      |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-p PROMPT`                  | Выполните запрос в неинтерактивном режиме. CLI запускает подсказку и уходит после завершения.                                                                                                                                                                                                                 |
| `-s`                         | Подавлять характеристики и декорации, выдавая только реакцию агента. Идеально подходит для прокладки вывода в скриптах.                                                                                                                                                                                       |
| `--add-dir=DIRECTORY`        | Добавьте каталог в список разрешённых путей. Это можно использовать несколько раз для добавления нескольких каталогов. Полезно, когда агенту нужно читать/записывать вне текущей рабочей директории.                                                                                                          |
| `--agent=AGENT`              | Укажите a Пользовательский агент для использования.                                                                                                                                                                                                                                                           |
| `--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`). Полезно для закрепления модели в воспроизводимых рабочих процессах. См. [раздел «Выбор модели](#choosing-a-model) » ниже.                                                                                                                  |
| `--no-ask-user`              | Предотвратите паузу агента для получения дополнительного пользовательского ввода.                                                                                                                                                                                                                             |
| `--secret-env-vars=VAR ...`  | Переменная среды, значение которой вы хотите скрыть в выводе. Для множества переменных используйте список с кавычками, разделёнными запятыми. Это необходимо для предотвращения раскрытия секретов в логах. Значения в `GITHUB_TOKEN` переменных и `COPILOT_GITHUB_TOKEN` среды по умолчанию заредактированы. |
| `--share=PATH`               | Экспортируйте транскрипт сессии в файл markdown после неинтерактивного завершения (по умолчанию ).`./copilot-session-<ID>.md` Полезно для аудита или архивирования того, что сделал агент. Обратите внимание, что расшифровки сессий могут содержать конфиденциальную информацию.                             |
| `--share-gist`               | Опубликуйте расшифровку сессии в виде секретного GitHub gist после её завершения. Удобно для обмена результатами CI. Обратите внимание, что расшифровки сессий могут содержать конфиденциальную информацию.                                                                                                   |

## Инструменты для этой `--allow-tool` опции

С помощью этой `--allow-tool` опции можно задать различные типы инструментов.

| Такой инструмент | Что он контролирует                                                                                                                                                                                                           |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| оболочка         | Выполнение команд shell.                                                                                                                                                                                                      |
| писать           | Создание или изменение файлов.                                                                                                                                                                                                |
| read             | Чтение файлов или каталогов.                                                                                                                                                                                                  |
| URL-адрес        | Загрузка контента по URL.                                                                                                                                                                                                     |
| memory           | Хранение новых фактов в постоянной памяти агента. Это не влияет на использование существующих воспоминаний. См [. раздел AUTOTITLE](/ru/copilot/concepts/agents/copilot-memory).                                              |
| MCP-SERVER       | Вызов инструментов с конкретного MCP-сервера. Используйте настроенное имя сервера в качестве идентификатора — например, `github`. См [. раздел AUTOTITLE](/ru/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers). |

### Инструментальные фильтры

Типы `shell`инструментов , `write`, `url`и MCP позволяют задавать фильтр в скобках, чтобы контролировать, какие именно инструменты разрешены.

<!-- markdownlint-disable -->

| Такой инструмент | Пример                                   | Объяснение примера                                                                           |
| ---------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------- |
| **раковина**     | `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.                           |

<!-- markdownlint-enable -->

> \[!NOTE]
> Дикие карты поддерживаются только для `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`         | Токен аутентификации (третий прецедент)                                   |

Для получения полной информации о переменных окружения Второй пилот CLIиспользуйте команду `copilot help environment` в вашем терминале.

## Выбор модели

Когда вы отправляете запрос в Второй пилот CLI неинтерактивном режиме, модель, которую CLI использует для генерации ответа, отображается в выходе ответа (если `-s`опция , или `--silent`, не используется).

Вы можете использовать `--model` опцию, чтобы указать, какую модель ИИ должен использовать CLI. Это позволяет выбрать модель, которая лучше всего соответствует вашему запросу, учитывая такие факторы, как скорость, стоимость и возможности.

Например, для простых задач, таких как объяснение кода или создание резюме, вы можете выбрать быструю, более дешевую модель, например, модель Клода Хайку:

```bash copy
copilot -p "What does this project do?" -s --model claude-haiku-4.5
```

Для более сложных задач, требующих более глубокого мышления — например, отладки или рефакторинга кода — вы можете выбрать более мощную модель, например, модель GPT Codex:

```bash copy
copilot -p "Fix the race condition in the worker pool" \
  --model gpt-5.3-codex \
  --allow-tool='write, shell'
```

> \[!NOTE]
> Вы можете найти строки моделей для всех доступных моделей в описании `--model` опции при входе `copilot help` в терминал.

В качестве альтернативы можно установить `COPILOT_MODEL` переменную среды так, чтобы она указывала модель на время сессии оболочки.

Чтобы сохранить выбор модели между сессиями оболочки, можно установить `model` ключ в конфигурационном файле CLI. Этот файл находится по адресу `~/.copilot/config.json` (или `$COPILOT_HOME/.copilot/config.json` если вы установили переменную `COPILOT_HOME` среды). Некоторые модели также позволяют установить уровень усилия для рассуждения, который контролирует, сколько времени модель тратит на размышления перед ответом.

```json copy
{
  "model": "gpt-5.3-codex",
  "reasoning_effort": "low"
}
```

> \[!TIP]
> Самый простой способ установить модель в конфигурационном файле — использовать `/model` команду slash в интерактивной сессии. Выбор, который вы делаете с помощью этой команды, записывается в конфигурационный файл.

### Приоритет модели

При определении модели, которую использовать для заданного запроса, CLI проверяет спецификации модели в следующем порядке приоритета (от самого высокого к наименьшему):

* Где используется пользовательский агент: модель, указанная в определении пользовательского агента (если таковая есть).
* Опция командной `--model` строки.
* Переменная среды `COPILOT_MODEL`.
* Ключ `model` в конфигурационном файле (`~/.copilot/config.json` или `$COPILOT_HOME/.copilot/config.json`).
* Стандартная модель CLI.

## Использование кастомных агентов

Вы можете делегировать работу специализированному агенту, используя эту `--agent` опцию. Дополнительные сведения см. в разделе [Создание и использование пользовательских агентов для GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli).

В этом примере `code-review` используется агент. Для этого требуется, чтобы с этим именем был создан пользовательский агент.

```bash
copilot -p "Review the latest commit" \
  --allow-tool='shell' \
  --agent code-review
```

## Дополнительные материалы

* [GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli)
* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference)
* [Ссылка на плагин GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-plugin-reference)