qvib.pro
EN

~9 мин чтения · всем · Обновлено: 28.07.2026

GigaChat и YandexGPT в Cline, Cursor, Claude Code

GigaChat и YandexGPT в Cline, Cursor и Claude Code

Коротко

GigaChat или ChatGPT — выбор не про то, какая модель умнее, а про то, куда уходит код. Российские модели берут ровно одну задачу: агент работает, а данные не покидают контур РФ. Технически это уже решаемо — у GigaChat есть OpenAI-совместимый эндпоинт https://api.giga.chat/v1 с моделью GigaChat, у Yandex AI Studio — https://llm.api.cloud.yandex.net/v1 с моделью, заданной полным URI gpt://<folder_id>/<модель>. Cline и Cursor подключаются напрямую через провайдер «OpenAI Compatible». Claude Code напрямую не подключается: он говорит на Anthropic Messages API, нужен прокси-переводчик — gpt2giga от команды GigaChat или LiteLLM с эндпоинтом /v1/messages. Главные грабли: токен GigaChat живёт 30 минут, а агентные клиенты хранят статический ключ и обновлять его не умеют; без корневого сертификата Минцифры соединение не устанавливается вообще — запрос падает на TLS-рукопожатии, до авторизации. У Cline вдобавок нет поля для произвольных заголовков, и folder ID приходится зашивать в идентификатор модели. По деньгам вход низкий: физлицу GigaChat при регистрации даёт 365 млн бесплатных токенов на 12 месяцев, чего с запасом хватает на пилот.

В чём задача

Ситуация типовая: в компании запрещено отправлять исходники за границу — политика безопасности, требования заказчика или прямой запрет на трансграничную передачу. При этом отказываться от агентного кодинга никто не хочет: Cline и Cursor уже в работе, откат к ручному написанию воспринимается как деградация.

Обзоров российских LLM много, но почти все они про чат-интерфейс: «зашли в веб, спросили, сравнили ответы». Про подключение к агентному клиенту, где модель должна вызывать инструменты, читать файлы и возвращать корректные диффы, там нет ничего. А это как раз то место, где всё ломается.

Что выбрать под задачу:

Критерий GigaChat YandexGPT (AI Studio) Зарубежная модель
Данные покидают РФ нет нет да
OpenAI-совместимый эндпоинт есть есть есть
Оплата в рублях по договору да да нет
Нужен корневой сертификат Минцифры да нет нет
Прямое подключение Cline через прокси да, с оговоркой да
Прямое подключение Claude Code через прокси через прокси да

Если ограничения на вывоз данных нет — задача решается проще и качественнее через зарубежных провайдеров, разбор вариантов есть в материале про бесплатные LLM-провайдеры для Cline и Roo Code. Дальше — только для случая, когда данные вывозить нельзя.

Пошагово: GigaChat

1. Ставим корневой сертификат. Это первый шаг, а не пункт в разделе «если не работает». Без сертификата НУЦ Минцифры запрос падает ещё до авторизации. Проверено 28 июля 2026 на чистой Linux-машине:

$ curl https://gigachat.devices.sberbank.ru/api/v1/models
* SSL certificate problem: self-signed certificate in certificate chain

$ curl https://api.giga.chat/v1/models
* SSL certificate problem: unable to get local issuer certificate

Сертификаты берутся на Госуслугах, инструкции по ОС — в документации GigaChat. В Python-коде альтернатива — параметр ca_bundle_file при инициализации SDK, но для агентных клиентов это не поможет: они ходят системным HTTPS-стеком, значит сертификат нужен на уровне ОС.

2. Получаем ключ. В личном кабинете создаётся Authorization key — пара client id и secret в base64. Это не API-ключ: его меняют на access token запросом к /api/v2/oauth, и токен живёт 30 минут. Разница между «ключом» и «токеном» здесь принципиальна, к ней вернёмся в подводных камнях.

3. Проверяем совместимый эндпоинт. Базовый URL — https://api.giga.chat/v1, модель для чата называется GigaChat, для эмбеддингов — EmbeddingsGigaR. Официальная формулировка честная: в руководстве по совместимости с OpenAI прямо сказано, что формат сообщений GigaChat API совместим с OpenAI API частично.

4. Поднимаем прокси. Для агентных клиентов практичнее не биться с совместимостью вручную, а поставить gpt2giga — FastAPI-прокси от ai-forever, той же команды, что делает GigaChat. Он принимает запросы в форматах OpenAI, Anthropic и Gemini и переводит их в GigaChat:

uv tool install --prerelease allow gpt2giga
# .env: GPT2GIGA_API_KEY=<свой ключ для клиентов>
#       GPT2GIGA_MODE=PROD

Прокси отдаёт POST /chat/completions и POST /embeddings для OpenAI-клиентов и POST /messages — для Anthropic-совместимых, список эндпоинтов есть в README. Второе и есть ключ к Claude Code.

5. Подключаем клиентов. В Cline выбираем провайдер OpenAI Compatible, Base URL — адрес прокси, Model ID — GigaChat. В Cursor то же самое пишется в Settings → Models → Override OpenAI Base URL. Для Claude Code переменные окружения кладутся в ~/.claude/settings.json:

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:8090",
    "ANTHROPIC_AUTH_TOKEN": "ваш-ключ-прокси",
    "ANTHROPIC_MODEL": "GigaChat"
  }
}

Имена переменных взяты из официальной документации Claude Code, порт подставьте свой.

Пошагово: YandexGPT

Здесь проще: сертификат не нужен, эндпоинт публичный, авторизация — обычный API-ключ сервисного аккаунта.

  1. Создаём сервисный аккаунт в облаке, выдаём ему роль на использование моделей, генерируем API-ключ. Биллинг в консоли должен быть включён — без этого запросы отклоняются, даже если ключ валиден.
  2. Базовый URL — https://llm.api.cloud.yandex.net/v1. Идентификатор модели задаётся полным URI: gpt://<folder_id>/yandexgpt/latest. Folder ID берётся из консоли. Часть руководств использует хост ai.api.cloud.yandex.net — оба отвечают, актуальный смотрите в документации AI Studio.
  3. В Cline: провайдер OpenAI Compatible, Base URL из пункта 2, Model ID — полный gpt://… URI, ключ — как есть.
  4. Для Claude Code — тот же трюк с переводчиком, только вместо gpt2giga берём LiteLLM: его прокси поднимает Anthropic-совместимый эндпоинт /v1/messages поверх любого провайдера из своего списка (раздел документации Anthropic /v1/messagesdocs.litellm.ai).

Проверка результата

Не верьте зелёной галочке в настройках клиента — она проверяет только доступность эндпоинта. Прогоните три сценария:

curl -X POST http://localhost:8090/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"GigaChat","messages":[{"role":"user","content":"ping"}]}'

Дальше — в самом агенте. Первое: попросите прочитать файл и назвать номер строки с конкретной функцией. Проверяется, что вызовы инструментов доходят и парсятся. Второе: попросите внести правку в две строки существующего файла. Здесь ломается чаще всего — модель возвращает не тот формат диффа, и агент зацикливается на повторных попытках. Третье: задача на 5–6 шагов подряд. Смотрите, не теряется ли контекст к четвёртому шагу.

Если первый сценарий проходит, а второй нет — дело не в подключении, а в модели. Подключение вы сделали правильно.

Подводные камни

Токен на 30 минут против статического ключа. Cline, Cursor и Claude Code хранят ключ один раз и не умеют его обновлять. У GigaChat access token живёт полчаса. Поэтому «вставить ключ напрямую в клиент» — тупик: через 30 минут посыпятся 401. Прокси нужен именно за этим — он держит обновление токена у себя, а клиенту отдаёт постоянный ключ.

У Cline нет поля для произвольных заголовков. Провайдер OpenAI Compatible даёт Base URL, API Key, Model ID и настройки контекстного окна — и всё; поля для дополнительных HTTP-заголовков в его конфигурации нет. Если интеграция требует дополнительного заголовка (у Яндекса в части руководств фигурирует OpenAI-Project с folder ID), вариантов два: указывать folder прямо в URI модели или ставить прокси, который подмешает заголовок.

Claude Code не подключается без переводчика. Он общается по Anthropic Messages API, а российские облака отдают OpenAI-совместимый интерфейс. Никакая настройка ANTHROPIC_BASE_URL сама по себе это не починит — нужен слой, который переведёт /v1/messages в /chat/completions.

Агентное качество проверяйте на своей задаче. Публичных бенчмарков многошагового tool-use для российских моделей, которым можно доверять, нет. Синтетические сравнения из обзоров меряют качество ответа в чате, а не способность держать цикл «прочитал — изменил — проверил». Ставьте пилот на реальном репозитории, а не на тестовом «напиши функцию».

Контур не станет закрытым сам по себе. Российское облако снимает вопрос трансграничной передачи, но не отменяет остальных требований к обработке персданных — что именно остаётся, разобрано в материале про ИИ и 152-ФЗ. А если политика запрещает вообще любое облако, оба варианта отпадают: остаётся модель на собственном сервере.

Что это стоит

Цены с сайта GigaChat на 28 июля 2026, для физлиц, с НДС; пакеты действуют 12 месяцев.

Что Объём Цена
Freemium при регистрации 365 млн токенов на 12 мес. 0 ₽
GigaChat Lite 20 млн токенов 1 300 ₽
GigaChat Pro 3 млн токенов 1 500 ₽
GigaChat Max 3 млн токенов 1 950 ₽
EmbeddingsGigaR 50 млн токенов 700 ₽

Бесплатный объём разложен по моделям: 250 млн на Lite, 40 млн на Pro, 25 млн на Max, 50 млн на Ultra — полная таблица в тарифах. Для пилота на одном репозитории этого хватает с запасом, для команды на потоке — нет. Тарифы Yandex AI Studio считаются иначе, по рублям за тысячу токенов, и сверяются в облачном калькуляторе.

Частые вопросы

GigaChat или ChatGPT — что лучше для кода?

Для чистого качества кода зарубежные модели пока сильнее, особенно в длинных агентных циклах с правкой файлов. Российские выигрывают там, где вопрос стоит иначе: «можно ли вообще отправить этот репозиторий наружу». Если нельзя — сравнение бессмысленно, ChatGPT не вариант ни на каких условиях. Если можно — берите зарубежную модель и не усложняйте.

Можно ли подключить GigaChat к Cursor?

Да, через провайдер OpenAI Compatible и поле Override OpenAI Base URL. Но вставлять туда адрес GigaChat напрямую не стоит: 30-минутный токен убьёт сессию. Ставьте прокси на localhost, а в Cursor указывайте его адрес. Сертификат Минцифры при этом всё равно нужен на машине, где крутится прокси.

Почему запрос падает с ошибкой сертификата?

Потому что цепочка GigaChat подписана корневым сертификатом НУЦ Минцифры, которого нет в системном хранилище по умолчанию. Симптом — SSL: CERTIFICATE_VERIFY_FAILED или unable to get local issuer certificate. Лечится установкой сертификата на уровне ОС. Отключать проверку TLS ради обхода не надо: вы теряете единственную защиту канала.

Нужен ли отдельный ключ для каждого клиента?

Если стоит прокси — нет: ему вы отдаёте настоящие учётные данные один раз, а клиентам раздаёте собственные ключи прокси, которые можно отзывать по отдельности. Это заодно решает вопрос с ротацией — базовые правила обращения с ключами есть в заметке про API-ключи и секреты.

Что делать, если агент зацикливается на правках файлов?

Почти всегда это модель не удерживает формат диффа. Сначала уменьшите шаг: просите менять один файл и одну функцию за раз. Затем проверьте, что в клиенте выставлен реальный размер контекстного окна — карточка Cline в арсенале описывает, где это настраивается. Если не помогает, задача упирается в возможности модели, а не в интеграцию.

Читайте также

Базовый разбор темы — Claude Code: с него удобно начать, если тема новая.