Die meisten Spring-Boot-Beispiele für Chatbots bestehen aus einem RestTemplate-Aufruf in einem Controller, der die gesamte Antwort auf einmal zurückgibt, wobei der Schlüssel in der application.properties liegt. Es kompiliert und funktioniert in der Demo. Dann wartet der erste echte Nutzer elf Sekunden lang und sieht nichts, der zweite erhält einen 500-Fehler, weil der Anbieter eine Rate-Begrenzung aktiviert hat, ein Wiederholungsversuch gibt Tokens erneut aus, die der Browser bereits dargestellt hat, und der Schlüssel befindet sich in der Git-Historie.
Dies ist eine Bauanleitung, keine Bibliothek. Du öffnest sie mit Claude Code oder Cursor in deinem eigenen Projekt, und sie fragt dich, welche Boot- und Java-Version du verwendest, ob die Anwendung reaktiv oder normales MVC nutzt und wo der Zustand gespeichert werden soll. Danach entwickelt sie gemeinsam mit dir: Records für die DTOs, WebClient zum Parsen der SSE-Frames des Anbieters, einen Controller, der Flux über einen Text-Event-Stream zurückgibt, oder SseEmitter, wenn du nicht reaktiv arbeitest, Redis mit einer TTL, die bei jeder Interaktion zurückgesetzt wird, resilience4j und den über Configuration Properties eingebundenen Schlüssel.
Eine Zahlung, und es gehört dir. Kein Abonnement und kein Sitzplatz. Die Datei bleibt in deinem Repository und steht auch für den nächsten Service zur Verfügung.