streaming-api-patterns
Créer des API de streaming avec SSE et WebSockets
Les fonctionnalités en temps réel échouent souvent parce que les protocoles de streaming, la reconnexion et la contre-pression sont gérés de manière incohérente. Cette skill fournit à Claude, Codex et Claude Code des modèles pratiques pour SSE, WebSockets, ReadableStream et le streaming de tokens LLM.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Ressources lisibles par les agents
Utilisez ces liens lorsqu'un AI Agent, un crawler ou un script a besoin d'un contexte propre au lieu de lire toute la page.
Tester
Utilisation de "streaming-api-patterns". J’ai besoin de mises à jour de progression en direct pour une exportation longue.
Résultat attendu:
Recommandation : utilisez SSE, car les mises à jour vont uniquement du serveur vers le navigateur. Incluez des événements keepalive, la gestion de l’abandon et un événement final de fin.
Utilisation de "streaming-api-patterns". Mon application de chat doit permettre aux utilisateurs d’envoyer et de recevoir des messages instantanément.
Résultat attendu:
Recommandation : utilisez WebSockets, car la communication est bidirectionnelle. Ajoutez l’authentification, des vérifications d’origine, un heartbeat, des limites de taille de message et un comportement de reconnexion.
Utilisation de "streaming-api-patterns". Mon stream LLM se casse parfois pendant l’analyse JSON.
Résultat attendu:
Passez en revue les limites des fragments, la gestion Unicode partielle, la mise en tampon par ligne, les marqueurs de fin et les événements d’erreur sûrs avant d’analyser chaque message.
Audit de sécurité
Risque faibleStatic analysis reported external command and weak cryptography patterns, but review found those were false positives from Markdown code fences, inline code, metadata text, and checklist wording. The network patterns are expected educational examples for SSE, WebSocket, fetch, and documentation links. One low-severity template issue remains because an error message is interpolated directly into an SSE JSON event.
Problèmes à risque faible (3)
Facteurs de risque
Motifs détectés
Score de qualité
Ce que vous pouvez construire
Streamer des réponses LLM
Créez des interfaces de chat qui affichent la sortie du modèle à mesure que les tokens arrivent, avec des marqueurs de fin et une analyse côté client.
Ajouter des mises à jour produit en direct
Choisissez SSE ou WebSockets pour les notifications, tableaux de bord, mises à jour de progression et événements d’applications collaboratives.
Évaluer la préparation au streaming
Utilisez la checklist pour vérifier la reconnexion, la contre-pression, les limites de débit, les tests et le comportement mémoire.
Essayez ces prompts
Aide-moi à choisir entre Server-Sent Events, WebSockets et ReadableStream pour ma fonctionnalité. Pose des questions sur la direction, l’échelle, l’authentification et la compatibilité navigateur.
Conçois un endpoint SSE prêt pour la production pour une application Next.js. Inclus les headers, le comportement keepalive, la gestion des déconnexions et les étapes d’analyse côté client.
Passe en revue mon flux de streaming LLM pour la latence, les fragments partiels, la gestion de la fin, les événements d’erreur et l’annulation par l’utilisateur.
Audite mon architecture en temps réel pour la contre-pression, les tempêtes de reconnexion, les limites de débit, la validation des messages, l’observabilité et les limites des connexions longues.
Bonnes pratiques
- Faites correspondre le protocole à la direction des messages, au nombre de connexions et à la compatibilité navigateur.
- Validez les messages, authentifiez les connexions et appliquez des limites de débit aux endpoints en temps réel.
- Testez les réseaux lents, les chemins de reconnexion, les clients concurrents et le comportement mémoire des connexions longues.
Éviter
- Utiliser WebSockets pour des mises à jour unidirectionnelles alors que SSE serait plus simple.
- Streamer des erreurs internes brutes ou du contenu utilisateur non assaini vers les clients.
- Ignorer la contre-pression, les limites de connexions navigateur et le comportement des tempêtes de reconnexion.