Примечание.
Второй пилот SDK в настоящее время находится в Публичный предварительный просмотр. Функциональность и доступность могут меняться.
Обзор методов аутентификации
GitHub Copilot SDK Поддерживает несколько методов аутентификации для различных сценариев использования.
| Метод | Сценарий использования | Copilot Требуется подписка | |--------|----------|-------------------------------| | Пользователь GitHub, вошедший в систему | Интерактивные приложения, в которых пользователи входят GitHub | Да | | Приложение OAuth GitHub | Приложения, действующие от имени пользователей через OAuth | Да | | переменные среды | CI/CD, автоматизация, сервер-сервер | Да | | БЁК (принеси свой ключ) | Использование собственных API-ключей (Azure AI Foundry, OpenAI и др.) | Нет |
Пользователь GitHub, вошедший в систему
Это стандартный метод аутентификации при интерактивном запуске GitHub Copilot CLI , см. Аутентификация GitHub Copilot CLI. Пользователи аутентифицируются через GitHub поток устройств OAuth, а SDK использует их сохранённые учетные данные.
**Принцип работы**.
-
Пользователь запускает
copilotCLI и входит через GitHub OAuth. -
Учетные данные надёжно хранятся в системном ключе.
-
SDK автоматически использует сохранённые учетные данные.
**Конфигурация SDK:**
import { CopilotClient } from "@github/copilot-sdk";
// Default: uses signed-in user credentials
const client = new CopilotClient();
Для примеров на других языках см. раздел «Аутентификация в github/copilot-sdk репозитории».
**Когда использовать этот метод:**
- Настольные приложения, где пользователи взаимодействуют напрямую
- среды для разработки и тестирования;
- Любой сценарий, когда пользователь может войти интерактивно
OAuth GitHub App
Используйте приложение OAuth GitHub для аутентификации пользователей через ваше приложение и передачи их учетных данных SDK. Это позволяет вашему приложению делать GitHub Copilot запросы на API от имени пользователей, которые авторизируют ваше приложение.
**Принцип работы**.
-
Пользователь авторизирует ваше приложение OAuth GitHub .
-
Ваше приложение получает пользовательский токен доступа (
gho_илиghu_префикс). -
Передайте токен SDK через опцию
githubToken.**Конфигурация SDK:**
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient({
githubToken: userAccessToken, // Token from OAuth flow
useLoggedInUser: false, // Don't use stored CLI credentials
});
Для примеров на других языках см. раздел «Аутентификация в github/copilot-sdk репозитории».
**Поддерживаемые типы токенов:**
-
gho_— OAuth пользовательские токены доступа -
ghu_— GitHub Токены доступа пользователей приложений -
github_pat_— Fine-grained personal access tokens**Не поддерживаются:** -
ghp_— Personal access tokens (classic) (закрывается)**Когда использовать этот метод:** -
Веб-приложения, в которые пользователи входят через GitHub
-
Приложения программного обеспечения как услуги (SaaS), построенные на основе GitHub Copilot
-
Любое многопользовательское приложение, где нужно делать запросы от имени разных пользователей
Переменные среды
Для автоматизации, CI/CD конвейеров и сценариев сервер-сервер можно аутентифицировать с помощью переменных среды.
**Поддерживаемые переменные среды (в порядке приоритета):**
1.
COPILOT_GITHUB_TOKEN — Рекомендуется для явного Copilot использования
1.
GH_TOKEN — GitHub CLI совместимым
1.
GITHUB_TOKEN — GitHub Actions совместимым
SDK автоматически обнаруживает и использует эти переменные среды без необходимости изменения кода:
import { CopilotClient } from "@github/copilot-sdk";
// Token is read from environment variable automatically
const client = new CopilotClient();
**Когда использовать этот метод:**
- CI/CD конвейеры (GitHub Actions, Jenkins и др.)
- Автоматическое тестирование
- Серверные приложения с сервисными аккаунтами
- Разработка, когда вы не хотите использовать интерактивный вход
БЁК (принеси свой ключ)
BYOK позволяет использовать собственные API-ключи от поставщиков моделей, таких как Azure AI Foundry, OpenAI или Anthropic. Это полностью обходит GitHub Copilot аутентификацию.
**Ключевые преимущества:**
- Подписка не GitHub Copilot требуется
- Использование корпоративных моделей
- Прямое выставление счетов у вашего поставщика модели
- Поддержка совместимых с Azure AI Foundry, OpenAI, Anthropic и OpenAI конечных точек
Полные инструкции по установке, включая параметры настройки провайдера, ограничения и примеры кода, см. приносите свой ключ (BYOK).
Приоритет аутентификации
Когда доступно несколько методов аутентификации, SDK использует их в следующем порядке приоритета:
-
**Явно `githubToken`** — Токен передавался напрямую конструктору SDK -
**Токен прямого API** — `GITHUB_COPILOT_API_TOKEN` с `COPILOT_API_URL` -
**Токены переменных среды** — `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN` -
**Сохранённые учетные данные OAuth** — из предыдущего `copilot` входа в CLI -
** GitHub CLI ** — `gh auth` полномочия
Отключение автовхода
Чтобы предотвратить автоматическое использование SDK сохранённых учетных данных или GitHub CLI аутентификации, установить useLoggedInUser опцию на false:
const client = new CopilotClient({
useLoggedInUser: false, // Only use explicit tokens
});
Для примеров на других языках см. раздел «Аутентификация в github/copilot-sdk репозитории».
Дальнейшие действия
- приносите свой ключ (BYOK)
- Документация по серверам MCP — Подключитесь к внешним инструментам с помощью SDK