Guide du coprésentateur IA

Comment les commandes du Dock, le bot privé et l’incrustation de scène IA fonctionnent ensemble.

Fonction

Il existe deux flux de travail : un compagnon vocal continu dans cohost.html, et des actions manuelles du Dock qui envoient les phrases approuvées à cohost-overlay.html.

Commandes du Dock

Quand l’incrustation de scène est connectée, faites un clic droit sur un message du Dock et choisissez Coprésentateur. Le Dock peut lire le message, demander une réponse à l’IA ou préparer une petite taquinerie.

Incrustation de scène IA (AI Stage Overlay)

L’incrustation affiche l’avatar, la bulle de texte et, éventuellement, diffuse la synthèse vocale du navigateur. C’est la source navigateur à placer dans OBS.

Bot de chat privé (Private Chat Bot)

Answer et Light Roast utilisent le fournisseur LLM configuré via le pont Private Chat Bot. Read ne nécessite pas d’IA.

Coprésentateur multimodal

cohost.html se connecte au flux de chat SSN lorsqu’il est ouvert avec la même valeur session. Son mode par défaut, contexte uniquement, permet à l’IA de mémoriser les messages récents et d’en parler quand le streamer le demande.

Configurer le coprésentateur par clic droit dans le Dock

  1. Ouvrez le Dock Streaming Chat avec votre session : dock.html?session=YOUR_SESSION_ID.
  2. Ajoutez l’incrustation de scène IA à OBS : cohost-overlay.html?session=YOUR_SESSION_ID. Ajoutez &tts uniquement pour un flux de réponses textuelles.
  3. Pour les réponses IA, configurez un fournisseur LLM dans le menu. Pour un test rapide, choisissez SSN Hosted Trial LLM, qui utilise llm.socialstream.ninja.
  4. Activer Bots de chat et services IA > Bot de chat - Interface privée > Activer le bot de chat privé.
  5. Faites un clic droit sur un message du Dock et sélectionnez Coprésentateur. Le menu reste caché tant que l’incrustation de scène n’est pas détectée. Les lignes du Dock ne donnent pas encore accès à ce menu contextuel au clavier ; les utilisateurs du clavier peuvent utiliser le champ de saisie ou les commandes vocales de cohost.html.
Page de contrôle cohost.html avec périphériques multimédias, paramètres du fournisseur IA, instructions système et état du chat en direct
Le cohost.html page de contrôle : choisissez votre caméra et votre microphone, un fournisseur IA, les instructions système et surveillez le panneau d’état Live Chat.

Conseil : Utilisez la même valeur session pour le Dock et l’incrustation du coprésentateur. &tts s’applique aux flux d’incrustation textuelle. Quand l’audio natif du contrôleur est actif, SSN supprime la synthèse vocale en double de l’incrustation ; &forcetts contourne volontairement cette protection.

Option IA simple

llm.socialstream.ninja est disponible via SSN Hosted Trial LLM comme option simple et gratuite de test tant que l’essai est disponible.

  • Ouvrir Bots de chat et services IA > Configurer le fournisseur LLM.
  • Sélectionnez SSN Hosted Trial LLM (expérimental).
  • Laissez le point de connexion, le token et le modèle vides pour la configuration d’essai par défaut.
  • Pour un usage durable, utilisez votre propre token ou un fournisseur local si le service d’essai est désactivé ou limité.

Prise en charge des conversations vocales

  • OpenAI Realtime : Transmet le microphone sélectionné sur cohost.html directement à OpenAI pour une conversation native voix à voix. La conversation vocale et le contexte du chat restent dans la même session de coprésentateur.
  • SSN Desktop : Utilise Whisper local avec le microphone sélectionné sur cohost.html. La première utilisation télécharge environ 42 Mo ; les transcriptions suivantes fonctionnent hors ligne.
  • Lien Chrome / extension Chrome : L’extension ouvre la page hébergée du coprésentateur dans un onglet Chrome. OpenAI Realtime utilise WebRTC avec un secret client temporaire ; les fournisseurs de réponses textuelles utilisent la reconnaissance vocale de Chrome et peuvent nécessiter Internet.
  • Autres navigateurs : La reconnaissance vocale n’est pas garantie. Le chat saisi du coprésentateur, le chat en direct, l’entrée caméra/écran et les réponses LLM configurées peuvent fonctionner sans elle.

Avec OpenAI Realtime, Diagnostics devrait afficher À l’écoute (OpenAI WebRTC). Avec Desktop Whisper, il devrait afficher À l’écoute (Desktop Whisper) puis le texte reconnu sous Entendu (Heard).

Confidentialité : le microphone sélectionné, les images de caméra/écran explicitement choisies et les messages partagés par le mode Live Chat choisi sont envoyés au fournisseur IA. Les messages du public sont du contexte non fiable et ne peuvent pas autoriser les outils. Ouvrez le lien généré du contrôleur depuis le menu et gardez-le privé ; son autorisation expire après 12 heures, se limite à la session SSN actuelle et est retirée de la barre d’adresse après le chargement.

Configuration d’OpenAI Realtime

  1. Dans le menu SSN, choisissez API ChatGPT, ajoutez la clé API de votre projet OpenAI et utilisez Tester le bot de chat sélectionné.
  2. Ouvrez le lien généré cohost.html?session=YOUR_SESSION_ID depuis le menu. Son autorisation privée temporaire permet Realtime sans activer l’option séparée Private Chat Bot.
  3. Sélectionnez OpenAI Realtime. La clé standard reste dans le processus d’arrière-plan de l’extension/application SSN ; la page du coprésentateur ne reçoit qu’un secret client Realtime de courte durée.
  4. Choisissez explicitement le microphone dans lequel vous parlez, gardez Réponse audio sélectionné, puis appuyez sur Démarrer le coprésentateur.
  5. Facultatif : laissez Video source sur Aucune vidéo (valeur par défaut), ou choisissez explicitement Partage d’écran ou une caméra. OpenAI reçoit une image actuelle à chaque demande vocale ou saisie directe, plutôt qu’une vidéo continue ; cela peut ajouter du coût API et de la latence.
  6. Laissez Live Chat sur Contexte uniquement - répondre sur demande. Demandez « Que dit le chat ? » pour que la même IA vocale commente les messages récents du public.
  7. Capturez dans OBS l’audio du navigateur/de l’application du coprésentateur. La voix native OpenAI est diffusée uniquement depuis cohost.html; cohost-overlay.html reçoit l’avatar et le texte, pas ce même flux audio. Si c’est pris en charge, choisissez un câble virtuel sous Sortie du coprésentateur pour un routage OBS isolé.
  8. Gardez visible la bulle de l’incrustation de scène, ou fournissez des sous-titres, afin que la réponse IA ne soit pas accessible uniquement par l’audio.

Cela utilise la facturation de l’API OpenAI et crée une conversation SSN Realtime sur WebRTC, distincte de chatgpt.com. Les réponses sont limitées à 512 tokens de sortie ; Diagnostics affiche l’utilisation cumulée des tokens et le délai mesuré avant la première sortie. OpenAI tronque automatiquement l’audio non joué lorsque le streamer interrompt. SSN conserve au plus 20 messages récents pendant 90 secondes maximum, avec le contexte de soutien payant, membres, modérateurs, événements et canaux sources, puis supprime ce contexte temporaire. SSN vérifie les sessions silencieuses, reconnecte les transports défaillants et renouvelle les sessions avant la limite de 60 minutes. Une session récupérée réapplique les instructions système et les paramètres de performance, mais repart sans la conversation vocale précédente.

Vitesse, qualité et coût d’OpenAI

  • Modèle : Mini est généralement plus rapide et moins cher. Full quality est plus performant et plus coûteux.
  • Effort de raisonnement : Minimal ou Low réduit généralement le délai et la consommation facturée en sortie. High ou Extra high peut améliorer les réponses complexes, mais ralentir les réponses et augmenter le coût. Les changements s’appliquent pendant la connexion.
  • Vitesse de prise de parole : Fast attend environ 2 secondes au maximum pour la fin d’une idée ; Balanced environ 4 secondes ; Patient environ 8 secondes. Fast paraît plus réactif, mais peut couper une pause naturelle.
  • Diagnostics : Latency mesure le délai entre la fin du tour et le premier texte ou son, en isolant si possible le délai du modèle. Le réseau et la charge du fournisseur peuvent varier entre des demandes pourtant semblables.

Commandes facultatives du direct

OpenAI Realtime prend en charge les outils Spotify, scènes OBS et messages en vedette ci-dessous. SSN Configured LLM prend actuellement en charge Spotify uniquement ; les autres fournisseurs de coprésentateur n’exposent pas encore ces outils.

  1. Dans le menu SSN, activez uniquement les outils voulus : Spotify, scènes OBS ou messages en vedette.
  2. Pour OBS, entrez les noms exacts des scènes autorisées, séparés par des virgules, et gardez actions.html connecté à OBS, ou utilisez une source navigateur OBS avec Full Permissions.
  3. Sur cohost.html, ouvrez Commandes du direct par le coprésentateur et armez les mêmes outils pour ce contrôleur.
  4. Demandez directement, par exemple « passe à BRB », « mets en avant ce dernier message » ou « efface le message en vedette ». Les messages du public ne peuvent pas autoriser les outils, et un seul outil modifiant le direct s’exécute par demande directe du streamer.

L’accès aux outils est limité à une liste autorisée, pas à toute l’API. OBS ne peut choisir que les scènes nommées dans les paramètres SSN. Les demandes de mise en avant utilisent un message récemment capturé et nécessitent le Dock Streaming Chat ; les réponses des outils indiquent la livraison, pas la preuve qu’OBS ou l’incrustation a terminé l’action.

Communication entre les pages

Le Dock et l’incrustation utilisent le pont de session existant de Social Stream. Les messages sont envoyés sous forme de overlayNinja données et ciblés par étiquette.

Lire sur le coprésentateur : le Dock envoie le message sélectionné directement à cohost-overlay.html.

Réponse / Petite taquinerie : le Dock envoie une demande de chatbot privé au service d’arrière-plan SSN, affiche le brouillon IA dans le Dock, puis l’envoie à l’incrustation seulement après un clic du streamer sur Speak.

{
  "action": "cohostOverlay",
  "target": "cohost-overlay",
  "meta": {
    "command": "say",
    "text": "The line the avatar should say",
    "speak": true,
    "emotion": "happy"
  }
}

Actions disponibles

Action Nécessite Résultat
Lire sur le coprésentateur (Read on Co-host) Connecté cohost-overlay.html Lit le message sélectionné sur l’incrustation.
Répondre (Answer) Private Chat Bot + LLM configuré ou Hosted Trial LLM Crée un court brouillon de réponse à approuver par le streamer.
Petite taquinerie (Light Roast) Private Chat Bot + LLM configuré ou Hosted Trial LLM Crée un brouillon court, taquin et tout public à approuver par le streamer.
Parler (Speak) Brouillon du panneau d’approbation Envoie le texte approuvé à l’incrustation de scène IA.
Copier Brouillon du panneau d’approbation Copie le brouillon sans l’envoyer à l’incrustation.

État et dépannage

  • Si le menu Co-host manque, l’incrustation du coprésentateur n’est pas détectée dans la même session.
  • Si Answer ou Light Roast est désactivé, le pont SSN ou Private Chat Bot n’est pas disponible.
  • L’interrupteur principal d’incrustation du bot est facultatif et n’active pas les actions du coprésentateur par clic droit dans le Dock.
  • Si cohost.html ne voit pas le chat, vérifiez que l’URL contient la même valeur session que le menu et que Live Chat est réglé sur Context, Questions ou All.
  • Contexte uniquement partage actuellement le chat avec l’IA uniquement pour OpenAI Realtime. Les autres fournisseurs surveillent le flux sans l’injecter dans le modèle.
  • Couper le microphone arrête l’audio envoyé au coprésentateur. Couper la voix du coprésentateur, le curseur de volume, le sélecteur de périphérique de sortie et Arrêter de parler contrôlent la lecture. Couper l’audio système partagé est distinct et apparaît pour les fournisseurs prenant en charge l’écran.
  • Si un outil de contrôle du direct n’est pas disponible, activez-le dans le menu SSN et dans Commandes du direct par le coprésentateur. OBS nécessite aussi au moins un nom exact de scène dans sa liste d’autorisation.
  • Utilisez Tester l’incrustation pour envoyer une ligne de test visible sans conséquence, puis vérifier son apparition dans AI Stage Overlay dans OBS.
  • Si le coprésentateur connaît le chat mais reste silencieux, c’est normal en mode Contexte uniquement: demandez-lui ce que dit le chat. Questions ou All font prononcer des réponses automatiques depuis la page du coprésentateur ; ces réponses ne sont pas publiées dans les chats YouTube, Twitch ou Kick.
  • Si l’application de bureau affiche À l’écoute (Desktop Whisper) mais ne remplit jamais Entendu (Heard), vérifiez que le microphone choisi n’est pas coupé et laissez le premier téléchargement du modèle se terminer.
  • Si Chrome ne remplit jamais Entendu (Heard), autorisez le microphone, vérifiez le microphone par défaut du système, confirmez l’accès à Internet et vérifiez que la reconnaissance vocale de Chrome est disponible.
  • Si le texte OpenAI Realtime apparaît sans audio, vérifiez Réponse audio, les autorisations audio du navigateur et la capture audio du navigateur/de l’application dans OBS. Utilisez &tts uniquement pour le flux séparé d’incrustation textuelle.
  • Si les réponses OpenAI Realtime sont lentes, essayez Mini, un raisonnement Low et une prise de parole Fast, puis comparez la ligne Latency de Diagnostics. Un raisonnement plus élevé et le mode Patient échangent volontairement la rapidité contre plus de profondeur ou des pauses plus longues.
  • Si OpenAI Realtime se déconnecte, laissez le coprésentateur ouvert pendant ses tentatives. Diagnostics identifie les erreurs de données, de pair, de fournisseur ou de vérification d’état. Une session récupérée conserve les instructions système et paramètres de performance choisis, mais ne récupère pas la conversation vocale précédente.
  • Si une demande Answer, Light Roast ou SSN Configured LLM expire, vérifiez que Social Stream est actif, que la session correspond, que Private Chat Bot est activé et que le fournisseur LLM est joignable. OpenAI Realtime ne nécessite pas Private Chat Bot.
  • Si Local Gemma ne peut pas télécharger ses modèles depuis l’hébergement par défaut, indiquez votre propre dossier miroir Gemma comme hébergement des ressources.
  • Si l’IA d’essai hébergée ne répond plus, elle peut être désactivée ou limitée ; passez à votre propre token, Ollama ou Custom API.
  • Si plusieurs incrustations sont ouvertes, vérifiez que leur étiquette correspond à la cible du Dock. L’étiquette par défaut est cohost-overlay.

Paramètres d’URL utiles

  • session=YOUR_SESSION_ID - nécessaire pour que le Dock et l’incrustation partagent la même salle.
  • tts ou speak=1 - permet à l’incrustation de parler avec la synthèse vocale du navigateur.
  • forcetts - autorise la synthèse vocale de l’incrustation même lorsque le contrôleur du coprésentateur diffuse déjà de l’audio ; cela crée volontairement une deuxième voix.
  • label=cohost-overlay - définit l’étiquette cible de l’incrustation.
  • name=NinjaBot - définit le nom affiché sur l’incrustation.
  • avatar=https://... - utilise une image d’avatar personnalisée.
  • position=bottom-right - contrôle la position sur la scène.
  • scale=1.2 - redimensionne l’incrustation.
  • status - affiche le texte de connexion/d’état sur l’incrustation.

Notes de conception

  • Pour les flux texte manuels/du Dock, l’incrustation assure le visuel et éventuellement la synthèse vocale. Pour la voix native OpenAI, capturez cohost.html l’audio séparément ; l’incrustation de scène ne rejoue pas ce même audio WebRTC.
  • Le Dock est l’interface de contrôle ; l’approbation du streamer reste hors diffusion.
  • Les réponses générées ne sont pas lues automatiquement ; le streamer doit d’abord les approuver.
  • Les détails de commandes non standard se trouvent dans meta, afin de conserver des données prévisibles pour les incrustations et automatisations.