Guia do coapresentador de IA

Como os controles do dock, o bot de chat privado e a sobreposição de palco de IA trabalham juntos.

O que faz

Existem dois fluxos de coapresentador: um assistente contínuo de voz em cohost.html, e ações manuais do dock que enviam falas aprovadas para cohost-overlay.html.

Controles do dock

Quando a sobreposição de palco estiver conectada, clique com o botão direito em uma mensagem de chat no dock e escolha Coapresentador. O dock pode ler a mensagem, pedir uma resposta à IA ou criar um rascunho de brincadeira leve.

Sobreposição de palco de IA

A sobreposição mostra o avatar, o balão de fala e, opcionalmente, áudio de síntese de voz do navegador. Esta é a Fonte de navegador que você coloca no OBS.

Bot de chat privado

Responder e Brincadeira leve usam o provedor LLM configurado pela ponte do Bot de chat privado. Ler não exige IA.

Coapresentador multimodal

cohost.html se conecta ao feed de chat ao vivo do SSN quando aberto com o mesmo session. Seu modo padrão de somente contexto permite que a IA se lembre de mensagens recentes dos espectadores e as comente quando o streamer perguntar.

Configuração do coapresentador pelo botão direito no dock

  1. Abra o dock de Chat da transmissão com sua sessão: dock.html?session=YOUR_SESSION_ID.
  2. Adicione a sobreposição de palco de IA ao OBS: cohost-overlay.html?session=YOUR_SESSION_ID. Adicione &tts apenas para um fluxo de resposta em texto.
  3. Para respostas de IA, configure um provedor LLM no popup. Para um teste rápido, escolha LLM hospedado de teste do SSN, que usa llm.socialstream.ninja.
  4. Ative Bots de chat e serviços de IA > Bot de chat - Interface privada > Ativar opção de bot de chat privado.
  5. Clique com o botão direito em uma mensagem do dock e selecione Coapresentador. O menu fica oculto até que a sobreposição de palco seja detectada. As linhas de mensagens do dock ainda não oferecem esse menu de contexto pelo teclado; usuários de teclado podem usar o campo de mensagem digitada ou os controles de voz em cohost.html.
Página de controle cohost.html mostrando dispositivos de mídia, configurações do provedor de IA, instruções de sistema e status do chat ao vivo
O cohost.html página de controle: escolha câmera e microfone, selecione um provedor de IA, defina instruções de sistema e observe o painel de status do Chat ao vivo.

Dica: Use o mesmo session para o dock e a sobreposição do coapresentador. &tts se aplica a fluxos de sobreposição de texto. Quando o áudio nativo do controlador está ativo, o SSN suprime a síntese de voz duplicada da sobreposição; &forcetts substitui essa proteção intencionalmente.

Opção simples de IA

llm.socialstream.ninja está disponível em LLM hospedado de teste do SSN como uma opção simples e gratuita para testar enquanto o serviço de teste estiver disponível.

  • Abrir Bots de chat e serviços de IA > Configurar provedor de serviço LLM.
  • Selecione LLM hospedado de teste do SSN (experimental).
  • Deixe endpoint, token e modelo vazios para a configuração padrão de teste.
  • Para uso prolongado, use seu próprio token ou um provedor local se o serviço de teste estiver desativado ou limitado.

Suporte a conversa por voz

  • OpenAI Realtime: Transmite o microfone selecionado em cohost.html diretamente para a OpenAI em uma conversa nativa de fala para fala. A conversa de voz e o contexto do chat ao vivo ficam na mesma sessão do coapresentador.
  • SSN Desktop: Usa Whisper local com o microfone selecionado em cohost.html. O primeiro uso baixa cerca de 42 MB; transcrições posteriores são executadas offline.
  • Link para Chrome / extensão do Chrome: A extensão abre a página hospedada do coapresentador em uma aba do Chrome. O OpenAI Realtime usa WebRTC com um segredo de cliente de curta duração; provedores de respostas em texto usam Reconhecimento de fala do Chrome e podem exigir internet.
  • Outros navegadores: O reconhecimento de fala não é garantido. Chat digitado do coapresentador, entrada de chat ao vivo, entrada de câmera/tela e respostas do LLM configurado ainda podem funcionar sem reconhecimento de fala.

Com OpenAI Realtime, Diagnóstico deve mostrar Ouvindo (OpenAI WebRTC). Com Desktop Whisper, deve mostrar Ouvindo (Desktop Whisper) e depois o texto reconhecido em Ouvido.

Privacidade: o microfone selecionado, quaisquer quadros de câmera/tela explicitamente selecionados e as mensagens de espectadores compartilhadas pelo modo escolhido de Chat ao vivo são enviados a esse provedor de IA. Mensagens dos espectadores são tratadas como contexto não confiável e não podem autorizar ferramentas do coapresentador. Abra o link gerado do controlador pelo popup e mantenha-o privado; sua autorização privada expira após 12 horas, fica restrita à sessão atual do SSN e é removida da barra de endereços depois que a página carrega.

Configuração do OpenAI Realtime

  1. No popup do SSN, escolha ChatGPT API, adicione sua chave de API do projeto OpenAI e use Testar bot de chat selecionado.
  2. Abra o link gerado cohost.html?session=YOUR_SESSION_ID pelo popup. Sua autorização privada e temporária de coapresentador permite Realtime sem ativar a opção separada de Bot de chat privado.
  3. Selecione OpenAI Realtime. A chave padrão fica no serviço de segundo plano da extensão/aplicativo do SSN; a página do coapresentador recebe apenas um segredo de cliente Realtime de curta duração.
  4. Escolha explicitamente o microfone em que você fala, mantenha Resposta em áudio selecionado e pressione Iniciar coapresentador.
  5. Opcional: deixe Fonte de vídeo em Sem vídeo (o padrão), ou escolha explicitamente Compartilhamento de tela ou uma câmera. A OpenAI recebe uma imagem atual a cada solicitação direta falada ou digitada, em vez de vídeo contínuo; isso pode aumentar o custo de API e a latência.
  6. Deixe Chat ao vivo em Somente contexto - responder quando solicitado. Pergunte “O que o chat está dizendo?” para que a mesma IA de voz comente as mensagens recentes dos espectadores.
  7. Capture o áudio do navegador/aplicativo do coapresentador no OBS. A voz nativa da OpenAI é reproduzida somente em cohost.html; cohost-overlay.html recebe avatar e texto, não o mesmo fluxo de áudio. Quando houver suporte, escolha um cabo virtual em Saída do coapresentador para encaminhamento isolado no OBS.
  8. Mantenha visível o balão de fala da sobreposição de palco ou forneça legendas para que a resposta da IA não esteja disponível apenas por áudio.

Isso usa o faturamento da API da OpenAI e cria uma conversa Realtime do SSN por WebRTC, separada de chatgpt.com. As respostas são limitadas a 512 tokens de saída; Diagnóstico mostra o uso acumulado de tokens e a latência medida até a primeira saída. A OpenAI corta automaticamente o áudio ainda não reproduzido quando o streamer interrompe. O SSN retém no máximo 20 mensagens recentes de chat por até 90 segundos, incluindo contexto de apoio pago, membros, moderadores, eventos e canal de origem, e depois remove esse contexto temporário. O SSN verifica sessões silenciosas, reconecta transportes que falharam e renova as sessões antes do limite de 60 minutos. Uma sessão recuperada reaplica as instruções de sistema e configurações de desempenho, mas começa sem a conversa de voz anterior.

Velocidade, qualidade e custo da OpenAI

  • Modelo: Mini normalmente é mais rápido e custa menos. Qualidade completa tem mais capacidade e custa mais.
  • Esforço de raciocínio: Mínimo ou Baixo normalmente reduz o atraso da resposta e o uso faturado de saída. Alto ou Muito alto pode melhorar respostas complexas, mas responder mais devagar e custar mais. As alterações se aplicam durante a conexão.
  • Velocidade de alternância de fala: Rápido espera até cerca de 2 segundos pelo fim de uma ideia; Equilibrado, cerca de 4 segundos; Paciente, cerca de 8 segundos. Rápido parece mais ágil, mas pode interromper uma pausa natural.
  • Diagnóstico: Latência informa o tempo entre o fim da fala e o primeiro texto ou áudio e separa o atraso do modelo quando possível. As condições de rede e a carga do provedor ainda podem variar entre solicitações semelhantes.

Controles opcionais de transmissão

O OpenAI Realtime suporta as ferramentas de Spotify, cenas do OBS e chat em destaque abaixo. O LLM configurado no SSN atualmente suporta apenas Spotify; outros provedores de coapresentador ainda não oferecem essas ferramentas.

  1. No popup do SSN, ative somente as ferramentas desejadas do coapresentador: Spotify, cenas do OBS ou chat em destaque.
  2. Para OBS, insira os nomes exatos das cenas permitidas como uma lista separada por vírgulas e mantenha actions.html conectado ao OBS, ou use uma Fonte de navegador do OBS com Permissões completas.
  3. Ligado cohost.html, abra Controles de transmissão do coapresentador e habilite as mesmas ferramentas para esse controlador.
  4. Peça diretamente, por exemplo, “mude para BRB”, “destaque a última mensagem” ou “limpe o chat em destaque”. Mensagens de espectadores não podem autorizar ferramentas, e apenas uma ferramenta que altera a transmissão é executada por solicitação direta do streamer.

O acesso às ferramentas usa uma lista de permissões, não acesso geral à API. O OBS só pode selecionar cenas nomeadas nas configurações do SSN. Solicitações de destaque usam uma mensagem recente de chat capturada e exigem o Dock de chat da transmissão; as respostas das ferramentas informam a entrega, não comprovam que o OBS ou a sobreposição concluiu a ação.

Como as páginas se comunicam

O dock e a sobreposição usam a ponte de sessão existente do Social Stream. As mensagens são enviadas como payloads overlayNinja e direcionadas por rótulo.

Ler no coapresentador: o dock envia a mensagem de chat selecionada diretamente para cohost-overlay.html.

Responder / Brincadeira leve: o dock envia uma solicitação de chatbot privado ao serviço de segundo plano do SSN, mostra o rascunho da IA no dock e só o envia à sobreposição depois que o streamer clica em Falar.

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

Ações disponíveis

Ação Exige Resultado
Ler no coapresentador Conectado cohost-overlay.html Lê a mensagem de chat selecionada na sobreposição.
Responder Bot de chat privado + LLM configurado ou LLM hospedado de teste Cria um rascunho de resposta curta para aprovação do streamer.
Brincadeira leve Bot de chat privado + LLM configurado ou LLM hospedado de teste Cria um rascunho curto, divertido e adequado para todos os públicos para aprovação do streamer.
Falar Rascunho do painel de aprovação Envia o texto aprovado à sobreposição de palco de IA.
Copiar Rascunho do painel de aprovação Copia o rascunho sem enviá-lo à sobreposição.

Status e solução de problemas

  • Se o menu Coapresentador não aparecer, a sobreposição do coapresentador não foi detectada na mesma sessão.
  • Se Responder ou Brincadeira leve estiver desativado, a ponte do SSN ou o Bot de chat privado não está disponível.
  • A opção de sobreposição do bot de chat principal é opcional e não ativa as ações de coapresentador pelo botão direito no dock.
  • Se cohost.html não estiver vendo o chat, confirme que a URL tem o mesmo session do popup e se Chat ao vivo está definido como Contexto, Perguntas ou Todas.
  • Somente contexto atualmente compartilha o chat com a IA apenas para OpenAI Realtime. Outros provedores monitoram o feed sem injetá-lo no modelo.
  • Silenciar microfone interrompe o áudio enviado ao coapresentador. Silenciar voz do coapresentador, o controle de volume, o seletor de dispositivo de saída e Parar de falar controlam a reprodução. Silenciar áudio compartilhado do sistema é separado e aparece para provedores com suporte a tela.
  • Se uma ferramenta de controle de transmissão estiver indisponível, ative-a no popup do SSN e em Controles de transmissão do coapresentador. O OBS também precisa de pelo menos um nome exato de cena na lista de permissões.
  • Use Testar sobreposição para enviar uma linha de teste visível e inofensiva e confirme que ela aparece na Sobreposição de palco de IA no OBS.
  • Se o coapresentador souber do chat, mas ficar quieto, isso é esperado em Somente contexto: pergunte o que o chat está dizendo. Perguntas ou Todas falam respostas automáticas pela página do coapresentador; não publicam essas respostas no chat do YouTube, Twitch ou Kick.
  • Se o Desktop mostrar Ouvindo (Desktop Whisper) mas nunca preencher Ouvido, confirme que o microfone selecionado não está silenciado e deixe o primeiro download do modelo terminar.
  • Se o Chrome nunca preencher Ouvido, permita o uso do microfone, confira o microfone padrão do sistema operacional, confirme o acesso à internet e verifique se o Reconhecimento de fala do Chrome está disponível.
  • Se o texto do OpenAI Realtime aparecer, mas não houver áudio, verifique Resposta em áudio, as permissões de áudio do navegador e a captura de áudio do navegador/aplicativo no OBS. Use &tts apenas para o fluxo separado de sobreposição de texto.
  • Se as respostas do OpenAI Realtime estiverem lentas, tente Mini, raciocínio Baixo e alternância de fala Rápida e compare a linha Latência em Diagnóstico. Raciocínio mais alto e alternância Paciente trocam intencionalmente velocidade por profundidade ou pausas maiores.
  • Se o OpenAI Realtime desconectar, deixe o coapresentador em execução enquanto ele tenta novamente. Diagnóstico identifica a falha de dados, par, provedor ou verificação de integridade. Uma sessão recuperada mantém as instruções de sistema e configurações de desempenho selecionadas, mas não consegue recuperar a conversa de voz anterior.
  • Se uma solicitação de Responder, Brincadeira leve ou LLM configurado no SSN expirar, confira se o Social Stream está ligado, a sessão corresponde, o Bot de chat privado está ativado e o provedor LLM selecionado está acessível. O OpenAI Realtime não exige o Bot de chat privado.
  • Se o Local Gemma não conseguir baixar os arquivos do modelo do servidor padrão de recursos, defina esse servidor como sua própria pasta espelhada do Gemma.
  • Se a IA hospedada de teste parar de responder, ela pode estar desativada ou limitada; mude para seu próprio token, Ollama ou API personalizada.
  • Se várias sobreposições estiverem abertas, verifique se o rótulo da sobreposição corresponde ao destino do dock. O rótulo padrão é cohost-overlay.

Parâmetros de URL úteis

  • session=YOUR_SESSION_ID - necessário para que o dock e a sobreposição compartilhem uma sala.
  • tts ou speak=1 - permite que a sobreposição fale usando a síntese de voz do navegador.
  • forcetts - permite síntese de voz na sobreposição mesmo quando o controlador do coapresentador já está reproduzindo áudio; isso cria intencionalmente uma segunda voz.
  • label=cohost-overlay - define o rótulo de destino da sobreposição.
  • name=NinjaBot - define o nome de exibição na sobreposição.
  • avatar=https://... - usa uma imagem de avatar personalizada.
  • position=bottom-right - controla a posição no palco.
  • scale=1.2 - altera a escala da sobreposição.
  • status - mostra texto de conexão/status na sobreposição.

Notas de design

  • Nos fluxos de texto manual/do dock, a sobreposição é a fonte visual e, opcionalmente, de síntese de voz. Para a voz nativa da OpenAI, capture cohost.html separadamente; a sobreposição de palco não reproduz o mesmo áudio WebRTC.
  • O dock é a superfície de controle, então a aprovação do streamer fica fora da transmissão.
  • As respostas geradas não são faladas automaticamente; o streamer precisa aprová-las primeiro.
  • Detalhes não padronizados de comandos ficam dentro de meta, mantendo os payloads previsíveis para sobreposições e automações.