Skip to main content

Streaming

Wenn Sie in SessionConfig streaming: true angeben, empfangen Sie die Antworten von Copilot als Stream. Auch stdio- und TCP-Modus zeigen von Haus aus ein streaming-ähnliches Verhalten. Der Unterschied ist, dass zusätzlich ASSISTANT_MESSAGE_DELTA empfangen wird.
  • Für eine flüssige Anzeige geben Sie den Inhalt ohne zusätzliche Zeilenumbrüche direkt aus.
  • Verwenden Sie spin() aus Laravel Prompts hier nicht, da die Darstellung sonst zerstört wird.

Konkrete Anwendungsmuster

Artisan-Command

Wie oben gezeigt geben Sie die Ausgabe direkt per echo oder $this->output->write() aus. Die Darstellung entspricht der der direkt genutzten Copilot CLI und ist daher intuitiv. Mit stream() aus Laravel Prompts erhalten Sie zusätzlich einen Fade-in-Effekt.

Auslieferung an eine Webseite als Server-Sent Events (SSE)

Variante mit response()->eventStream()

response()->eventStream() wurde kurz vor dem Release von Laravel 12 hinzugefügt. Da dieses Paket ausschließlich Laravel 12 und höher unterstützt, ist es nutzbar.

Variante mit response()->stream()

Beispiel-Code der Frontend-Seite

copilot.blade.php dient nur der einfachen Anzeigeprüfung. Für den Produktivbetrieb mit React oder Vue empfehlen sich die offiziellen npm-Pakete von Laravel: @laravel/stream-react bzw. @laravel/stream-vue.

Auslieferung über WebSocket

Durch Kombination von Laravel-Notifications, Broadcasting und Reverb lassen sich delta-Ereignisse auch per WebSocket ausliefern.

wire:stream in Livewire

Auch in Livewire ist eine Streaming-Anzeige mit der Direktive wire:stream möglich.
Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 13. Juli 2026