# Подключение GitHub Copilot

> **Последняя проверка**: 2026-09-18 · 📄 По официальной документации (VS Code 1.138.0 / встроенное расширение Copilot 0.66.0, Copilot CLI v1.0.86 от 2026-09-17)

## Кратко

| Параметр | Описание |
|---|---|
| Доступные модели | Claude ✅ (только тип `messages`) · GPT ✅ (Chat / Responses) · китайские модели ✅ (Chat) · Gemini ❌ (протокола просто нет) |
| Протокол и Base URL | В VS Code поле `url` — **полный путь**: `https://api.qcode.cc/api/v1/messages` · `https://api.qcode.cc/openai/v1/chat/completions` · `https://api.qcode.cc/openai/v1/responses`; CLI принимает **только корень** (маршрут B) |
| Где настраивается | VS Code: палитра команд `Chat: Manage Language Models` → `chatLanguageModels.json`; CLI: переменные окружения |
| Официальная документация | [Языковые модели VS Code](https://code.visualstudio.com/docs/agent-customization/language-models) · [Copilot CLI BYOK](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |

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

- **Маршрут A**: VS Code ≥ 1.122 (Custom Endpoint вышел в Stable 2026-05-28).
- **Маршрут B**: установленный GitHub Copilot CLI.
- Ключ QCode.cc с префиксом `cr_` ([консоль](https://qcode.cc/dashboard)). Токены тарифицирует QCode — это отдельно от платы за план Copilot (см. [Подписка, официальный API и ключ QCode](/docs/reference/subscription-vs-api-key)).

## Настройка

### Маршрут A: Custom Endpoint в VS Code (рекомендуется)

Откройте палитру команд (`Ctrl/Cmd+Shift+P`) → **`Chat: Manage Language Models`** → выберите **Custom Endpoint**: VS Code откроет `chatLanguageModels.json`. Четыре официальных правила:

- `vendor` обязан быть `customendpoint`; поле ключа называется `apiKey`.
- У `apiType` три законных значения: `messages` (протокол Anthropic), `chat-completions`, `responses`. **Для Claude подходит только `messages`**.
- `url` — **полный адрес запроса вместе с путём** (официальная рекомендация); иначе VS Code сама вставит `/v1` и легко получит 404.
- Чтобы модель появилась в Agent-режиме, нужно `"toolCalling": true`, иначе она не попадёт в пикер моделей.

Claude и GPT/китайские модели рядом:

```json
[
  { "name": "QCode Claude", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "messages",
    "url": "https://api.qcode.cc/api/v1/messages",
    "toolCalling": true,
    "models": [ { "id": "claude-sonnet-5" } ] },
  { "name": "QCode OpenAI", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "chat-completions",
    "url": "https://api.qcode.cc/openai/v1/chat/completions",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6" }, { "id": "glm-5.3" } ] }
]
```

GPT поверх протокола Responses (та же ветка, что у Codex, только для семейства GPT):

```json
[
  { "name": "QCode Responses", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "responses",
    "url": "https://api.qcode.cc/openai/v1/responses",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6" } ] }
]
```

После сохранения модели появятся в пикере чата.

### Маршрут B: BYOK в Copilot CLI

CLI описывает свою модель четырьмя переменными окружения; официально `COPILOT_PROVIDER_TYPE` принимает только `openai` (по умолчанию), `azure`, `anthropic`. Для ветки Anthropic у QCode:

```bash
# Anthropic Messages route — base URL is the ROOT, no path appended
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/api"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="claude-sonnet-5"

# OpenAI-compatible route — base URL includes /v1 but not /chat/completions
export COPILOT_PROVIDER_TYPE=openai
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/openai/v1"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="gpt-5.6"
```

Используйте один набор за раз (последний export побеждает): верхний блок подключает Claude через ветку Anthropic, нижний — GPT / китайские модели через OpenAI-совместимую ветку, где base URL заканчивается на `/v1` — наоборот, чем в маршруте A.

🔴 Главная ловушка страницы: **VS Code требует полный путь в `url`, а CLI — корень в `BASE_URL`**; копипаст одной формы в другую гарантированно ломается.

### Copilot в JetBrains

GitHub относит JetBrains к клиентам с локальным BYOK: OpenAI-совместимые Custom Endpoint доступны с редакции 2026-07-14, настройка — в **Manage Models** со стороны Copilot. Поэлементной документации публично нет, и поддержка Anthropic-типа на JetBrains на официальных страницах не подтверждена — сверяйтесь с [документацией GitHub Copilot](https://docs.github.com/copilot).

## Проверка подключения

Выберите кастомную модель в Copilot Chat (или в `copilot` CLI) и отправьте сообщение:

- обычный ответ = подключено;
- `401` = ошибка в `apiKey` / `COPILOT_PROVIDER_API_KEY` (с полным префиксом `cr_`);
- `404` = неверная форма URL — VS Code нужен полный путь, CLI — корень (см. таблицу выше);
- все запросы видны по ключу на [probe.qcode.cc](https://probe.qcode.cc); порядок диагностики — в [устранении неполадок](/docs/reference/troubleshooting).

## Известные ограничения

- **Инлайн-подстановки всё ещё идут через GitHub**: кастомные эндпоинты / BYOK действуют только в Chat и Agent (официальная граница).
- **Gemini недоступен**: в `apiType` нет протокола Gemini, `gemini-*` модели не подключить — выбирайте другой клиент (см. [Обзор совместимости инструментов](/docs/ide/tool-compatibility)).
- Политики организации могут запрещать кастомные модельные эндпоинты; корпоративным пользователям сначала проверить политику.
- Запись `messages` с полным путём (`/api/v1/messages`) соответствует официальному совету указывать полный URL; если ваш билд VS Code ведёт себя иначе (авто-вставка `/v1`), подстройте по кодам 404/400 из раздела проверки.
- Поля характеристик (`vision`, `maxInputTokens`, `maxOutputTokens`…) объявляются для каждой записи; семантика — на официальной странице.

## Связанные документы

- [VS Code: интеграция (расширение Claude Code)](/docs/ide/vscode)
- [Эндпоинты и пути API](/docs/getting-started/endpoints-and-api-paths)
- [Обзор совместимости инструментов](/docs/ide/tool-compatibility)
- [Подписка, официальный API и ключ QCode](/docs/reference/subscription-vs-api-key)
- [JetBrains IDE: интеграция](/docs/ide/jetbrains)