Интерфейс командной строки (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
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.
Добавление определенного файла в запрос
Чтобы добавить определенный файл в запрос, используйте @ относительный путь к файлу. Пример: 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 /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
Copilot попросит зафиксировать любые ваши непроиндексированные изменения в качестве контрольной точки в новой ветке, которую он создает. Агент кодирования Copilot откроет черновик запроса на вытягивание, внесет изменения в фоновом режиме и запросит у вас проверку.
Copilot предоставит ссылку на запрос на вытягивание и сессию агента на GitHub как только начнется сессия.
Возобновление интерактивного сеанса
Вы можете использовать опцию --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% лимита токенов. Когда у вас осталось менее 20% лимита токенов модели, появляется предупреждение, сообщающее, что контекст будет урезан, когда лимит достигнут.
Подробнее
Полный список параметров командной строки и команд косой черты, которые можно использовать с Интерфейс командной строки 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 команду косой черты в интерактивном сеансе и выбрав один из вариантов. Вы можете выполнить частный опрос отзывов, отправить отчет об ошибке или предложить новую функцию.