Skip to main content

Streaming

Specificando streaming: true in SessionConfig, puoi ricevere le risposte di Copilot in streaming. Sia la modalità stdio sia la TCP hanno di per sé un comportamento simile allo streaming. La differenza è che si iniziano a ricevere ASSISTANT_MESSAGE_DELTA.
  • Per una visualizzazione fluida, stampa senza aggiungere newline.
  • Non usare spin() di Laravel Prompts contemporaneamente, perché rovina la visualizzazione.

Pattern d’uso concreti

Comando Artisan

Come sopra, stampi direttamente con echo o $this->output->write(). La visualizzazione è la stessa di quando usi Copilot CLI direttamente, quindi è facile da comprendere. Con stream() di Laravel Prompts puoi anche mostrare con un effetto fade-in.

Distribuzione su pagina web come Server-Sent Events (SSE)

Uso con response()->eventStream()

response()->eventStream() è stato aggiunto poco prima del rilascio di Laravel 12. Questo pacchetto supporta solo Laravel 12+, quindi puoi usarlo.

Uso con response()->stream()

Esempio di codice frontend

copilot.blade.php è pensato per una verifica rapida. In produzione, se usi React o Vue è consigliato usare i pacchetti npm ufficiali di Laravel @laravel/stream-react o @laravel/stream-vue.

Distribuzione via WebSocket

Combinando le funzionalità di notifica di Laravel, il broadcasting e Reverb, puoi distribuire i delta via WebSocket.

wire:stream di Livewire

Anche in Livewire puoi realizzare visualizzazione in streaming con la direttiva wire:stream.
Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 13 luglio 2026