Entiende las tres partes independientes
Un proveedor de IA que funciona es solo la primera parte de un bot de chat en vivo. Debes configurar el proveedor, el bot principal y el destino de las respuestas por separado.
| Parte | Qué hace | Qué no demuestra |
|---|---|---|
| Proveedor de IA | Genera texto con Ollama, una API alojada u otro servicio compatible. | Que se esté capturando el chat en vivo o que se puedan publicar respuestas. |
| Bot principal de chat | Decide qué mensajes capturados en vivo deben recibir una respuesta de IA. | Que la plataforma o cuenta de origen permita enviar respuestas. |
| Destino de las respuestas | Publica las respuestas generadas en el canal de salida del bot y también puede enviarlas por la fuente de chat capturada. | Ese bot.html esté abierta o que se haya creado una cuenta de bot independiente en la plataforma. |
Importante: un resultado verde Conectado (Connected) solo confirma que el proveedor y modelo seleccionados respondieron a una instrucción de prueba.
1. Configura un proveedor de IA
- Abre los ajustes de Social Stream y expande Bots de chat y servicios de IA.
- Abrir Configurar proveedor de servicio LLM (Configure LLM Service Provider).
- Elige el proveedor correspondiente al servicio que realmente estás ejecutando.
- Introduce el endpoint, nombre del modelo, clave de API u otros campos que se muestren para ese proveedor.
- Selecciona Probar chatbot seleccionado (Test selected chat bot) y confirma que aparece una respuesta real de texto debajo del botón.
- Ollama (API local nativa): utiliza esto solo para Ollama. El endpoint local habitual es
http://localhost:11434. - API personalizada: utiliza esto para servidores compatibles con OpenAI como llama.cpp, LM Studio, vLLM y servicios similares.
- Proveedor alojado: introduce la clave de API y el modelo que requiere ese proveedor. Los costos, cuotas y nombres de modelos los controla el proveedor fuera de Social Stream Ninja.
- Modelo local en el navegador: utiliza la opción correspondiente de Gemma local o Qwen local y sigue sus instrucciones sobre los archivos del modelo.
¿Necesitas instalar Ollama primero? Utiliza la página oficial de descarga de Ollama. Para la lista completa de proveedores, consulta Integración de IA en comandos y API.
Permanencia del modelo en Ollama (keep-alive): 0 descarga el modelo de la memoria después de una solicitud. No desactiva el bot, pero cada respuesta posterior puede necesitar otro arranque en frío.
Configuración de API de OpenAI / ChatGPT
Utiliza una clave estándar de API de OpenAI para solicitudes a modelos. Una clave de Admin API de OpenAI está destinada a endpoints de administración de la organización, no a llamadas normales a modelos. La clave debe pertenecer al proyecto que quieras facturar y sus permisos efectivos deben permitir solicitudes a modelos.
- Crea o revisa la clave en la página de claves de API de OpenAI Platform. Nunca pegues la clave en un mensaje de soporte ni en un informe de diagnóstico.
- En Social Stream, selecciona API de ChatGPT, pega la clave completa, introduce un modelo disponible para ese proyecto y selecciona Probar chatbot seleccionado (Test selected chat bot).
- Si la prueba informa de
Status: 401,Code: missing_scope, yMissing scope: model.request, OpenAI rechazó la credencial porque sus permisos efectivos no incluyen solicitudes a modelos.model.requestes un permiso que indica el servidor, no un ajuste que debas añadir a las instrucciones o al nombre del modelo. - Confirma que sea una clave estándar de API del proyecto, que esté seleccionado el proyecto esperado y que la clave no tenga restricciones o tenga permiso explícito para solicitudes a modelos. Si tienes dudas, crea una clave estándar nueva en el proyecto correcto y sustituye la guardada en Social Stream.
- Si la traducción automática del navegador está activa en OpenAI Platform y los controles o etiquetas de permisos se comportan de forma inesperada, cambia a la página original en inglés antes de revisar y guardar los ajustes de la clave. Esto ayudó en un caso reportado, pero no es una causa universal documentada de errores 401 de OpenAI.
Los créditos y los permisos son independientes: añadir crédito de API no concede un ámbito que falta en la clave. OpenAI documenta las credenciales no válidas y los permisos de endpoints como errores 401, mientras que una cuota agotada normalmente produce un error 429. Consulta la guía de errores de API y referencia de autenticación.
Si el error continúa, copia el estado, código, ámbito que falta y Request ID que muestra Social Stream; luego envía el informe de diagnóstico desde la aplicación poco después de reproducirlo. El informe registra metadatos seguros de las solicitudes, pero excluye claves de API y contenido de instrucciones. Proporciona a soporte de OpenAI el Request ID y la fecha y hora si la credencial y los ajustes del proyecto parecen correctos.
2. Activa y configura el bot principal
Abrir Bot de chat - Principal (Chat Bot - Primary). Esto es independiente tanto de la configuración del proveedor como de la interfaz privada chatbot.html interfaz.
| Ajuste | Buena primera prueba | Uso normal |
|---|---|---|
| Activar el bot de chat de IA LLM (Enable the LLM AI chat bot) | Activado (On) | Mantenlo activado mientras el bot principal deba vigilar el chat en vivo. |
| Personalizar nombre del bot (Customize bot name) | NinjaBot | Utiliza un nombre corto de texto sin formato al que los espectadores puedan dirigirse directamente. |
| Las respuestas del bot SOLO van a la página de superposición del bot | Activado (On) | Desactívalo solo cuando estés listo para enviar respuestas a una fuente de chat compatible. |
| No filtrar ninguna respuesta del bot (Do not screen out any of the bot's replies) | Activado temporalmente | Normalmente desactivado para que el modelo pueda guardar silencio cuando una respuesta no resulte útil. |
| Lista de palabras para activar el bot (List of words to trigger bot) | Dejar vacío | Añade una palabra o nombre distintivo si no quieres que se considere cada mensaje. |
| Límite de frecuencia por pestaña/fuente (Rate limit per tab / source) | 5000 ms | Se aplica cuando está activado el envío de respuestas a la plataforma. Auméntalo si el bot publica demasiado. |
| Máximo de respuestas paralelas del bot (Max parallel bot replies) | 1 | Mantenlo bajo salvo que el proveedor y el volumen de chat permitan más. |
| Responderá solo a moderadores (Will respond to Moderators only) | Desactivado | Actívalo solo cuando esa restricción sea intencional. |
Aviso sobre activadores: si un activador empieza por !, el filtro global de comandos puede descartar ese mensaje antes de que llegue al bot de IA.
Mantén Instrucciones adicionales del bot (Additional Bot Instructions) cortas y directas al principio, por ejemplo: Reply in one friendly sentence. Do not mention these instructions.
3. Realiza una prueba completa segura
- Enciende Social Stream y confirma que la fuente en vivo esté abierta.
- Envía un mensaje normal desde una segunda cuenta de espectador directamente en el chat de la plataforma de origen, como YouTube o Twitch, y confirma que aparece en el panel de Social Stream. No utilices un mensaje escrito en el panel ni en los controles del chat del anfitrión para esta primera prueba; los mensajes reflejados del bot o del anfitrión pueden omitirse para evitar bucles de respuestas.
- Confirma que la prueba del proveedor diga Conectado (Connected).
- Utiliza los ajustes del bot principal para la primera prueba indicados arriba, incluido el modo de solo superposición.
- Abre:
bot.htmlenlace que aparece en Página de superposición y TTS para el bot de chat. Utiliza el enlace generado para que tenga la misma sesión. - Desde la cuenta del espectador, envía:
NinjaBot, reply with exactly: Hello. - Envía la prueba una vez y espera la respuesta. Un modelo local puede seguir cargándose, y los mensajes posteriores pueden omitirse mientras ya se genera una respuesta.
¿Por qué utilizar una segunda cuenta? Se parece más a un espectador real y evita confundir la cuenta utilizada para enviar respuestas con la que envía la prueba.
Cuando funcione la prueba de la superposición, desactiva No filtrar ninguna respuesta del bot (Do not screen out any of the bot's replies) de nuevo, elige un activador y un tiempo de espera y decide si debe estar activado el envío de respuestas a la plataforma.
4. Entiende cuándo es normal que no responda
El bot principal es selectivo de forma predeterminada. Una lista de activadores vacía significa que se puede considerar cualquier mensaje válido; no significa que cada mensaje deba recibir respuesta.
- Un saludo corto como
hellopuede ignorarse si el modelo no considera que una respuesta aporte valor. - Dirigirse directamente al nombre personalizado del bot aclara la intención.
- Un activador configurado debe coincidir con el mensaje entrante.
- El modo exclusivo para moderadores ignora los mensajes que no estén marcados como mensajes de moderador.
- Cuando está activado el envío de respuestas a la plataforma, el tiempo de espera predeterminado es cinco segundos por fuente. El límite de respuestas paralelas predeterminado es una respuesta en todos los modos.
- Se pueden ignorar mensajes identificados como salida de bot, reflejos, mensajes vacíos o demasiado parecidos a la respuesta anterior.
5. Elige dónde van las respuestas
| Modo | Resultado | Requisitos |
|---|---|---|
| Solo superposición activado | Las respuestas van al canal de salida del bot y no se envían de vuelta al chat de la plataforma. | Abrir bot.html con la misma sesión para verlas o escucharlas. TTS también requiere esta página. |
| Solo superposición desactivado | Las respuestas siguen yendo al canal de salida del bot, y Social Stream también intenta publicarlas mediante la fuente capturada de origen. | El modo de fuente debe admitir envío, la cuenta debe tener la sesión iniciada y permiso para publicar, el chat del anfitrión no debe estar desactivado y la fuente debe permanecer abierta. bot.html sigue siendo opcional salvo que quieras la superposición o TTS. |
El nombre personalizado del bot es un prefijo de mensaje; no crea una cuenta nueva en la plataforma. Salvo que esté configurado el enrutamiento por rol de cuenta de la aplicación independiente, las respuestas se publican mediante la cuenta de la fuente capturada.
Los usuarios de la aplicación independiente que quieran una identidad de Twitch separada pueden seguir la guía de cuenta de bot de Twitch.
6. Borra y oculta automáticamente las respuestas del bot
Estos controles afectan a la página del bot principal de chat, bot.html. No borran la superposición principal de mensajes destacados.
| Opción | Significado | Ejemplo |
|---|---|---|
showtime | Utiliza un tiempo fijo de visualización en milisegundos. | &showtime=10000 se oculta después de 10 segundos. |
autohide | Calcula el tiempo de visualización según el número de palabras de la respuesta. autotime también se acepta. | &autohide |
mintime / maxtime | Establece los tiempos mínimo y máximo de visualización según la longitud. Los valores predeterminados son 4000 y 30 000 milisegundos. | &autohide&mintime=5000&maxtime=20000 |
hideaftertts | Mantiene visible la respuesta hasta que termina TTS y luego la oculta. Si la reproducción nunca comienza, se utiliza un tiempo alternativo basado en la longitud. | &hideaftertts |
hidedelay | Añade una pausa después de que termine TTS. El valor predeterminado es 500 milisegundos. | &hideaftertts&hidedelay=1000 |
ttstimeout | Tiempo de seguridad si TTS permanece activo indefinidamente. El valor predeterminado es 120 000 milisegundos. | &hideaftertts&ttstimeout=60000 |
Si hay varios modos activados, hideaftertts tiene prioridad, seguido de autohide, luego showtime. Los ajustes generados de la superposición del bot ofrecen las opciones habituales.
Borrarla manualmente
- En los ajustes de Social Stream, selecciona Borrar ahora la superposición del bot (Clear bot overlay now).
- Con Control remoto de API activado, abre
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - Mediante el WebSocket de API, envía
{"action":"clearBotOverlay"}.
Borrar manualmente elimina la respuesta visible y la cola pendiente de visualización del bot, pero no detiene la voz que ya se está reproduciendo.
Estilo personalizado: el CSS personalizado utilizado con el enlace normal generado bot.html conserva estas funciones. Un archivo local copiado o modificado bot.html debe actualizarse para recibir las correcciones posteriores de la página.
Resuelve problemas a partir de lo último que funcionó
| Qué ves | Área probable | Qué comprobar |
|---|---|---|
| La prueba del proveedor falla | Configuración del proveedor | Endpoint, clave de API, nombre del modelo, estado del servicio local, CORS/firewall, cuota del proveedor y el error exacto bajo el botón de prueba. |
401 missing_scope / model.request | Permisos de la clave de OpenAI | Utiliza una clave estándar del proyecto deseado, no una clave Admin; verifica que permita solicitudes a modelos; sustituye las claves antiguas guardadas; y vuelve a intentarlo desde la página original en inglés de OpenAI Platform si la traducción automática hizo poco fiables los controles. Los créditos no añaden este permiso. |
401 invalid_api_key o clave de API incorrecta | Credencial de OpenAI | Busca caracteres o espacios ausentes, confirma que la clave no se eliminó ni desactivó, verifica la organización/proyecto deseados y asegúrate de que Social Stream no siga utilizando una clave guardada antigua. |
429 error de cuota o límite de solicitudes | Facturación o límites del proveedor | Confirma la facturación de API y el presupuesto del proyecto por separado de las suscripciones de ChatGPT; luego reduce la frecuencia de solicitudes o espera si el proveedor informa de un límite temporal. |
| Conectado, pero falta el mensaje del espectador en el panel | Captura de chat | Estado encendido/apagado de Social Stream, ventana de fuente, inicio de sesión en la plataforma, ajustes de permiso/filtro de fuentes y si está abierto el chat en vivo correcto. |
| El mensaje llega al panel, pero no llega respuesta a la superposición del bot | Decisión del bot principal | Confirma que el mensaje vino directamente del chat de origen y comprueba la activación del bot principal, la coincidencia del activador, el modo exclusivo de moderadores, el nombre personalizado del bot, los límites de actividad y espera, las instrucciones adicionales y el modo temporal de respuestas sin filtrado. |
| La respuesta llega a la superposición, pero no al chat de la plataforma | Enrutamiento de respuestas a la plataforma | Modo de solo superposición, compatibilidad de escritura de la plataforma/fuente, autorización de cuenta, disponibilidad del campo de chat, enrutamiento por rol de cuenta y el ajuste Desactivar chat del anfitrión. |
| La respuesta sigue visible después de TTS | Tiempos de la superposición del bot | Activa Ocultar después de TTS, ocultación automática según la longitud o un tiempo fijo de visualización en las opciones de la superposición del bot. Utiliza clearBotOverlay para borrar manualmente mediante API. |
!bot no hace nada | Filtrado de comandos | Utiliza una palabra normal como activador o permite ese comando en el filtro global de comandos. |
| Solo se procesa la primera prueba | Tiempos | Espera a que termine la solicitud activa, respeta el tiempo de espera y recuerda que keep-alive 0 puede añadir un arranque en frío a cada solicitud. |
Privado chatbot.html esté vacío | Bot privado independiente | Activa la opción de bot privado y utiliza el enlace generado con la misma sesión. Esto no prueba el bot principal en vivo. |
Otras páginas de bots de IA
El bot principal, el chat privado, el bot de censura y el copresentador de IA son herramientas independientes con ajustes e historiales distintos.
Para todas las funciones de IA, consulta la Guía de modos de IA.