GitHub Copilot
Подключение GitHub Copilot Chat, агентов VS Code и Copilot CLI к Model Gate через BYOK и собственный OpenAI-совместимый эндпоинт.
GitHub Copilot через Model Gate
GitHub Copilot и Visual Studio Code поддерживают модели Bring Your Own Key (BYOK). Model Gate можно использовать как собственный OpenAI-совместимый эндпоинт для чата и агентных сценариев Copilot.
Для VS Code рекомендуется поставщик Custom Endpoint с Responses API. Используйте Chat Completions только тогда, когда выбранная модель или сценарий требует именно этого семейства API.
Обязательные значения
API key: mg_live_...
Responses endpoint: https://api.model-gate.com/v1/responses
Chat Completions endpoint: https://api.model-gate.com/v1/chat/completions
Base URL for Copilot CLI: https://api.model-gate.com/v1
Создайте отдельный API-ключ в панели Model Gate. Для интеграции команды или рабочей станции предпочтителен отдельный ключ, а не посторонний рабочий ключ: так проще проверять лимиты, историю, перевыпуск и отзыв.
Получите список активных моделей перед настройкой Copilot:
curl https://api.model-gate.com/v1/models \
-H "Authorization: Bearer mg_live_..."
Используйте активный канонический ID модели или поддерживаемый псевдоним, возвращённый этим эндпоинтом.
VS Code: рекомендуемая настройка Custom Endpoint
Актуальные версии VS Code показывают BYOK-модели в редакторе Language Models.
- Откройте Command Palette.
- Выполните Chat: Manage Language Models.
- Выберите Add Models.
- Выберите Custom Endpoint.
- Укажите имя группы, например
Model Gate. - Введите API-ключ Model Gate, когда VS Code запросит учётные данные поставщика.
- Выберите тип API Responses, если выбранная модель поддерживает Responses API.
- Настройте модель с явным эндпоинтом Model Gate и сохраните созданный
chatLanguageModels.json. - Выберите модель Model Gate в списке моделей Chat.
Для новой настройки не используйте устаревший параметр github.copilot.chat.customOAIModels. Современный поставщик Custom Endpoint поддерживает эндпоинты Responses, Chat Completions и Messages и является предпочтительным способом настройки VS Code.
Рекомендуемая настройка Responses
Созданный chatLanguageModels.json может выглядеть так:
[
{
"name": "Model Gate",
"vendor": "customendpoint",
"apiKey": "${input:modelGateApiKey}",
"apiType": "responses",
"models": [
{
"id": "gpt-5.4",
"name": "GPT-5.4 through Model Gate",
"url": "https://api.model-gate.com/v1/responses",
"toolCalling": true
}
]
}
]
Замените gpt-5.4 на активную модель или псевдоним Model Gate.
Обычно VS Code отправляет API-ключ так:
Authorization: Bearer mg_live_...
Это правильный формат аутентификации OpenAI-совместимого API Model Gate.
Запасной вариант Chat Completions
Если выбранному сценарию нужен Chat Completions, настройте модель так:
[
{
"name": "Model Gate",
"vendor": "customendpoint",
"apiKey": "${input:modelGateApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "MODEL_ID",
"name": "MODEL_ID through Model Gate",
"url": "https://api.model-gate.com/v1/chat/completions",
"toolCalling": true
}
]
}
]
Предпочтителен явно заданный полный URL эндпоинта. Это исключает неоднозначность при изменении поведения VS Code по определению пути URL.
Рекомендации по возможностям модели
Агентным сценариям Copilot нужна модель с инструментами. Для надёжной работы агентов через Model Gate:
- выбирайте модель с проверенной поддержкой вызова инструментов/функций;
- выбирайте модель с поддержкой потоковых ответов;
- для вложенных изображений используйте модель с проверенной поддержкой vision/входных изображений и задайте для неё
"vision": true; - для агентной работы со всем репозиторием выбирайте большой контекст; GitHub сейчас рекомендует не менее 128k токенов контекста для собственных моделей Copilot CLI;
- не заявляйте
toolCalling,vision, рассуждения, контекст или ограничения вывода выше фактических возможностей выбранной модели Model Gate; - проверьте конкретную модель в Playground Model Gate перед включением для большой команды.
При ручной настройке contextWindow, maxInputTokens или maxOutputTokens в VS Code используйте известные лимиты выбранной модели со страницы /models после входа; не угадывайте их.
| Настройка VS Code | Details модели в аккаунте |
|---|---|
contextWindow | Context |
maxInputTokens | Max input |
maxOutputTokens | Max output |
Начиная с 12.0.0, GET /v1/models возвращает только id, object, created и owned_by. Он не возвращает context_window, max_input_tokens, max_output_tokens или флаги возможностей; расширенный ответ временно отключён. Поэтому GET для обнаружения моделей не может заполнить эти необязательные настройки клиента.
Недоступный или нулевой настроенный лимит не означает фактическую ёмкость в ноль токенов. Оставляйте необязательное переопределение незаданным, если значение не опубликовано. Вызов инструментов, vision и streaming должны соответствовать поддерживаемым возможностям модели аккаунта и результату проверки интеграции, а не предположению по ID.
Вспомогательные модели в VS Code
VS Code также использует небольшие фоновые модели для заголовков, сводок, сообщений коммитов, предложений переименования и определения намерения.
При использовании Model Gate BYOK без модели Copilot на стороне GitHub настройте:
chat.utilityModel
chat.utilitySmallModel
Выберите быструю и недорогую модель Model Gate для chat.utilitySmallModel. Обычно нет смысла оплачивать самую большую модель рассуждений ради сообщений коммитов и других лёгких вспомогательных задач.
Параметр chat.byokUtilityModelDefault также определяет, будут ли вспомогательные задачи использовать выбранную основную BYOK-модель агента, вспомогательные модели GitHub Copilot или останутся без модели по умолчанию.
Copilot CLI
GitHub Copilot CLI поддерживает собственных OpenAI-совместимых поставщиков через переменные окружения.
Linux или macOS
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.model-gate.com/v1"
export COPILOT_PROVIDER_API_KEY="mg_live_..."
export COPILOT_MODEL="MODEL_ID"
copilot
Windows PowerShell
$env:COPILOT_PROVIDER_TYPE = "openai"
$env:COPILOT_PROVIDER_BASE_URL = "https://api.model-gate.com/v1"
$env:COPILOT_PROVIDER_API_KEY = "mg_live_..."
$env:COPILOT_MODEL = "MODEL_ID"
copilot
Для Copilot CLI выбранная модель должна поддерживать вызов инструментов и потоковые ответы. Используйте активную модель или псевдоним Model Gate и проверьте их до сохранения постоянной настройки.
Не помещайте API-ключ в историю оболочки, файл репозитория или сохранённый в репозитории .env. По возможности используйте хранилище учётных данных ОС, защищённое окружение оболочки или менеджер секретов организации.
Copilot Business и Enterprise
GitHub также поддерживает собственные модели организаций и предприятий через BYOK. Сейчас GitHub указывает OpenAI-совместимых поставщиков как поддерживаемую категорию собственных моделей. Эта возможность уровня организации управляется политиками GitHub и на разных поверхностях Copilot может находиться в предварительном доступе.
Для управляемой организации:
- Включите политику GitHub custom models / BYOK, требуемую вашим планом Copilot.
- Добавьте собственного OpenAI-совместимого поставщика и модель в настройках моделей Copilot организации или предприятия.
- Используйте отдельный API-ключ Model Gate с минимально необходимыми правами и лимитами Model Gate.
- Укажите эндпоинт Model Gate и ID модели, доступной аккаунту.
- Проверьте модель в чатах и агентных сценариях Copilot, прежде чем открывать её всем участникам в списке моделей организации.
По мере развития возможности GitHub может менять интерфейс собственных моделей организации. Для точных названий полей ориентируйтесь на текущий административный интерфейс GitHub, а не снимки старого выпуска.
Рекомендации по безопасности и стоимости
- Создайте отдельный ключ Model Gate для Copilot, не используйте общий универсальный ключ.
- Настройте RPM, одновременность, лимит расходов или групповую политику Business с учётом трафика агентной разработки.
- Немедленно перевыпустите ключ, если он попал в репозиторий, чат, журнал или обращение.
- Никогда не сохраняйте
mg_live_...в репозитории внутриchatLanguageModels.json; пусть VS Code хранит ключ или ссылается на ввод/секрет. - Оставляйте подтверждение разрушительных действий инструментов включённым, если среда разработки намеренно не изолирована.
- Агентный режим может выполнить много обращений к модели и инструментам по одной инструкции. Задайте лимиты расходов Model Gate перед включением дорогих моделей рассуждений для больших репозиториев.
- Используйте меньшую вспомогательную модель для фона, а крупные модели рассуждений — для планирования, отладки и сложных изменений.
- При неожиданных расходах, задержках, ограничениях частоты или ошибках поставщика проверяйте Request History Model Gate.
Что BYOK заменяет и чего не заменяет
Модель Model Gate BYOK может обслуживать чат VS Code, агентные сценарии, инструменты и вспомогательные задачи при поддержке необходимых возможностей.
Она не заменяет автоматически все функции GitHub Copilot. В зависимости от версии VS Code/GitHub стандартные встроенные дополнения кода, семантический поиск, embeddings и другие функции на стороне GitHub могут по-прежнему требовать аутентификацию GitHub, план Copilot или инфраструктуру GitHub.
Используйте Model Gate BYOK для управления маршрутом чат-/агентной модели и её оплатой, а не исходя из предположения, что весь сетевой трафик GitHub Copilot идёт через Model Gate.
Проверить Model Gate перед Copilot
Responses
curl https://api.model-gate.com/v1/responses \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"input": "Reply with exactly: Model Gate OK"
}'
Chat Completions
curl https://api.model-gate.com/v1/chat/completions \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Reply with exactly: Model Gate OK"}]
}'
Если эти запросы не проходят, исправьте API-ключ, модель или политику Model Gate до отладки Copilot.
Устранение проблем
| Проблема | Решение |
|---|---|
| Модель не появляется в агентном режиме | Проверьте настройку вызова инструментов и фактическую поддержку функций/инструментов моделью Model Gate. После изменения поставщика перезапустите VS Code. |
401 invalid_api_key | Заново введите или перевыпустите отдельный ключ Model Gate. Проверьте отправку Copilot заголовка Authorization: Bearer .... |
404 или неверный эндпоинт | Для Responses используйте полный https://api.model-gate.com/v1/responses; для Chat Completions — /v1/chat/completions. |
| Модель не найдена | Запросите /v1/models для канонического ID либо используйте активный псевдоним, подтверждённый администратором. |
| Агент не использует инструменты | Выберите модель с проверенным вызовом инструментов/функций. Copilot CLI также требует streaming. |
| Изображение игнорируется или отклоняется | Используйте модель с проверенной поддержкой входных изображений/vision и включите vision: true только для неё. |
| Вспомогательные функции не работают при использовании только BYOK | Настройте chat.utilityModel и chat.utilitySmallModel на доступные BYOK-модели. |
| Встроенные дополнения кода всё ещё используют GitHub или требуют вход | Это ожидаемо: BYOK в основном управляет трафиком чат-, агентных и вспомогательных моделей, а не всеми функциями Copilot. |
| Неожиданно дорогие запросы | Выберите меньшую модель для вспомогательных задач, при необходимости уменьшите глубину рассуждений и настройте лимиты расходов/RPM/одновременности Model Gate. |
Актуальные источники поставщиков
GitHub и VS Code могут менять настройку BYOK между выпусками. Для актуального поведения проверяйте:
https://code.visualstudio.com/docs/agent-customization/language-modelshttps://docs.github.com/en/copilot/concepts/models/bring-your-own-keyhttps://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-modelshttps://docs.github.com/en/copilot/how-tos/administer-copilot/manage-for-organization/enable-custom-models
Расширения с фиксированным эндпоинтом
Для разрешённого локального расширения без настройки собственного эндпоинта см. Переопределение эндпоинта в Windows и Linux. Этот необязательный вариант mitmproxy требует совместимых запросов, ключа Model Gate и явного доверия локальному CA; он не заменяет аутентификацию Copilot и не обходит закрепление сертификата. Предпочтительны штатные настройки BYOK выше.
Значение 0 в метаданных лимитов модели аккаунта означает неизвестное или ненастроенное ограничение, а не пригодный бюджет в ноль токенов. Минимальный Model API эти лимиты не возвращает.