Skip to main content

Использование интерфейса командной строки GitHub Copilot

Узнайте, как использовать GitHub Copilot из командной строки.

Кто может использовать эту функцию?

GitHub Copilot CLI доступен для планов GitHub Copilot Pro, GitHub Copilot Pro+, Бизнес GitHub Copilot и GitHub Copilot Enterprise планов. Если вы получаете Copilot из организации, политика Интерфейс командной строки Copilot должна быть включена в параметрах организации.

Интерфейс командной строки (CLI) для GitHub Copilot позволяет использовать Copilot непосредственно из терминала. Дополнительные сведения см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.

Примечание.

GitHub Copilot CLI находится в Общедоступная предварительная версия с защитой данных и может быть изменен.

Предварительные требования

Установите Интерфейс командной строки Copilot. См . раздел AUTOTITLE.

Использование Интерфейс командной строки Copilot

  1. В терминале перейдите в папку, содержащую код, с которым вы хотите работать.

  2. Введите для copilot запуска Интерфейс командной строки Copilot.

    Copilot попросит подтвердить, что вы доверяете файлам в этой папке.

    Внимание

    Во время этого сеанса GitHub Copilot CLI Copilot может попытаться считывать, изменять и выполнять файлы под этой папкой. Вы должны продолжать работу только в том случае, если вы доверяете файлам в этом расположении. Дополнительные сведения о доверенных каталогах см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.

  3. Выберите один из вариантов:

           **1. Да, продолжайте**:
    

    Copilot может работать с файлами в этом расположении только для этого сеанса.

           **2. Да, и запомните эту папку для будущих сеансов**:
    

    Вы доверяете файлам в этой папке для этих и будущих сеансов. При запуске Интерфейс командной строки Copilot из этой папки вам не будет предложено повторно. Выберите этот параметр только в том случае, если вы уверены, что он всегда будет безопасным для Copilot для работы с файлами в этом расположении.

           **3. Нет, выход (ESC)**:
    

    Завершите сеанс Интерфейс командной строки Copilot.

  4. Если вы сейчас не вошли в GitHub, вам будет предложено использовать команду косой /login черты. Введите эту команду и следуйте инструкциям на экране для проверки подлинности.

  5. Введите запрос в CLI.

    Это может быть простой вопрос чата или запрос на Copilot для выполнения конкретной задачи, например исправления ошибки, добавления функции в существующее приложение или создания нового приложения.

    Примеры запросов см. в разделе Сведения о интерфейсе командной строки GitHub Copilot.

  6. Если 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 block
    

    Copilot автоматически определит агента, которого вы хотите использовать.

  • Указание Пользовательский агент, которые вы хотите использовать, с помощью опции командной строки. Рассмотрим пример.

    copilot --agent=refactor-agent --prompt "Refactor this code block"
    

Дополнительные сведения см. в разделе Создание пользовательских агентов.

Использование навыков

Вы можете создавать навыки, которые улучшат способность Copilot выполнять специализированные задачи с помощью инструкций, скриптов и ресурсов.

Дополнительные сведения см. в разделе О навыках агента.

Добавление сервера MCP

Интерфейс командной строки Copilot поставляется с уже настроенным сервером MCP GitHub MCP. Этот сервер MCP позволяет взаимодействовать с ресурсами на GitHub.com, например, что позволяет объединять запросы на вытягивание из ИНТЕРФЕЙСА командной строки.

Чтобы расширить функциональные возможности, доступные для вас в Интерфейс командной строки Copilot, можно добавить дополнительные серверы MCP:

  1. Используйте следующую команду косой черты:

    /mcp add
    
  2. Введите сведения о сервере MCP, который вы хотите добавить, с помощью клавиши TAB для перемещения между полями.

  3. Нажмите клавиши 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 команду косой черты в интерактивном сеансе и выбрав один из вариантов. Вы можете выполнить частный опрос отзывов, отправить отчет об ошибке или предложить новую функцию.