Saltar al contenido
OpenCohost Kira
Modo de operación en vivo

Usá Co-host Agenda Mode cuando Kira tenga que sostener el stream sin tomar el control.

El modo co-host no es autonomía total. El streamer prepara o aprueba la dirección, y Kira ayuda con ritmo, transiciones, turnos cortos y reacciones compactas del chat dentro de ese carril.

Versión en simple

Pensá a Kira como una co-host de radio con una escaleta preparada. Vos elegís el segmento, Kira ayuda a mantenerlo vivo, y el host puede interrumpirla o frenarla en cualquier momento.

Cómo fluye un segmento co-host

1

El host elige tema

La dirección del stream empieza con una idea aprobada por una persona.

2

Kira abre

Kira hace una intro o transición corta, no una clase eterna.

3

Llegan señales live

PTT, input del host, resumen de chat y timers pueden cambiar el siguiente turno.

4

Stop seguro

El host puede pausar o cortar el segmento sin perder control.

Camino rápido

  1. 1Prepará pocos temas aprobados por el streamer, con título, ángulo y restricciones.
  2. 2Activá Co-host Agenda Mode solo cuando el host quiera que Kira ayude a conducir el segmento.
  3. 3Dejá que Kira abra el tema activo, hable en turnos cortos y espere PTT, chat compactado o señales de timer.
  4. 4Usá soft stop en límites seguros; usá emergency stop solo cuando haya que cortar habla o generación.

Qué controla el modo

Dirección humana

Kira no inventa el plan del show. Los temas y la dirección se aprueban primero por el streamer.

Turnos cortos

Cada intervención debería encajar en el ritmo del vivo: una idea, una transición o una reacción.

Prioridad de entradas

PTT y entrada directa del host pesan más que chat; chat se filtra y compacta antes de entrar como contexto.

Recuperación segura

Stop y retry respetan límites de habla/generación para degradar el show en vez de bloquearlo.

Cuándo sirve / cuándo no

Usalo cuando

Tenés un segmento planeado y querés que Kira ayude con ritmo, transiciones y reacciones livianas.

Evitá usarlo cuando

Querés hablar libremente sin agenda guiada por IA, o cuando el tema todavía no está aprobado.

Notas para desarrolladores

No construyas autonomía infinita
La dirección del producto es co-host determinístico con agenda, no "Kira corre el stream para siempre".
Chat es una señal secundaria
El chat crudo debe convertirse en intención compacta, no en un dump directo al modelo.
Las cards enriquecen el modo directo
Una card ARMED que coincida puede inyectarse para PTT/entrada manual del host sin consumirse.
Cards editoriales

Las cards son contexto curado para Kira, no temas de agenda.

Usá cards para guardar una postura, gancho, contrapunto o ángulo de investigación que Kira pueda inyectar cuando aparezca un tema o una pregunta directa del host que coincida.

Versión en simple

Una card es una nota adhesiva para Kira. Le dice: "si aparece este tema, acordate de este punto preparado". No es todo el plan del stream.

Ciclo de vida de una card

1

Draft

Escribís la idea mientras todavía está oculta para Kira.

2

Arm

La marcás como lista para que Kira pueda usarla cuando llegue el momento.

3

Match o link

Se adjunta por triggers o la vinculás manualmente a un topic.

4

Usar o rearmar

Conservás historial, desactivás notas viejas o rearmás conocimiento útil.

Camino rápido

  1. 1Creá una card con topic, resumen, postura del streamer, contrapuntos opcionales, hooks, triggers y expiración.
  2. 2Armá la card cuando esté lista. Las cards en DRAFT son invisibles para Kira.
  3. 3Dejá que auto-attach vincule una card ARMED a un tema de agenda, o usá link como override determinístico.
  4. 4Usá rearm para conocimiento reutilizable, disable para cards obsoletas y delete solo cuando quieras borrado duro.

Ciclo de vida

DRAFT

Editable e invisible para Kira. Estado seguro de preparación para humanos y agentes.

ARMED

Disponible para auto-attach, inyección en entrada directa del host o link explícito.

ACTIVE / USED

ACTIVE significa seleccionada para un tema; USED conserva historial después de que Kira la consume.

EXPIRED

Queda fuera del matching. Puede rearmarse si el contenido vuelve a ser útil otra vez.

Qué debería escribir un usuario

Escribí el punto

Mantené la card enfocada: una postura, un gancho, un dato útil o un contrapunto.

Agregá triggers

Sumá nombres, juegos, temas y frases que el host realmente podría decir en vivo.

No pegues investigación cruda

Resumí primero. Kira necesita una señal clara para el vivo, no una pared de notas.

Reglas que importan

Cards vs topics
Las cards son conocimiento reutilizable. Los topics son instancias de agenda. No uses cards como reemplazo de la cola de temas.
Los triggers importan
La entrada conversacional del host puede no coincidir con el título de la card. Agregá nombres de juegos, personas o frases recurrentes.
Chat nunca dispara inyección de cards
Solo califica el camino directo del host. Chat y snapshots de SmartAggregator no deben inyectar cards silenciosamente.
Link debe coincidir con el slug
La CLI valida topic_id contra el topic slug de la card antes de activar un link determinístico.
CLI para operadores y agentes

Usá la CLI para flujos repetibles de cards y topic inbox.

La CLI editorial es un proceso one-shot: cada comando abre SQLite, hace una transacción, imprime y sale. Eso la vuelve segura para automatización y scripts controlados.

Versión en simple

La mayoría de streamers no necesita la CLI. Es para operadores, scripts y agentes que preparan cards o sugerencias de topics de forma repetible.

Flujo seguro con CLI

1

Preparar

Una persona, script o agente crea una card chica o propuesta de topic.

2

Validar

La CLI acepta solo input acotado y curado, con errores claros.

3

Revisar

Las propuestas de topic todavía necesitan revisión humana en la app.

4

Usar en vivo

El contenido aprobado puede asistir a Kira durante el stream.

Camino rápido

  1. 1Corré los comandos desde la raíz del repo o desde el entorno Python empaquetado.
  2. 2Usá --json para agentes y parseá stderr cuando el exit code sea distinto de cero.
  3. 3Tratá exit 1 como un resultado decidido de validación/estado, no como algo para reintentar a ciegas.
  4. 4Reintentá solo fallos transitorios "database is locked", con backoff.

Quién debería usarla

Streamer

Usá primero la UI de la app. Es el camino más seguro y claro para operar en vivo.

Operador

Usá la CLI para preparar muchas cards o propuestas antes del show.

Agente/script

Usá --json, revisá exit codes y nunca asumas que un topic quedó aprobado.

Comandos comunes

Crear una card
python -m opencohost.editorial_cli --json create --from-json
Armar e inspeccionar
python -m opencohost.editorial_cli arm <card_id>
python -m opencohost.editorial_cli show <card_id> --json
Link explícito de card
python -m opencohost.editorial_cli link <topic_slug> <card_id>
Proponer un topic
python -m opencohost.editorial_cli topic propose --title "<title>" --angle "<angle>" --source "<agent>"
Listar o descartar propuestas
python -m opencohost.editorial_cli topic list --json
python -m opencohost.editorial_cli topic discard <ti_id>

Límites duros

No hay aprobación de topics por CLI
topic approve se rechaza a propósito. La aprobación ocurre en la app, donde el operador puede leer título y ángulo.
Solo contexto curado
Las cards rechazan dumps crudos, contenido tipo código y campos demasiado grandes. Los agentes deben resumir antes de escribir.
Una operación por proceso
No hay daemon ni memoria de sesión en la CLI; el orden de comandos es la máquina de estados.
Integraciones de stream

Conectá avatar por OBS y chat por link; mantené Stream Admin restringido.

OpenCohost debe simplificar integraciones de stream sin pedir credenciales peligrosas por defecto. Avatar y chat por link son el camino seguro; Stream Admin queda como MVP restringido/de pruebas.

Versión en simple

Hay dos conexiones normales: OBS muestra a Kira visualmente, y el link de chat le permite entender la sala. Stream Admin es distinto: puede tocar controles del canal, por eso queda restringido.

Mapa seguro de conexión al stream

1

Avatar OBS

Solo estado visual: Kira cambia imagen/estado dentro de OBS.

2

URL de chat

Lee el chat en vivo desde un link de YouTube/Twitch.

3

OpenCohost

Convierte señales en contexto seguro para Kira.

4

Stream Admin

MVP restringido para pruebas admin privilegiadas, no el flujo normal de chat.

Camino rápido

  1. 1Para el avatar, activá OBS WebSocket, creá una fuente Image llamada KiraAvatar y configurá host, port, password, source y scene desde el panel de avatar o config/avatar.yaml.
  2. 2Usá "Test connection" antes de salir en vivo. El avatar bridge actualiza fuentes de imagen en OBS cuando cambia el estado de Kira.
  3. 3Para chat, pegá el link del live/chat de YouTube o Twitch en el campo de conexión de chat. Este camino es solo por link y no debe pedir permisos OAuth de escritura.
  4. 4Mantené Stream Admin deshabilitado/restringido salvo que estés probando explícitamente flujos admin MVP con credenciales aprobadas o descartables.

Features destacadas

Avatar por OBS

Kira puede exponer estados idle, listening, thinking, speaking y relacionados actualizando fuentes de imagen en OBS.

Chat solo por URL

El streamer pega un link de live/chat de YouTube o Twitch; OpenCohost lo trata como fuente de chat, no como administración del canal.

Soporte Stream Chico

Stream Chico baja thresholds/cooldowns para que salas pequeñas también generen momentos útiles de co-host.

Stream Admin MVP

OAuth y operaciones admin siguen restringidas, gated por aprobación y orientadas a pruebas porque los permisos de escritura son de alto riesgo.

Seguro vs restringido

Seguro por defecto

Avatar OBS y chat por link son el camino normal para usuarios.

Restringido

OAuth y acciones admin son solo modo prueba y requieren aprobación explícita.

No prometas

No describas Stream Admin como control general del canal hasta que esté validado y publicado.

Límites que hay que documentar claro

Requisitos de fuente OBS
Las actualizaciones de imagen en OBS WebSocket v5 deben preservar settings y setear file y local_file en fuentes de imagen.
Chat por link está separado de admin
Pegar un link de chat no implica editar título, moderar, postear en chat ni guardar tokens OAuth.
Stream Admin está restringido
El MVP puede exponer capacidades admin de YouTube en pruebas controladas, pero la doc pública debe tratarlo como restringido y con aprobación. Twitch admin queda futuro/placeholder salvo validación separada.