Введение
Интерфейс командной строки (CLI) GitHub Copilot позволяет использовать Copilot его напрямую с терминала. Вы можете использовать его для ответов на вопросы, написания и отладки кода, а также взаимодействия с GitHub.com. Например, вы можете попросить Copilot внести изменения в проект и создать pull request.
GitHub Copilot CLI даёт вам быстрый доступ к мощному агенту ИИ, не выходя из терминала. Это поможет вам быстрее выполнять задачи, работая от вашего имени, и вы сможете итеративно GitHub Copilot CLI создавать нужный код.
Поддерживаемые операционные системы
- Линукс
- macOS
- Windows внутри Powershell и подсистема Windows для Linux (WSL)
Инструкции по установке см. в разделе Установка GitHub Copilot CLI.
Режимы использования
GitHub Copilot CLI имеет два пользовательских интерфейса: интерактивный и программный.
Интерактивный интерфейс
Чтобы начать интерактивную сессию, введите copilot. В рамках интерактивной сессии вы можете пообщаться с Copilot. Вы можете предложить Copilot выполнить одну или несколько задач, давать обратную связь и направлять направление работы.

Интерактивный интерфейс имеет два режима. Помимо стандартного режима запрос/выполнения, есть и режим планирования , в котором Copilot можно построить структурированный план реализации задачи, которую вы хотите выполнить.
Нажмите Shift+Tab , чтобы переключаться между режимами. В режиме планирования Copilot он анализирует ваш запрос, задаёт уточняющие вопросы для понимания объёма и требований, а также разрабатывает план перед написанием кода. Это помогает выявлять недоразумения до написания кода и сохранять контроль над сложными, многоступенчатыми задачами.
Программный интерфейс
Вы также можете передать CLI одну строку прямо в командной строке. CLI выполняет задание и затем выходит.
Чтобы использовать CLI программно, включите -p в команду опцию OR --prompt . Чтобы позволить Copilot изменять и выполнять файлы, следует использовать один из вариантов одобрения, описанных далее в статье — см . раздел «Разрешить использование инструментов без ручного одобрения ). Рассмотрим пример.
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'
Кроме того, можно использовать скрипт для вывода параметров командной строки и передачи copilotэтого значения. Рассмотрим пример.
./script-outputting-options.sh | copilot
./script-outputting-options.sh | copilot
Внимание
Если вы используете опцию автоматического одобрения, например --allow-all-tools, Copilot имеет такой же доступ, как и вы, к файлам на вашем компьютере, и может запускать любые shell-команды, которые вы можете выполнить, не получая предварительного одобрения. Ознакомьтесь с рекомендациями по безопасности в этой статье.
Сценарии использования GitHub Copilot CLI
В следующих разделах приведены примеры задач, которые можно выполнить с GitHub Copilot CLIпомощью .
Локальные задачи
-
Внутри каталога проекта можно попросить Copilot внести изменения в код проекта. Рассмотрим пример.
Change the background-color of H1 headings to dark blueCopilot находит CSS-файл, где определены заголовки H1, и меняет цветовое значение. -
Попросите Copilot рассказать об изменениях в файле:
Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made -
Используйте Copilot их для улучшения кода или документации в вашем проекте.
-
Suggest improvements to content.js -
Rewrite the readme in this project to make it more accessible to newcomers
-
-
Используется Copilot для помощи в выполнении операций с Git.
-
Commit the changes to this repo -
Revert the last commit, leaving the changes unstaged
-
-
Попросите Copilot создать приложение с нуля — например, в качестве доказательства концепции.
Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser. -
Попросите Copilot объяснить, почему внесённое изменение не работает как ожидалось, или попросите Copilot исправить проблему с последним изменением. Рассмотрим пример.
You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"
Задачи, связанные с GitHub.com
-
Получите и откажите данные о своей работе из GitHub.com.
-
List my open PRsЗдесь отображаются ваши открытые pull requests из любого репозитория на GitHub. Для получения более конкретных результатов добавьте имя репозитория в запрос:
-
List all open issues assigned to me in OWNER/REPO
-
-
Попросите Copilot поработать над проблемой:
I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch. -
Попросите Copilot внести изменения в файлы и выпустите pull request на GitHub.com.
-
In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub. -
Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"
Copilot создаёт pull request на GitHub.com от вашего имени. Вы помечены как автор запроса на вытягивание.
-
-
Попросите Copilot создать для вас проблему на GitHub.com.
Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it. -
Попросите Copilot проверить изменения кода в pull requeste.
Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.Copilot отвечает в CLI кратким описанием всех обнаруженных проблем.
-
Управление pull-запросами из GitHub Copilot CLI.
-
Merge all of the open PRs that I've created in octo-org/octo-repo -
Close PR #11 on octo-org/octo-repo
-
-
Найдите определенные типы проблем.
Use the GitHub MCP server to find good first issues for a new team member to work on from octo-org/octo-repoПримечание.
Если вы знаете, что конкретный MCP-сервер может выполнить определённую задачу, то указание её в запросе может помочь Copilot получить нужные результаты.
-
Найдите конкретные GitHub Actions рабочие процессы.
List any Actions workflows in this repo that add comments to PRs -
Создайте рабочий GitHub Actions процесс.
Branch off from main and create a GitHub Actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.
Направлять разговор
Вы можете взаимодействовать Copilot со мной во время мыслей, чтобы направить разговор:
-
**Поставьте дополнительные сообщения в очередь**: отправьте последующие сообщения, чтобы направить разговор в другом направлении, или поставьте в очередь дополнительные инструкции Copilot для обработки после завершения текущего ответа. Это делает разговоры более естественными и помогает контролировать ситуацию. -
**Встроенная обратная связь при отказе**: Когда вы отклоняете запрос на разрешение инструмента, вы можете оставить Copilot обратную связь по поводу отказа, чтобы он мог адаптировать свой подход, не останавливаясь полностью. Это делает разговор более естественным, когда вы хотите отвлечься Copilot от определённых действий.
Автоматическое управление контекстом
GitHub Copilot CLI Автоматически управляет контекстом вашего разговора:
*
Автоуплотнение: Когда разговор приближается к 95% лимита токена, Copilot история автоматически сжимается в фоне, не прерывая процесс. Это позволяет проводить практически бесконечное количество сессий.
*
Ручное управление: используйте /compact для ручного сжатия контекста в любое время. Нажмите Escape , чтобы отменить, если передумаете.
*
Визуализировать использование: команда /context показывает подробный разбивку использования токенов, чтобы вы могли понять, как используется контекстное окно.
Кастомизация GitHub Copilot CLI
Вы можете настраивать GitHub Copilot CLI его несколькими способами:
-
**Пользовательские инструкции**: Пользовательские инструкции позволяют дать Copilot дополнительный контекст вашему проекту, а также о том, как строить, тестировать и проверять его изменения. Теперь все пользовательские файлы инструкций объединяются, а не используют резервные варианты на основе приоритетов. Дополнительные сведения см. в разделе [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions). -
**Серверы Model Context Protocol (MCP**): MCP-серверы позволяют предоставлять Copilot доступ к различным источникам данных и инструментам. Дополнительные сведения см. в разделе [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server). -
** Пользовательские агенты **: Пользовательские агенты позволяет создавать разные специализированные версии для Copilot разных задач. Например, вы можете Copilot стать экспертом фронтенд-инженера, следуя рекомендациям вашей команды. GitHub Copilot CLI включает специализированные Пользовательские агенты задачи, которым он автоматически делегирует общие задачи. Дополнительные сведения см. в разделе [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents). -
**Крючки**: Хуки позволяют выполнять пользовательские команды shell в ключевых точках выполнения агента, добавляя проверку, логирование, сканирование безопасности или автоматизацию рабочих процессов. См [. раздел AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-hooks). -
**Навыки**: Навыки позволяют улучшить способность Copilot выполнять специализированные задачи с помощью инструкций, скриптов и ресурсов. Дополнительные сведения см. в разделе [AUTOTITLE](/copilot/concepts/agents/about-agent-skills). -
** Copilot Memory **: Copilot Memory позволяет Copilot построить устойчивое понимание вашего репозитория, храня «воспоминания» — это фрагменты информации о конвенциях, паттернах и предпочтениях кодирования, которые Copilot выводятся по мере работы. Это снижает необходимость многократно объяснять контекст в ваших подсказках и делает будущие сессии более продуктивными. Дополнительные сведения см. в разделе [AUTOTITLE](/copilot/concepts/agents/copilot-memory).
Вопросы безопасности
Когда вы используете Copilot CLI, вы Copilot можете выполнять задачи от вашего имени, например, выполнять или изменять файлы, либо запускать команды shell.
Поэтому всегда нужно учитывать вопросы безопасности при использовании Copilot CLI, так же как при работе с файлами напрямую или запуске команд прямо в терминале. Всегда внимательно просматривайте предложенные команды при Copilot CLI запросе одобрения.
Доверенные каталоги
Доверенные каталоги контролируют, где Copilot CLI можно читать, изменять и выполнять файлы.
Запускайте Copilot CLI только из тех каталогов, которым доверяете. Не стоит использовать Copilot CLI в каталогах, где могут быть исполняемые файлы, которым вы не можете быть уверены. Аналогичным образом, если вы запускаете CLI из каталога, содержащего конфиденциальные или конфиденциальные данные, или файлы, которые вы не хотите изменить, вы можете случайно предоставить эти файлы риску. Обычно не стоит запускать Copilot CLI игру из домашнего каталога.
Ограничение разрешений является эвристичным и GitHub не гарантирует, что все файлы вне доверенных каталогов будут защищены. См. раздел «Снижение рисков».
Когда вы начинаете GitHub Copilot CLI сессию, вас попросят подтвердить, что вы доверяете файлам в каталоге, из которого вы запустили CLI. См . раздел AUTOTITLE.
Разрешенные средства
В первый раз Copilot , когда вам нужно использовать инструмент, который можно использовать для изменения или запуска файла —например, , touch, chmod``nodeилиsed он спросит, хотите ли вы разрешить ему использовать этот инструмент.
Как правило, можно выбрать один из трех вариантов:
1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
**Опция 1** позволяет Copilot выполнить именно эту команду, но только на этот раз. В следующий раз, когда он должен использовать этот инструмент, он попросит вас снова.
**Вариант 2** позволяет Copilot использовать этот инструмент снова, без вашего разрешения, на время текущей сессии. Он будет запрашивать ваше утверждение еще раз в новых сеансах или, если вы возобновляете текущий сеанс в будущем. Если вы выберете этот вариант, вы позволяете Copilot использовать этот инструмент так, как считаете нужным. Например, если Copilot просит разрешить запуск команды `rm ./this-file.txt`, и вы выбираете вариант 2, то Copilot можете выполнить любую `rm` команду (например, `rm -rf ./*`) в текущем запуске этой сессии без вашего одобрения.
**Вариант 3** отменяет предложенную команду и позволяет Copilot попробовать другой подход.
Разрешение использования средств без утверждения вручную
Существует три варианта командной строки, которые вы можете использовать как в интерактивных, так и в программных сессиях, чтобы определить инструменты, которые Copilot можно использовать без вашего одобрения:
-
--allow-all-toolsПозволяет Copilot использовать любой инструмент без вашего одобрения.
Например, эту опцию можно использовать с программным вызовом CLI, чтобы запустить Copilot любую команду. Рассмотрим пример.
copilot -p "Revert the last commit" --allow-all-tools -
--deny-toolЭто предотвращает Copilot использование конкретного инструмента.
Этот параметр имеет приоритет над параметрами и
--allow-all-toolsпараметрами--allow-tool. -
--allow-toolПозволяет Copilot использовать конкретный инструмент без вашего одобрения.
Использование параметров утверждения
Для --deny-tool этих --allow-tool параметров требуется один из следующих аргументов:
-
'shell(COMMAND)'Например,
copilot --deny-tool='shell(rm)'предотвращает Copilot использование любойrmкоманды.Для
gitиghкоманд можно указать определенную подкоманда первого уровня, чтобы разрешить или запретить. Рассмотрим пример.copilot --deny-tool='shell(git push)'Спецификация инструмента является необязательной. Например,
copilot --allow-tool='shell'позволяет Copilot использовать любую команду shell без индивидуального одобрения. -
'write'Этот аргумент разрешает или запрещает средства, отличные от команд оболочки, разрешение на изменение файлов.
Например,
copilot --allow-tool='write'позволяет Copilot редактировать файлы без вашего личного согласия. -
'MCP_SERVER_NAME'Этот аргумент разрешает или запрещает средства на указанном сервере MCP, где
MCP_SERVER_NAMEуказано имя настроенного сервера MCP. Средства с сервера указываются в скобках, используя имя средства, зарегистрированного на сервере MCP. Использование имени сервера без указания средства разрешает или запрещает все средства с этого сервера.Например,
copilot --deny-tool='My-MCP-Server(tool_name)'препятствует Copilot использованию инструмента, вызываемогоtool_nameс MCP-сервера под названиемMy-MCP-Server.Вы можете найти имя MCP-сервера, зайдя
/mcpв интерактивный интерфейс CLI и выбрав сервер из отображаемого списка.
Объединение параметров утверждения
Вы можете использовать комбинацию вариантов одобрения, чтобы точно определить, какие инструменты Copilot можно использовать, не спрашивая вашего одобрения.
Например, чтобы предотвратить Copilot использование rm команд и git push при автоматическом разрешении всех остальных инструментов, используйте следующее:
copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)'
Чтобы предотвратить Copilot использование инструмента tool_name с MCP-сервера с именем My-MCP-Server, но позволить всем другим инструментам с этого сервера использовать без индивидуального одобрения, используйте следующее:
copilot --allow-tool='My-MCP-Server' --deny-tool='My-MCP-Server(tool_name)'
Последствия автоматического утверждения средства
Важно учитывать последствия безопасности использования параметров командной строки утверждения. Эти опции позволяют Copilot выполнять команды, необходимые для выполнения вашего запроса, не давая вам возможности пересмотреть и одобрить их перед выполнением. Хотя это упрощает рабочие процессы и позволяет выполнять бессерверную операцию интерфейса командной строки, это повышает риск непреднамеренных действий, которые могут привести к потере или повреждению данных или другим проблемам безопасности.
Вы можете управлять, какие инструменты Copilot CLI могут использовать, отвечая на подсказки одобрения при Copilot попытке использовать инструмент, указывая права с флагами командной строки или (в интерактивной сессии) используя команды слэш (например /allow-all , и /yolo. См . раздел AUTOTITLE.
Устранение рисков
Вы можете снизить риски, связанные с использованием опций автоматического одобрения, работая Copilot CLI в ограниченной среде — такой как виртуальная машина, контейнер или выделенная система — с строго контролируемыми правами и доступом к сети. Это ограничивает возможные повреждения, которые могут возникнуть при выполнении Copilot команд, которые вы не проверили и не проверили.
Известные ограничения политики MCP сервера
Copilot CLI в настоящее время не может поддерживать следующие политики MCP-сервера на уровне организации:
* MCP-серверы в Copilot, которые определяют, могут ли MCP-серверы вообще использовать .Copilot * URL реестра MCP, который контролирует, с какого реестра Copilot MCP будет использоваться серверы MCP.
Для получения дополнительной информации об этих полисах см. Использование MCP-сервера в вашей компании.
Использование модели
Стандартная модель, используемая .GitHub Copilot CLIКлод Соннет 4.5 GitHub Оставляет за собой право изменить эту модель.
Вы можете изменить используемую GitHub Copilot CLI модель, используя /model команду слэш или --model командную строку. Введите эту команду, затем выберите модель из списка.
Каждый раз, когда вы отправляете запрос в CopilotCopilot CLIинтерактивный интерфейс in и при каждом программном использовании Copilot CLI , ваша ежемесячная квота Copilot премиум-запросов уменьшается на один, умноженный на множитель, указанный в скобках в списке моделей. Например, Claude Sonnet 4.5 (1x) означает, что с этой моделью каждый раз, когда вы отправляете запрос, ваша квота премиум-запросов сокращается на один. Сведения о запросах уровня "Премиум" см. в разделе Запросы в GitHub Copilot.
Использование собственного поставщика моделей
Вы можете настроить Copilot CLI использование собственного провайдера моделей вместо GitHub-hosted моделей. Это позволяет подключаться к совместимым с OpenAI конечной точкой, Azure OpenAI или Anthropic, включая локально запущенные модели, такие как Ollama. Вы настраиваете провайдера модели, используя переменные среды.
| Переменная среды | Описание |
|---|---|
COPILOT_PROVIDER_BASE_URL | Базовый URL API вашего провайдера модели. |
COPILOT_PROVIDER_TYPE | Тип провайдера: openai (по умолчанию), azure, или anthropic. Этот тип работает с любыми конечными точками, openai совместимыми с OpenAI, включая Ollama и vLLM. |
COPILOT_PROVIDER_API_KEY | Ваш API-ключ для аутентификации у провайдера. Не требуется для провайдеров, которые не используют аутентификацию, например, для локального Ollama. |
COPILOT_MODEL | Модель для использования (требуется при использовании пользовательского провайдера). Вы также можете настроить это с помощью --model командной строки. |
Используемые Copilot CLI модели, которые должны поддерживать вызов инструментов (вызов функций) и стриминг. Если модель не поддерживает эти возможности, Copilot CLI появится ошибка. Для наилучших результатов модель должна иметь окно контекста не менее 128 тысяч токенов.
Для подробностей настройки провайдера модели запустите copilot help providers его в терминале.
Использование Copilot CLI через ACP
ACP (Agent Client Protocol) — это открытый стандарт для взаимодействия с агентами ИИ. Он позволяет использовать Copilot CLI его в качестве агента в любых сторонних инструментах, IDE или системах автоматизации, поддерживающих этот протокол.
Дополнительные сведения см. в разделе Copilot CLI ACP сервер.
Обратная связь
Если у вас есть отзывы о GitHub Copilot CLI, сообщите нам, используя /feedback команду косой черты в интерактивном сеансе и выбрав один из вариантов. Вы можете выполнить частный опрос отзывов, отправить отчет об ошибке или предложить новую функцию.
Дополнительные материалы
-
[AUTOTITLE](/copilot/how-tos/set-up/install-copilot-cli) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli) -
[AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/copilot-cli)