Большинство примеров чат-ботов на Spring Boot - это вызов RestTemplate в контроллере, который возвращает весь ответ сразу, а ключ хранится в application.properties. Это компилируется и подходит для демонстрации. А затем первый реальный пользователь одиннадцать секунд смотрит на пустой экран, второй получает ошибку 500, потому что провайдер ограничил частоту ваших запросов, повторная попытка воспроизводит токены, которые браузер уже отобразил, а ключ оказывается в истории Git.
Это руководство по сборке, а не библиотека. Вы открываете его с помощью Claude Code или Cursor в собственном проекте, и он спрашивает, какие версии Boot и Java вы используете, является ли приложение реактивным или работает на обычном MVC, а также где должно храниться состояние. Затем он собирает всё вместе с вами: records для DTO, WebClient для разбора SSE-фреймов провайдера, контроллер, возвращающий Flux через text event stream, или SseEmitter, если приложение не реактивное, Redis со сбросом TTL на каждом ходу, resilience4j и ключ, привязанный через configuration properties.
Один платёж - и он ваш. Никаких подписок и лицензий на одного пользователя. Файл находится в вашем репозитории и останется там для следующего сервиса.