Streaming
Avecstreaming: true dans SessionConfig, vous recevez les réponses de Copilot en streaming.
En mode stdio comme en mode TCP, le comportement est déjà proche du streaming ; la différence est que vous recevez ASSISTANT_MESSAGE_DELTA.
- Pour un rendu fluide, affichez tel quel sans ajouter de retour à la ligne.
- N’utilisez pas
spin()de Laravel Prompts en parallèle : l’affichage se casse.
Motifs concrets d’utilisation
Commande Artisan
Comme ci-dessus, affichez directement avececho ou $this->output->write(). Le rendu est identique à celui du Copilot CLI, donc simple à comprendre. Avec stream() de Laravel Prompts, vous pouvez afficher avec un effet de fondu.
Diffusion Server-Sent Events (SSE) côté Web
Avec response()->eventStream()
response()->eventStream() a été introduit peu avant la sortie de Laravel 12. Ce paquet ne prenant en charge que Laravel 12+, vous pouvez l’utiliser.
Avec response()->stream()
Exemple de code côté front
copilot.blade.php est un simple exemple. En production avec React ou Vue, il est recommandé d’utiliser les paquets npm officiels de Laravel : @laravel/stream-react ou @laravel/stream-vue.
Diffusion en WebSocket
En combinant les notifications, le broadcasting et Reverb de Laravel, vous pouvez diffuser lesdelta via WebSocket.
wire:stream de Livewire
Avec Livewire, la directive wire:stream permet également l’affichage en streaming.
Pour les dernières informations, consultez le dépôt GitHub.