GigaChat и AI-помощник

Архитектура серверного GigaChat gateway и помощника в интерфейсе CUBIX.

GigaChat

Пользовательский AI-помощник доступен в рабочем layout CUBIX. Он отправляет вопросы на защищённый /api/ai/chat, а ключи GigaChat остаются только на сервере.

Переменные окружения

NUXT_GIGACHAT_CREDENTIALS=<Authorization key из кабинета GigaChat>
NUXT_GIGACHAT_SCOPE=GIGACHAT_API_PERS
NUXT_GIGACHAT_MODEL=GigaChat-2-Max
NUXT_GIGACHAT_TIMEOUT=600000
NUXT_GIGACHAT_VERIFY_SSL=false

NUXT_GIGACHAT_CREDENTIALS — готовый ключ авторизации в формате Base64 для Basic Authorization. Не кодируйте его повторно и не смешивайте с отдельными CLIENT_ID/CLIENT_SECRET.

NUXT_GIGACHAT_VERIFY_SSL=false нужен только в окружении, где сертификат GigaChat не проходит проверку доверия (self-signed certificate in certificate chain). В production следует установить доверенный CA и вернуть значение true.

Не добавляйте значения ключей в Git, frontend-код, content-файлы, логи или MCP-ответы.

Последовательность запросов

Сервер использует пакет gigachat и не передаёт credentials во frontend. SDK выполняет стандартную последовательность:

  1. POST https://ngw.devices.sberbank.ru:9443/api/v2/oauth с Basic Authorization, RqUID и scope=GIGACHAT_API_PERS.
  2. Получает временный access_token.
  3. Отправляет POST https://api.giga.chat/v1/chat/completions с Authorization: Bearer <access_token>.

Перед использованием модели проверьте её наличие через GET https://api.giga.chat/v1/models. Например, GigaChat может вернуть 404 No such model; в текущей конфигурации используется доступная модель GigaChat-2-Max.

Ограничения помощника

Помощник может объяснять документацию и рабочие сценарии. Он не должен утверждать, что создал или изменил запись, пока серверная операция не завершилась успешно. CRM write-flow должен включать права текущего пользователя, валидацию, подтверждение и обновление списка после ответа API.

Ошибки

  • 401: пользователь не вошёл в систему.
  • 400: запрос не прошёл валидацию.
  • 503: GigaChat не настроен в окружении.
  • 502: OAuth или chat-запрос к внешнему сервису завершился ошибкой. Смотрите серверную строку [GigaChat] Chat request failed или [GigaChat] OAuth request failed без вывода секретов.

Если OAuth возвращает Can't decode 'Authorization' header, проверьте, что в NUXT_GIGACHAT_CREDENTIALS находится готовый Base64 Authorization key без повторного кодирования. Если chat-запрос возвращает self-signed certificate in certificate chain, проверьте NUXT_GIGACHAT_VERIFY_SSL и сертификаты окружения.

Интерфейс сохраняет введённый вопрос при ошибке и показывает pending/error состояние.

Built with Nuxt UI • © 2026