Внешнюю модель для Copilot Chat можно подключить через BetterToken Custom Endpoint. Аккаунт GitHub, план Copilot и API-доступ отвечают за разные функции. В актуальном VS Code ключ сохраняется в локальном secret storage, после чего запрос проверяется в Chat и Dashboard. Inline completions и условия доступа к сервисам GitHub при этом не меняются.
Что именно вы настраиваете
У Copilot есть несколько независимых слоёв. Если разделить их до настройки, будет проще понять, почему Chat отвечает, а подсказки в редакторе не изменились.
| Слой | За что отвечает | Заменяет ли его Custom Endpoint |
|---|---|---|
| Аккаунт GitHub | Вход, привязка лицензии и доступ к функциям GitHub | Нет |
| План Copilot | Квоты и возможности сервиса Copilot, включая встроенные модели и completions | Нет |
| Локальный BYOK / Custom Endpoint | Выбор внешней модели в поддерживаемом клиенте и поверхности Chat | Только запросы, которые клиент направляет выбранной модели |
| Inline completions | Дополнение кода непосредственно в редакторе | Нет, они остаются частью сервиса GitHub Copilot |
GitHub отдельно описывает локальный BYOK: ключ хранится на устройстве, а поддержка зависит от клиента. В организации Business или Enterprise администратор может отключить эту возможность. Enterprise BYOK — другой, серверный сценарий с отдельными требованиями.
Хотите проверить Custom Endpoint в своей версии Copilot Chat? Создайте собственный аккаунт BetterToken и API Key, затем откройте актуальную инструкцию и выполните настройку ниже. BetterToken предоставляет OpenAI-compatible API-доступ и историю использования в Dashboard, но не выдаёт аккаунт GitHub, не активирует план Copilot и не меняет региональные правила GitHub.
Что проверить до настройки GitHub Copilot в России
- Установите актуальную стабильную версию VS Code.
- Откройте Copilot Chat и убедитесь, что в селекторе модели есть пункт Manage Models....
- Проверьте, что в окне Language Models доступна команда Add Models → Custom Endpoint.
- Создайте собственный API Key BetterToken и выберите точный Model ID в каталоге моделей.
Поддержка BYOK меняется не одновременно во всех клиентах. Наличие Custom Endpoint в VS Code не доказывает, что та же конфигурация работает в JetBrains, Xcode, GitHub.com или другом интерфейсе. Текущий список поддерживаемых клиентов и ограничений публикует GitHub.
Для официального Copilot действует ещё одна граница. В политике GitHub по торговым ограничениям указано, что Copilot нельзя продавать или экспортировать в Россию без соответствующего разрешения. Custom Endpoint не отменяет эту политику. Здесь нет инструкции по смене региона, оплате через третьих лиц или обходу проверки аккаунта.
Как добавить BetterToken Custom Endpoint в VS Code
1. Откройте управление моделями
В поле ввода Copilot Chat откройте селектор модели и выберите Manage Models.... Затем нажмите Add Models → Custom Endpoint.
Если этого пункта нет, сначала обновите VS Code. Не переносите конфигурацию из случайного старого руководства: имена команд и схема файла могли измениться.
2. Создайте группу и сохраните ключ
В поле Group Name введите BetterToken. Когда VS Code запросит API Key, вставьте свой ключ во всплывающем окне и нажмите Enter.
VS Code должен сохранить секрет локально и записать в конфигурацию ссылку примерно такого вида:
"apiKey": "${input:chat.lm.secret.xxxxx}"
Не заменяйте эту ссылку реальным ключом и не добавляйте ключ в settings.json, .env внутри публичного репозитория или commit.
3. Выберите протокол Chat Completions
Для проверенной конфигурации BetterToken выберите Chat Completions. После этого VS Code откроет chatLanguageModels.json.
Минимальный ориентир для полей выглядит так:
[
{
"name": "BetterToken",
"vendor": "customendpoint",
"apiKey": "${input:chat.lm.secret.xxxxx}",
"apiType": "chat-completions",
"models": [
{
"id": "YOUR_MODEL_ID",
"name": "YOUR_MODEL_ID",
"url": "https://www.bettertoken.ai/v1/chat/completions"
}
]
}
]
YOUR_MODEL_ID — плейсхолдер. Замените его точным идентификатором доступной модели. Поле url здесь содержит полный Chat Completions endpoint; одного Base URL https://www.bettertoken.ai/v1 для этого поля недостаточно. Параметры toolCalling, vision и лимиты token context добавляйте только в соответствии с возможностями выбранной модели и текущей документацией BetterToken.
4. Перезагрузите окно VS Code
Сохраните файл и выполните команду из Command Palette:
Developer: Reload Window
После перезагрузки снова откройте селектор Copilot Chat и выберите модель из группы BetterToken.
5. Выполните короткую проверку
Отправьте запрос с легко проверяемым результатом, например:
Верни только JSON с двумя полями: language="ru" и sum=2+2.
Подключение можно считать подтверждённым, если одновременно выполнены три условия:
- Copilot Chat возвращает валидный JSON без ошибки авторизации или Model ID;
- запрос появляется в истории использования BetterToken Dashboard;
- inline completion проверяется отдельно и не принимается за результат Custom Endpoint.
Если вы используете Chat без входа в Copilot, VS Code предупреждает, что часть вспомогательных задач всё ещё требует модели. В таком сценарии выберите свои BYOK-модели для параметров chat.utilityModel и chat.utilitySmallModel; точные названия настроек сверяйте с документацией VS Code по language models.
Почему Chat работает, а inline completion не изменился
Custom Endpoint подключает модель к поддерживаемым поверхностям Chat и agent workflow. Автодополнение, которое появляется прямо в редакторе, остаётся функцией GitHub Copilot. Поэтому успешный запрос к BetterToken не подтверждает работу официальных completions и не расходует их тем же способом.
Некоторые функции VS Code также опираются на сервисы GitHub: документация называет semantic search, inline suggestions и embeddings. Если ваша задача — только разговор с моделью или agent-сценарий в Chat, локального BYOK может быть достаточно. Если нужны completions и другие интегрированные возможности Copilot, отдельно проверяйте аккаунт, план и политику организации.
Приложение GitHub Copilot поддерживает свой BYOK-сценарий: с собственным провайдером нужен аккаунт GitHub, но план Copilot не обязателен. Это правило относится к приложению и не должно автоматически переноситься на VS Code, GitHub.com или корпоративные функции.
Частые ошибки Custom Endpoint
Модель не появилась в селекторе
Проверьте актуальность VS Code, наличие записи в chatLanguageModels.json и точное совпадение Model ID. Затем выполните Developer: Reload Window. Если устройство управляется организацией, уточните, не запрещён ли локальный BYOK политикой Copilot Business или Enterprise.
Ошибка 401 или Invalid token
Повторно добавьте модель через Add Models, чтобы VS Code запросил ключ и сохранил его в secret storage. В JSON должна остаться ссылка ${input:chat.lm.secret...}, а не реальное значение. Проверьте, что ключ принадлежит вашему аккаунту BetterToken и активен.
404 или model not found
Для apiType: "chat-completions" проверьте полный URL https://www.bettertoken.ai/v1/chat/completions. Затем сравните id с актуальным Model ID в каталоге BetterToken. Base URL, полный endpoint и Model ID — три разных поля проверки.
В Chat есть ответ, но completions остались прежними
Это ожидаемая граница функции. Custom Endpoint не заменяет inline completions. Для них отдельно нужен доступ к соответствующей функции GitHub Copilot.
Что в итоге зависит от GitHub, а что — от BetterToken
GitHub контролирует аккаунт, планы Copilot, региональные и организационные ограничения, а также встроенные функции вроде inline completions. BetterToken в этом сценарии отвечает за внешний OpenAI-compatible запрос, API Key, доступный Model ID и запись использования в Dashboard.
Перед настройкой проверьте текущую поддержку BYOK в нужном клиенте. Затем откройте актуальную инструкцию BetterToken, добавьте Custom Endpoint через интерфейс VS Code и завершите проверку коротким запросом и записью в Dashboard.
FAQ
Можно ли использовать Custom Endpoint без платного плана Copilot?
Зависит от клиента и функции. Для приложения GitHub Copilot официальный документ разрешает BYOK с аккаунтом GitHub без плана Copilot. В VS Code часть Chat-сценариев с BYOK может работать без входа в Copilot, но semantic search, inline suggestions, embeddings и некоторые вспомогательные задачи сохраняют отдельные зависимости.
Заменяет ли BetterToken подписку GitHub Copilot?
Нет. BetterToken подключает внешнюю модель там, где клиент поддерживает Custom Endpoint или BYOK. Аккаунт GitHub, план, completions и другие функции Copilot остаются отдельными.
Можно ли хранить API Key в chatLanguageModels.json?
Реальное значение ключа туда записывать не следует. Введите ключ во всплывающем окне VS Code и оставьте созданную приложением secret-ссылку.
Нужен ли VPN для этой схемы?
Для подключения к BetterToken API Endpoint из России VPN не требуется. Это утверждение относится только к endpoint BetterToken. Доступ к сайту GitHub, вход, загрузка клиента, обновления и функции Copilot зависят от условий GitHub и вашей сети.