5 points par xguru 2026-04-29 | 1 commentaires | Partager sur WhatsApp
  • Composant de contrôle vocal pour React/navigateur construit sur l’API Realtime
  • Permet d’implémenter des widgets qui réagissent à la voix, depuis la saisie de formulaires jusqu’à divers déclenchements d’actions
  • Propose un pattern de tool-constrained UI qui limite l’assistant à n’exécuter que les actions autorisées par l’application
  • Un contrôleur unique gère de bout en bout la connexion de session, le traitement audio, l’exécution des outils et l’assemblage des transcriptions, ce qui évite aux développeurs d’avoir à manipuler directement WebRTC ou le protocole Realtime
  • Lors de l’intégration dans une application existante, l’application reste l’unique source de vérité (source of truth), et la couche vocale se contente d’appeler des handlers d’application limités
  • Ce n’est pas un framework d’orchestration générique, mais un package opinionated spécialisé dans les flux d’UI du navigateur ; si vous avez besoin d’un runtime non-React ou d’une orchestration d’agents, il est recommandé d’utiliser Raw Realtime ou openai-agents-js
  • Pour l’intégration dans une application existante, un guide en 9 étapes est fourni : proxy de l’endpoint /session → création d’un wrapper voice adapter → enregistrement des outils → hoisting du contrôleur → montage des widgets
  • Le contrôleur utilise par défaut server_vad et, dans les sessions tool-only, il est configuré avec interruptResponse: false afin qu’un appel d’outil en cours ne soit pas annulé par une nouvelle entrée vocale
  • L’application de démonstration permet d’explorer divers scénarios d’intégration, comme le changement de thème, les formulaires multi-étapes, un flux d’échecs à état partagé, ou encore des expérimentations autour du wake word
  • Licence Apache-2.0

1 commentaires

 
xguru 2026-04-29

Vous pouvez voir la vidéo d’utilisation sur https://x.com/OpenAIDevs/status/2048871260512473385
Ça fonctionne plutôt bien et assez rapidement. L’usage restera sans doute limité, car le coût de l’API est contraignant..
Si ce genre de chose devient réalisable avec un modèle local, ce sera vraiment utilisable.