Устанавливаем GitHub Copilot CLI в качестве помощника для программирования в терминале Linux

github Copilot CLI позволяет запустить ИИ-помощника для программирования прямо в терминале. В этом руководстве вы узнаете, как установить его в Linux, пройти аутентификацию и запустить первые запросы.

Если вы раньше пользовались Copilot в редакторе кода, то Copilot CLI работает немного по-другому. Он запускается как автономный агент в вашей оболочке, может читать данные из вашего репозитория, планировать изменения, редактировать файлы и выполнять команды за вас — с вашего одобрения на каждом этапе.

Что такое GitHub Copilot CLI

GitHub Copilot CLI — это терминальный агент на базе искусственного интеллекта от GitHub, использующий тот же агентный движок, что и агент кодирования GitHub Copilot, благодаря чему он способен не только отвечать на вопросы. С помощью команды copilot в терминале он может анализировать ваш код, предлагать изменения, редактировать файлы, запускать команды оболочки и даже открывать пулл-реквесты.

Данное руководство было протестировано на Ubuntu 26.04 LTS и Fedora 42. Однако команды должны работать на большинстве современных дистрибутивов Linux, поскольку Copilot CLI распространяется в виде единого бинарного файла без зависимостей, специфичных для конкретного дистрибутива.

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

Необходимые условия

Вам понадобится действующая подписка на GitHub Copilot, поскольку copilot требует её для аутентификации. Вам также понадобится либо curl, либо Node.js вместе с npm, в зависимости от метода установки, который вы выберете ниже.

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

Как установить GitHub Copilot CLI в Linux

Существует три способа установки copilot в системе Linux. Выберите метод, который лучше всего подходит для вашей текущей конфигурации. Все три метода устанавливают один и тот же бинарный файл.

Способ 1: Установочный скрипт

Это самый быстрый вариант, если у вас ещё не установлен Node.js. Скрипт определяет вашу систему, загружает соответствующий бинарный файл и размещает его в вашем PATH.

curl -fsSL https://gh.io/copilot-install | bash

Вот что делает каждая часть команды:

  • curl загружает скрипт установки по короткой ссылке GitHub.
  • -fsSL приводит к сбою curl при ошибках сервера, подавляет вывод информации о ходе выполнения и следует за перенаправлениями, что требуется для короткой ссылки.
  • | bash отправляет загруженный скрипт напрямую в bash для выполнения.

По умолчанию установщик размещает файлы в $HOME/.local, если запускается от имени пользователя без прав root, или в /usr/local, если запускается от имени root. Если вы хотите, чтобы Copilot CLI был доступен всем пользователям на общем сервере, добавьте перед командой префикс sudo. Это предоставит скрипту установки временные права root, чтобы он мог записывать в /usr/local/bin.

curl -fsSL https://gh.io/copilot-install | sudo bash

Вы также можете зафиксировать конкретный выпуск и выбрать пользовательский каталог установки с помощью переменных среды VERSION и PREFIX. Это полезно, если вы хотите, чтобы все компьютеры в команде использовали одну и ту же версию Copilot CLI.

curl -fsSL https://gh.io/copilot-install | VERSION="v0.0.369" PREFIX="$HOME/custom" bash

Способ 2: Установка с помощью npm

Если Node.js и npm уже установлены в вашей системе, это простая установка в одну строку, которая упрощает последующее обновление Copilot CLI с помощью npm update -g.

npm install -g @github/copilot

Опция -g устанавливает пакет глобально, а не помещает его в локальный каталог node_modules. Благодаря этому команда copilot будет доступна из любого каталога.

Если вы уже используете Homebrew в Linux, вы можете установить Copilot CLI через тот же менеджер пакетов:

brew install copilot-cli

Homebrew также предоставляет copilot-cli@prerelease, если вы хотите опробовать экспериментальные функции до того, как они появятся в стабильной версии.

Проверка установки

После установки Copilot CLI любым из трёх способов убедитесь, что команда copilot доступна, и проверьте версию установки:

copilot --version

Если ваша оболочка возвращает сообщение command not found: copilot, вероятно, каталог установки не включён в ваш PATH. Это одна из самых распространённых проблем при установке, и она часто возникает, когда в конфигурации вашей оболочки отсутствует $HOME/.local/bin.

Вы можете добавить его в текущий сеанс с помощью:

export PATH="$HOME/.local/bin:$PATH"

Чтобы сделать это изменение постоянным, добавьте ту же строку в ~/.bashrc или ~/.zshrc, в зависимости от используемой оболочки. Затем перезагрузите конфигурацию:

source ~/.bashrc

Аутентификация GitHub Copilot CLI

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

copilot

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

Аутентификация с помощью личного токена доступа

Если вы работаете на сервере без графического интерфейса (headless) без браузера или используете Copilot CLI в конвейере CI, процесс аутентификации с помощью кода устройства может оказаться нецелесообразным. В этом случае вы можете пройти аутентификацию с помощью токена доступа с тонкой настройкой. Создайте токен в настройках личных токенов доступа GitHub:

https://github.com/settings/personal-access-tokens/new

При настройке токена убедитесь, что включено разрешение «Запросы Copilot». Без этого разрешения токен может успешно пройти аутентификацию, но запросы Copilot завершатся с ошибкой разрешений.

Укажите токен в переменной среды GH_TOKEN:

export GH_TOKEN=""

Замените на фактический токен, сгенерированный GitHub. Copilot CLI сначала проверяет GH_TOKEN и использует GITHUB_TOKEN, если GH_TOKEN не установлен.

Использование GitHub Copilot CLI в терминале

Запустите copilot из каталога проекта, с которым вы хотите работать, а не из домашнего каталога. По умолчанию доступ к файлам ограничен текущим каталогом и его подкаталогами.

cd ~/projects/my-app copilot

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

Explain what this bash deploy script does and flag anything that looks unsafe

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

Copilot CLI по умолчанию использует для логических выводов модель Claude Sonnet 4.5. Вы можете запустить команду /model в сеансе, чтобы открыть окно выбора модели и выбрать альтернативы, такие как Claude Sonnet 4 или GPT-5. Вы также можете переключаться между моделями во время работы над задачей, не теряя историю диалога.

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

/cwd ~/projects/another-app

Это полезно, когда вы работаете с несколькими репозиториями и не хотите каждый раз закрывать и запускать Copilot заново.

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

Управление тем, к чему Copilot CLI имеет доступ

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

Вы можете заранее одобрить определённые типы действий с помощью --allow-tool и заблокировать определённые действия с помощью --deny-tool. Оба параметра используют шаблон Kind(argument, а аргумент является необязательным.

copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)'

Вот что делают эти опции:

  • --allow-tool 'shell(git:*)' заранее разрешает команды git, соответствующие шаблону git command. Суффикс :* сопоставляется с подкомандами Git, такими как git pull и git status, не сопоставляясь при этом с несвязанными командами, такими как gitea.
  • --deny-tool 'shell(git push) специально блокирует команду git push, даже если более общее правило git:* в ином случае разрешило бы её.

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

Распространённая ошибка: слишком поспешное использование –allow-all

--allow-all (также доступно как --yolo) пропускает запросы на подтверждение для инструментов, путей к файлам и URL-адресов. Это может показаться удобным для повторяющихся задач, но также означает, что Copilot может выполнять такие команды, как rm, отправлять изменения в удалённый репозиторий или изменять файлы, которые вы не собирались включать, без предварительного запроса у вас.

  • Используйте --allow-all только в изолированных или одноразовых средах, а не в вашем основном рабочем каталоге.
  • Для повторяющихся команд с низким уровнем риска отдавайте предпочтение узким правилам, таким как –-allow-tool=„shell(npm test)“.
  • Используйте >Use /reset-allowed-tools внутри сеанса, чтобы снять все предоставленные до этого разрешения и вернуться к запросам на подтверждение.

Если вы когда-либо сожалели об использовании широкого правила --allow-all, перешлите эту информацию любому члену вашей команды, который собирается совершить ту же ошибку.h2. Полезные команды со слэшем

Нескольких команд со слэшем достаточно для выполнения большинства повседневных задач в интерактивном сеансе Copilot CLI.

  • /login авторизует вашу учётную запись GitHub, если вы ещё этого не сделали.
  • /model позволяет переключаться между моделями Claude Sonnet 4.5, Claude Sonnet 4 и GPT-5.
  • /cwd or /cd изменяет рабочий каталог без перезапуска сеанса.
  • /allow-all или /yolo предоставляет полные права на оставшуюся часть текущего сеанса.
  • /reset-allowed-tools отменяет все предоставленные вами права и возвращает настройки авторизации к состоянию на момент начала сеанса.
  • /feedback открывает краткую форму для отправки отзывов или сообщения об ошибке прямо из CLI.
  • /help отображает все доступные команды со слэшем. Поскольку со временем добавляются новые команды, это самый актуальный справочник.

Если этот список команд избавляет вас от необходимости обращаться к документации во время работы, поделитесь им со своей командой, чтобы у всех были одинаковые горячие клавиши.h2. Настройка серверов LSP и MCP

Copilot CLI не включает языковые серверы, поэтому для таких функций, как «перейти к определению», требуется отдельно установить языковой сервер. Например:

npm install -g typescript-language-server

Вы можете зарегистрировать языковой сервер в ~/.copilot/lsp-config.json, чтобы использовать его во всех проектах, или в .github/lsp.json, чтобы настроить его для конкретного репозитория. Используйте команду /lsp в сеансе Copilot CLI, чтобы узнать, какие языковые серверы в данный момент активны.

Серверы MCP работают аналогичным образом, но предоставляют доступ к внешним инструментам и сервисам, а не к языковым функциям. Сервер MCP от GitHub встроен в Copilot CLI. Если вам нужны дополнительные сервисы, такие как Slack, база данных или другой внешний инструмент, вы можете настроить постоянные сторонние серверы MCP в ~/.copilot/mcp-config.json.

Заключение

Теперь вы знаете, как установить GitHub Copilot CLI в Linux с помощью скрипта установки, npm или Homebrew, авторизовать его с помощью процедуры «Device Flow» или личного токена доступа, а также контролировать, к каким командам и каталогам он может получить доступ, прежде чем поручать ему реальную работу.

Начните с тестирования Copilot CLI в репозитории, где риск невысокий. Вы можете выполнить:

copilot --allow-tool='read'

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

Используете ли вы Copilot CLI с запросами на утверждение по умолчанию или уже настроили --allow-tool правила для своего рабочего процесса? Расскажите нам в комментариях ниже, что вы разрешили, а к чему по-прежнему относитесь с осторожностью.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)

Автар по умолчанию