Back

Начало работы с расширениями GitHub Copilot

Начало работы с расширениями GitHub Copilot

Расширения GitHub Copilot трансформируют способ работы разработчиков, интегрируя внешние инструменты и сервисы непосредственно в Copilot Chat. Вместо переключения между несколькими приложениями вы теперь можете выполнять запросы к базам данных, отслеживать развертывания и отлаживать ошибки — всё это через диалоги на естественном языке прямо в вашей IDE или на GitHub.com.

Ключевые моменты

  • Расширения GitHub Copilot интегрируют внешние инструменты непосредственно в Copilot Chat для бесшовного рабочего процесса
  • Расширения на основе GitHub App будут объявлены устаревшими к ноябрю 2025 года, в то время как расширения VS Code останутся поддерживаемыми
  • Создание расширений требует настройки endpoint, конфигурации GitHub App и обработки server-sent events
  • Крупные партнеры, такие как Docker, MongoDB и Microsoft, уже предлагают расширения в GitHub Marketplace

Что такое расширения GitHub Copilot?

Эти расширения бесшовно интегрируются с вашим существующим рабочим процессом. При отладке проблемы вы можете вызвать Sentry для мониторинга ошибок, DataStax для запросов к базе данных или Azure для развертывания — всё это не покидая редактор кода. Крупные партнеры, такие как Docker, MongoDB, Stripe и Microsoft, уже создали расширения, доступные в GitHub Marketplace.

Важно: Сроки прекращения поддержки

Критически важные даты:

  • 23 сентября 2025 года: Новые расширения Copilot на основе GitHub App больше нельзя будет создавать
  • 10 ноября 2025 года: Все существующие расширения на основе GitHub App прекратят работу

Расширения VS Code Copilot остаются незатронутыми и продолжат поддерживаться. Если вы начинаете новый проект сегодня, рассмотрите возможность создания расширения VS Code или изучения серверов Model Context Protocol (MCP) как долгосрочного решения.

Установка расширений из GitHub Marketplace

Начать работу с существующими расширениями можно всего за несколько минут:

  1. Просмотрите доступные расширения в GitHub Marketplace
  2. Нажмите «Install» на выбранном расширении
  3. Предоставьте необходимые разрешения
  4. Получите доступ к расширению, набрав @ в Copilot Chat, а затем имя расширения

Например, набрав @sentry, вы можете анализировать логи ошибок, а @docker поможет вам собирать и развертывать контейнеры — всё это через команды на естественном языке.

Создание расширения Hello World

Давайте создадим минимальное расширение Hello World, чтобы понять основные концепции. В этом примере используется Node.js и Copilot Extensions Preview SDK.

Шаг 1: Настройка endpoint

import { verifyAndParseRequest, createTextEvent, createDoneEvent } from "@copilot-extensions/preview-sdk";
import express from 'express';

const app = express();
app.use(express.text());

app.post("/", async (req, res) => {
  // Verify the request is from GitHub
  const signature = req.headers["github-public-key-signature"];
  const keyID = req.headers["github-public-key-identifier"];
  const token = req.headers["x-github-token"];
  
  const { isValidRequest, payload } = await verifyAndParseRequest(
    req.body,
    signature,
    keyID,
    { token }
  );
  
  if (!isValidRequest) {
    return res.status(401).send("Unauthorized");
  }
  
  // Send response using server-sent events
  res.setHeader("Content-Type", "text/event-stream");
  
  // Simple Hello World response
  res.write(createTextEvent("Hello from my Copilot Extension! 👋"));
  res.write(createDoneEvent());
  res.end();
});

app.listen(3000);

Шаг 2: Настройка GitHub App

  1. Перейдите в Settings → Developer settings → GitHub Apps
  2. Создайте новое GitHub App со следующими настройками:
    • Webhook URL: endpoint вашего сервера (используйте ngrok для локального тестирования)
    • Permissions: Установите «Copilot Chat» в режим только для чтения
    • Copilot settings: Установите App Type как «Agent»

Шаг 3: Тестирование расширения

После установки протестируйте расширение в Copilot Chat:

  • На GitHub.com
  • В VS Code
  • В Visual Studio

Введите @your-extension-name, а затем любое сообщение. Вы увидите ответ «Hello World» в чате.

Ключевые концепции, которые нужно запомнить

Верификация запросов: Всегда проверяйте входящие запросы с помощью функции verifyAndParseRequest из SDK. Это гарантирует, что запросы действительно поступают от GitHub.

Server-Sent Events: Расширения Copilot используют SSE для потоковой передачи ответов. Это позволяет получать обновления в реальном времени в интерфейсе чата.

Управление токенами: Заголовок x-github-token предоставляет контекст пользователя. Используйте его с Octokit для доступа к API GitHub от имени пользователя.

Следующие шаги

Начните с изучения существующих расширений в GitHub Marketplace, чтобы понять распространенные паттерны и сценарии использования. Для продакшн-расширений рассмотрите:

  • Реализацию корректной обработки ошибок
  • Добавление вызова функций для сложных операций
  • Интеграцию с внутренними API вашей организации
  • Использование Copilot LLM API для интеллектуальных ответов

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

Заключение

Независимо от того, устанавливаете ли вы партнерские расширения или создаете собственные интеграции, расширения GitHub Copilot фундаментально меняют способ взаимодействия разработчиков с инструментами — позволяя вам оставаться в потоке и продуктивно работать без переключения контекста. С учетом предстоящего прекращения поддержки расширений на основе GitHub App, сейчас самое время изучить расширения VS Code или серверы MCP для долгосрочных решений.

Часто задаваемые вопросы

Нет, после 23 сентября 2025 года вы не сможете создавать новые расширения на основе GitHub App. Существующие будут работать до 10 ноября 2025 года. Рассмотрите возможность создания расширений VS Code или изучения серверов MCP.

Вашему GitHub App необходимы разрешения Copilot Chat в режиме только для чтения и App Type, настроенный как Agent. Дополнительные разрешения зависят от того, к каким API GitHub вашему расширению нужен доступ.

Используйте ngrok или аналогичные сервисы туннелирования, чтобы сделать локальный сервер доступным из интернета. Настройте webhook URL вашего GitHub App с URL ngrok, затем протестируйте, введя @ и имя вашего расширения в Copilot Chat.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay