Интерфейс командной строки (CLI) для GitHub Copilot позволяет использовать Copilot непосредственно из терминала. Дополнительные сведения см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.
Примечание.
GitHub Copilot CLI находится в Общедоступная предварительная версия с защитой данных и может быть изменен.
Предварительные требования
Установите Интерфейс командной строки Copilot. См . раздел AUTOTITLE.
Использование Интерфейс командной строки Copilot
-
В терминале перейдите в папку, содержащую код, с которым вы хотите работать.
-
Введите для
copilotзапуска Интерфейс командной строки Copilot.Copilot попросит подтвердить, что вы доверяете файлам в этой папке.
Внимание
Во время этого сеанса GitHub Copilot CLI Copilot может попытаться считывать, изменять и выполнять файлы под этой папкой. Вы должны продолжать работу только в том случае, если вы доверяете файлам в этом расположении. Дополнительные сведения о доверенных каталогах см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.
-
Выберите один из вариантов:
**1. Да, продолжайте**:Copilot может работать с файлами в этом расположении только для этого сеанса.
**2. Да, и запомните эту папку для будущих сеансов**:Вы доверяете файлам в этой папке для этих и будущих сеансов. При запуске Интерфейс командной строки Copilot из этой папки вам не будет предложено повторно. Выберите этот параметр только в том случае, если вы уверены, что он всегда будет безопасным для Copilot для работы с файлами в этом расположении.
**3. Нет, выход (ESC)**:Завершите сеанс Интерфейс командной строки Copilot.
-
Если вы сейчас не вошли в GitHub, вам будет предложено использовать команду косой
/loginчерты. Введите эту команду и следуйте инструкциям на экране для проверки подлинности. -
Введите запрос в CLI.
Это может быть простой вопрос чата или запрос на Copilot для выполнения конкретной задачи, например исправления ошибки, добавления функции в существующее приложение или создания нового приложения.
Примеры запросов см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.
-
Если Copilot хочет использовать средство, которое может изменять или выполнять файлы — например, ,
touch,chmod``nodeилиsed, он попросит утвердить использование средства.Выберите один из вариантов:
**1. Да**:Разрешить Copilot использовать это средство. При следующем использовании этого средства Copilot будет попросить вас утвердить его еще раз.
**2. Да, а затем утвердите TOOL для остальной части выполняемого сеанса**:Разрешить Copilot использовать это средство ( с любыми параметрами) без запроса еще раз для остальной части текущего сеанса. Любые ожидающие параллельные запросы разрешения того же типа будут автоматически одобрены. Вам придется снова утвердить команду в будущих сеансах.
Выбор этой опции полезен для многих инструментов — например
chmod, — так как он позволяет избежать необходимости многократно одобрять похожие команды в одной и той же сессии. Однако будьте осведомлены о последствиях для безопасности этого варианта. Например, выбор этой опции для командыrmпозволит Copilot удалить любой файл из текущего каталога или его подкаталогов без вашего одобрения.**3. Нет, и сообщите Copilot, что делать по-другому (Esc)**:Copilot не будет выполнять команду. Вместо этого она завершает текущую операцию и ожидает следующего запроса. Вы можете сообщить Copilot продолжить задачу, но с помощью другого подхода.
Например, если вы попросите Copilot создать скрипт bash, но не хотите использовать скрипт Copilot предлагает, можно остановить текущую операцию и ввести новый запрос, например:
Continue the previous task but include usage instructions in the scriptКогда вы отклоняете запрос на разрешение инструмента, вы также можете дать Copilot встроенную обратную связь об отклонении, чтобы он мог адаптировать свой подход, не останавливаясь полностью.
Permissions
Интерфейс командной строки Copilot использует систему разрешений для контроля доступа к путям и URL. Иногда проверка прав на пути и URL использует эвристическое обнаружение, которое имеет ограничения, о которых нужно знать.
Разрешения пути
Разрешения на пути определяют, к какому каталогу и файлам Copilot могут обращаться. По умолчанию Интерфейс командной строки Copilot может получить доступ к текущему рабочему каталогу, её подкаталогам и временному директорию системы.
Разрешения на пути применяются к командам shell, операциям с файлами (создание, редактирование, просмотр) и инструменты поиска (например grep , шаблоны и шаблоны глобов). Для команд shell пути эвристически извлекаются путём токенизации текста команд и идентификации токенов, похожих на пути.
Предупреждение
Обнаружение пути для команд shell имеет ограничения:
- Пути, встроенные в сложные конструкции оболочек, могут не быть обнаружены.
- Разворачивается только определённый набор переменных среды (
HOME,TMPDIR,PWD, и подобное). Пользовательские переменные, такие$MY_PROJECT_DIRкак не расширяются и могут быть некорректно проверены. - Символические ссылки разрешаются для существующих файлов, но не для создаваемых файлов.
Чтобы отключить верификацию пути, используйте --allow-all-paths флаг при запуске Интерфейс командной строки Copilot.
Разрешения URL
Права на URL управляют, к каким внешним URL Copilot может получить доступ. По умолчанию все URL-адреса требуют одобрения перед предоставлением доступа.
Права на URL применяются к web_fetch инструменту и кураторскому списку команд shell, которые обращаются к сети (например curl, , wget, и fetch). Для команд shell URL извлекаются с помощью шаблонов regex.
Предупреждение
Обнаружение URL для команд shell имеет ограничения:
- URL-адреса в содержимом файлов, конфигурационных файлах или переменных среды, прочитанных командами, не обнаруживаются.
- Обфусцированные URL (такие как разделённые строки или escape-последовательности) могут не быть обнаружены.
- HTTP и HTTPS рассматриваются как разные протоколы и требуют отдельного одобрения.
Чтобы отключить проверку URL, используйте флаг.--allow-all-urls Для предварительного одобрения конкретных доменов используйте --allow-url <domain> (например, --allow-url github.com).
Советы
Оптимизируйте работу с Интерфейс командной строки Copilot со следующими советами.
Остановка выполняемой в настоящее время операции
Если вы введете запрос, а затем решите, что вы хотите остановить Copilot от завершения задачи в то время как она по-прежнему называется "Мышление", нажмите клавишу ESC.
Используйте режим плана
Режим планирования позволяет сотрудничать с Copilot над планом реализации до написания кода. Нажмите Shift+Tab , чтобы переключаться в режим плана и входить из него.
Ведите разговор, пока Copilot думает
Вы можете взаимодействовать с Copilot, пока он думает. Отправляйте последующие сообщения, чтобы направить разговор в другом направлении, или поставьте дополнительные инструкции для Copilot для обработки после завершения текущего ответа.
Добавление определенного файла в запрос
Чтобы добавить определенный файл в запрос, используйте @ относительный путь к файлу. Пример: Explain @config/ci/ci-required-checks.yml или Fix the bug in @src/app.js. Это добавляет содержимое файла в запрос в качестве контекста для Copilot.
При вводе пути к файлу соответствующие пути отображаются под полем запроса. Используйте клавиши со стрелками, чтобы выбрать путь и нажать клавишу TAB , чтобы завершить путь в запросе.
Работа с файлами в другом расположении
Чтобы выполнить задачу, Copilot может потребоваться работать с файлами, находящимися за пределами текущего рабочего каталога. Если запрос, введенный в интерактивном сеансе, требует Copilot для изменения файла за пределами текущего расположения, вам будет предложено утвердить доступ к каталогу файла.
Вы также можете добавить доверенный каталог вручную с помощью команды косой черты:
/add-dir /path/to/directory
Если все файлы, с которыми вы хотите работать, находятся в разных местах, вы можете переключить текущую рабочую директорию без запуска новой сессии Интерфейс командной строки Copilot, используя команды /cwd или /cd slash:
/cwd /path/to/directory
Выполнение команд оболочки
Вы можете добавить в начало ввода ! команду оболочки для непосредственного выполнения команд оболочки без вызова модели.
!git clone https://github.com/github/copilot-cli
Делегируйте задачи Агент кодирования Copilot
Команда delegate позволяет отправить текущую сессию в Агент кодирования Copilot на GitHub. Это позволяет вам передать работу, сохраняя при этом весь контекст Copilot, необходимых для выполнения вашей задачи.
Вы можете делегировать задачу с помощью команды slash, за которой следует подсказка:
/delegate complete the API integration tests and fix any failing edge cases
Альтернативно, добавьте к запросу & для делегирования его:
& complete the API integration tests and fix any failing edge cases
Copilot попросит зафиксировать любые ваши непроиндексированные изменения в качестве контрольной точки в новой ветке, которую он создает. Агент кодирования Copilot откроет черновик запроса на вытягивание, внесет изменения в фоновом режиме и запросит у вас проверку.
Copilot предоставит ссылку на запрос на вытягивание и сессию агента на GitHub как только начнется сессия.
Возобновление интерактивного сеанса
Вы можете использовать --resume командную строку или /resume команду слэш, чтобы переключаться и возобновлять локальные и удалённые интерактивные сессии, что позволит продолжить с того места, где остановились в существующем контексте. Вы можете запустить сессию Агент кодирования Copilot на GitHub, а затем использовать GitHub Copilot CLI, чтобы перенести эту сессию в вашу локальную среду.
Вы можете быстро возобновить последнюю закрытую локальную сессию, используя опцию командной --continue строки.
Использование пользовательских инструкций
Вы можете повысить производительность Copilot, добавив пользовательские инструкции в репозиторий, в который вы работаете. Пользовательские инструкции — это описания естественного языка, сохраненные в файлах Markdown в репозитории. Они автоматически включаются в запросы, которые вы вводите во время работы в этом репозитории. Это помогает Copilot лучше понять контекст проекта и как реагировать на запросы.
Интерфейс командной строки Copilot поддерживает:
- Инструкции по всему репозиторию
.github/copilot-instructions.mdв файле. - Файлы инструкций для конкретного пути:
.github/instructions/**/*.instructions.md - Файлы агента, такие как
AGENTS.md.
Дополнительные сведения см. в разделе Добавление пользовательских инструкций репозитория для GitHub Copilot.
Use Пользовательские агенты
Пользовательские агенты — это специализированные версии Агент кодирования Copilot, которые вы можете настроить в соответствии со своими уникальными рабочими процессами, соглашениями о кодировании и сценариями использования. Пользовательские агенты определяются с помощью файлов Markdown, называемых Профили агентов, которые определяют подсказки, инструменты и серверы MCP.
GitHub Copilot CLI включает стандартную группу Пользовательские агенты для обычных задач:
| Агент | Description |
|---|---|
| Исследовать | Выполняет быстрый анализ кодовой базы, позволяя задавать вопросы о вашем коде, не добавляя к основному контексту. |
| Задача | Выполняет команды, такие как тесты и сборки, предоставляя краткие обзоры успеха и полный результат при неудаче. |
| Plan | Анализирует зависимости и структуру для создания планов внедрения, помогая понять, как подходить к сложной функции или задаче рефакторинга перед внесением изменений. |
| Обзор кода | Обзоры меняются, делая акцент только на выявление реальных проблем, минимизируя шум. |
При создании собственного Пользовательские агенты, Интерфейс командной строки Copilot поддерживает загрузку Пользовательские агенты из следующих точек:
| Тип | Местоположение | Scope |
|---|---|---|
| User-level Пользовательский агент | Локальный ~/.copilot/agents каталог | Все проекты |
| Repository-level Пользовательский агент |
`.github/agents` в локальных и удаленных репозиториях | Текущий проект |
| Организация и уровень предприятия Пользовательский агент |
/agents Каталог в .github-private репозитории в организации или предприятии | Все проекты в вашей организации и корпоративной учетной записи |
В случае конфликтов имен агент системного уровня переопределяет агент уровня репозитория, а агент уровня репозитория будет переопределять агент уровня организации.
Пользовательские агенты можно использовать тремя способами:
-
С помощью команды slash в интерактивном режиме выбрать из списка доступных Пользовательские агенты:
/agent -
Вызов Пользовательский агент непосредственно в командной строке:
Use the refactoring agent to refactor this code blockCopilot автоматически определит агента, которого вы хотите использовать.
-
Указание Пользовательский агент, которые вы хотите использовать, с помощью опции командной строки. Рассмотрим пример.
copilot --agent=refactor-agent --prompt "Refactor this code block"
Дополнительные сведения см. в разделе Создание пользовательских агентов.
Использование навыков
Вы можете создавать навыки, которые улучшат способность Copilot выполнять специализированные задачи с помощью инструкций, скриптов и ресурсов.
Дополнительные сведения см. в разделе О навыках агента.
Добавление сервера MCP
Интерфейс командной строки Copilot поставляется с уже настроенным сервером MCP GitHub MCP. Этот сервер MCP позволяет взаимодействовать с ресурсами на GitHub.com, например, что позволяет объединять запросы на вытягивание из ИНТЕРФЕЙСА командной строки.
Чтобы расширить функциональные возможности, доступные для вас в Интерфейс командной строки Copilot, можно добавить дополнительные серверы MCP:
-
Используйте следующую команду косой черты:
/mcp add -
Введите сведения о сервере MCP, который вы хотите добавить, с помощью клавиши TAB для перемещения между полями.
-
Нажмите клавиши CTRL+S, чтобы сохранить сведения.
Сведения о настроенных серверах MCP хранятся в mcp-config.json файле, расположенном по умолчанию в каталоге ~/.copilot . Это расположение можно изменить, задав XDG_CONFIG_HOME переменную среды. Сведения о структуре JSON определения сервера см. в разделе Расширение агента кода GitHub Copilot с помощью протокола контекста модели (MCP).
Управление контекстом
Интерфейс командной строки Copilot предоставляет несколько команд слэш, помогающих отслеживать и управлять контекстным окном:
-
`/usage`: Позволяет просмотреть статистику вашей сессии, включая:- Количество премиум-запросов, использованных в текущей сессии
- Продолжительность сессии
- Общее количество редактированных строк кода
- Разбивка использования токенов по моделям
-
`/context`: Предоставляет визуальный обзор текущего использования токена -
`/compact`: Ручное сжимает историю переписки, чтобы освободить контекстное пространство
GitHub Copilot CLI автоматически сжимает вашу историю в фоне, когда разговор приближается к 95% лимита токенов, не прерывая ваш рабочий процесс.
Просмотр изменений кода
Вы можете использовать /review команду slash, чтобы Copilot анализировали изменения кода, не выходя из CLI. Это позволяет быстро получить обратную связь по изменениям перед принятием решения.
Включить все права
В ситуациях, когда вы доверяете Copilot свободной работе, вы можете использовать --allow-all флаги OR --yolo , чтобы одновременно включить все права доступа.
Видимость с переключением рассуждения
Нажмите Ctrl+T , чтобы показать или скрыть процесс рассуждений модели во время генерации ответа. Эта настройка сохраняется на протяжении всех сессий, позволяя наблюдать, как Copilot работает при решении сложных задач.
Подробнее
Полный список параметров командной строки и команд косой черты, которые можно использовать с Интерфейс командной строки Copilot, выполните одно из следующих действий:
- Введите
?поле запроса в интерактивном сеансе. - Введите
copilot helpв терминале.
Дополнительные сведения используют одну из следующих команд в терминале:
-
**Параметры конфигурации**:copilot help configПараметры конфигурации можно настроить, изменив
config.jsonфайл, расположенный по умолчанию в каталоге~/.copilot. Это расположение можно изменить, задавXDG_CONFIG_HOMEпеременную среды. -
**Переменные среды, влияющие** на Интерфейс командной строки Copilot:copilot help environment -
**Доступные уровни** ведения журнала:copilot help logging -
** ** Разрешения для разрешения или запрета использования средства:copilot help permissions
Обратная связь
Если у вас есть отзывы о GitHub Copilot CLI, сообщите нам, используя /feedback команду косой черты в интерактивном сеансе и выбрав один из вариантов. Вы можете выполнить частный опрос отзывов, отправить отчет об ошибке или предложить новую функцию.