{"meta":{"title":"Сведения о расширениях для GitHub Copilot CLI","intro":"Расширения позволяют добавлять собственные средства и команды GitHub Copilot CLIкосой черты, используя только пакет SDK, который поставляется с интерфейсом командной строки.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/concepts","title":"Основные понятия"},{"href":"/ru/copilot/concepts/agents","title":"Агенты"},{"href":"/ru/copilot/concepts/agents/copilot-cli","title":"Copilot CLI"},{"href":"/ru/copilot/concepts/agents/copilot-cli/about-cli-extensions","title":"Расширения CLI"}],"documentType":"article"},"body":"# Сведения о расширениях для GitHub Copilot CLI\n\nРасширения позволяют добавлять собственные средства и команды GitHub Copilot CLIкосой черты, используя только пакет SDK, который поставляется с интерфейсом командной строки.\n\n> \\[!NOTE]\n> GitHub Copilot CLI Расширения в настоящее время являются экспериментальной функцией и могут измениться.\n\nРасширение позволяет добавить свои собственные возможности в Copilot CLI. Каждое расширение — это небольшой модуль Node.js, который работает как отдельный процесс вместе с вашей интерактивной сессией и подключается обратно к нему. С помощью этого подключения расширение может добавить следующее:\n\n* **Средства** , которые Copilot могут вызываться во время работы от вашего имени.\n* **Команды косой черты** , которые выполняются самостоятельно.\n\nТак как расширение запускает реальный код на компьютере, вы можете добавить возможности, которые не имеют встроенных средств. Например, расширение может наблюдать за тем, что происходит в сеансе, и поддерживать выполнение между вызовами инструментов, которые не могут сделать одноуровневая команда оболочки.\n\nВ этой статье объясняется, как работают расширения и как Copilot CLI они обрабатываются. Практическое руководство по созданию собственных расширений см. в разделе [Создание расширений для GitHub Copilot CLI](/ru/copilot/tutorials/create-an-extension).\n\n> \\[!WARNING]\n> Расширения выполняются на вашем компьютере с вашими правами. Загружайте только тот код расширения, которым доверяете, так же как вы запускаете только другие скрипты, которые не написали сами.\n\n## Обнаружение расширений\n\nПри Copilot CLI запуске он ищет расширения в нескольких расположениях. Каждое расширение живет в собственной подкаталоге, и этот подкаталог должен содержать файл записи с именем `extension.mjs`, `extension.cjs`или `extension.js`. Это все файлы JavaScript: Copilot CLI файл записи выполняется непосредственно с Node.js, поэтому расширение должно быть записано в JavaScript— TypeScript и других языках в настоящее время не поддерживается.\n\nИмя подкаталога становится именем расширения.\n\n| Source                                           | Местонахождение                                 | Доступность                                      |\n| ------------------------------------------------ | ----------------------------------------------- | ------------------------------------------------ |\n| **Проект**                                       |                                                 |                                                  |\n| `.github/extensions/NAME/` в текущем репозитории | Доступно всем, кто работает в этом репозитории. |                                                  |\n| **User**                                         | `~/.copilot/extensions/NAME/`                   | Доступно во всех сеансах CLI в каждом каталоге.  |\n| **Подключаемый модуль**                          | Установленный подключаемый модуль               | Доступно везде, где включен подключаемый модуль. |\n\n## Выбор места жизни расширения\n\nГде вы помещаете каталог расширений, определяет, кто может использовать его:\n\n* Поместите его в **`.github/extensions/`** репозиторий, когда расширение зависит от этого проекта, и вы хотите поделиться им со всеми, кто работает там.\n* Поместите его **`~/.copilot/extensions/`** , если требуется расширение, доступное во всех собственных сеансах, независимо от того, какой каталог вы запускаете CLI.\n\nДва расположения следуют точно той же структуре , именованной подкаталогу, содержащей `extension.mjs` файл, чтобы можно было переместить расширение из одного в другую, просто переместив ее папку.\n\n## Включение расширений\n\nРасширения в настоящее время являются экспериментальной функцией, поэтому необходимо включить экспериментальные функции. Это можно сделать, выполнив одно из следующих действий:\n\n* Запустите ИНТЕРФЕЙС командной строки с флагом `‑‑experimental` .\n* Выполните команду косой `/experimental on` черты внутри интерактивного сеанса.\n\n## Изменение способа обработки расширений CLI\n\nВы можете ограничить Copilotдоступ к расширениям или полностью отключить их с помощью `/extensions mode` команды. При использовании этой команды вы получите три варианта:\n\n* **Загрузка и расширение** (по умолчанию) — интерфейс командной строки запускает расширения \\_и\\_Copilot может управлять ими.\n* **Загрузка** только— интерфейс командной строки запускает расширения, но Copilot не может управлять ими.\n* **Отключенные**— расширения полностью отключены в текущем сеансе и будут оставаться отключенными в будущих сеансах, пока не переключитесь на один из двух других параметров. Другие текущие сеансы не затрагиваются.\n\nЛюбое изменение, которое вы вносите, вступает в силу немедленно в текущем сеансе:\n\n* Переключение **на \"Отключено\"** останавливает все расширения, которые в настоящее время выполняются. Их процессы завершаются, и их инструменты больше не доступны.\n* Переход **с \"Отключено\" на** любой из других параметров запускает расширения.\n* Переключение между **только загрузкой** и **загрузкой и расширением** просто изменяет возможность Copilot управления расширениями.\n\n### Что означает \"управление расширениями\"\n\nВ режиме \\*\\*\\*\\*Copilot предоставляется небольшой набор дополнительных средств, которые позволяют работать непосредственно в системе расширений в рамках выполнения запросов. С помощью этих средств Copilot можно:\n\n* **Вывод списка** обнаруженных расширений и просмотра их состояния.\n* **Проверьте** расширение, в том числе хвост файла журнала, чтобы помочь диагностировать тот, который завершился сбоем или неправильно работает.\n* **Создание** начального `extension.mjs` файла для создания шаблона нового расширения.\n* **Перезагрузите** расширения, чтобы код его (или вы) вступили в силу без перезапуска сеанса.\n\nЭто то, что позволяет вам попросить Copilot создать расширение для вас.\nCopilot может создать файл, написать код и перезагрузить его без выхода из сеанса.\n\nВыберите **\"Загрузка только** в том случае, если вы хотите сохранить известный доверенный набор расширений, но не хотите Copilot создавать, перезагрузить или изменять код расширения\", который выполняется на компьютере, в качестве побочных эффектов его работы. Существующие расширения по-прежнему выполняются и Copilot по-прежнему могут вызывать предоставляемые им средства. Он просто не может самостоятельно управлять расширениями.\n\n## Расширения по сравнению с подключаемыми модулями\n\nКак расширения, так и подключаемые модули добавляют функциональные Copilot CLIвозможности, но они служат различным целям:\n\n* **Расширение** — это один модуль JavaScript, который записывается для добавления инструментов и команд косой черты, поддерживаемых кодом, выполняемым в сеансе.\n* **Подключаемый модуль** — это устанавливаемый пакет, который объединяет повторно используемые компоненты, такие как агенты, навыки, перехватчики и интеграции, и может распространяться через Marketplace.\n\nДля получения дополнительной информации о плагинах см. [О GitHub Copilot плагинах](/ru/copilot/concepts/agents/about-plugins).\n\n## Дополнительные материалы\n\n* [Создание расширений для GitHub Copilot CLI](/ru/copilot/tutorials/create-an-extension)\n* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference#slash-commands-in-the-interactive-interface)\n* [GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli)"}