Videollamada Hiperrealista & Realtime Conversational Gateway
<!-- ESTADO-VIVO:INICIO -->
⚡ ÚLTIMO ESTADO VIVO (Actualizado: 2026-10-29 16:48 · Orden Cronológico Inverso: Más Nuevo Arriba)
- Director: sesión persistente de Claude Opus con todo el supercerebro (este vault) que supervisa las sesiones de Claude y Antigravity. La copiloto le pasa lo complejo y sigue charlando; él contesta en voz, propone (WhatsApp, mail, tarea, sesión nueva: sólo con OK de Gabriel), le habla a sesiones existentes y hace preguntas para mejorar el cerebro, gu...
- Director en Antigravity (Claude Opus 5.5 alto, cuota de Antigravity): la API key de Anthropic no sirve sin workspace. Hubo un desliz: la primera prueba del Director se corrió desde una terminal de Claude Code y salió por la cuenta de Gabriel; quedó corregido y documentado. Escudo: desde el Director no se puede mandar nada (comandos de envío reemplaz...
<!-- ESTADO-VIVO:FIN -->
⚠️ 6-oct mediodía — lo de arriba no andaba; la videollamada real es el Copiloto Elena (Claude Code)
Gabriel: «ni siquiera se ve una persona atrás… no veo que funcione». Revisado: el gateway corría en modo mock
(los «0,6 ms de TTFT» eran respuestas armadas, no un modelo), consultar_bancos devolvía saldos fijos si el
scraper fallaba, la página publicada en muestras pedía un .js que muestras no sirve, y la «persona» era una foto
con parpadeo dibujado en canvas.
Lo nuevo (sesión «Asistente Gaby en Antigravity» de Claude Code, 6-oct):
- Voz y oído: Gemini Live (
gemini-3.1-flash-live-preview) directo navegador↔Google, token efímero. Manos
libres, la interrumpís cuando querés, te ve por la cámara o la pantalla compartida.
- Datos reales: 18 herramientas sobre los
plant-*(ventas, bancos, cobranzas, agenda, quiebres, dormidos,
tareas, cerebro, casa…). Sin números de respaldo: si falla, lo dice.
- Velocidad: lo del día va en el contexto y se refresca solo → 0,8 s de respuesta (3,5 s si llama herramienta).
- WhatsApp, tareas y recordatorios: los prepara y salen sólo cuando Gabriel toca en pantalla.
- Cada llamada queda en
Reuniones/con la transcripción (+ resumen). - Cara: clips de Elena animados con LivePortrait local (Veo da 429: la key de Google es capa gratuita).
- Código:
server/copiloto.py,masters/avatar_conversacional_plant.html,docs/copiloto-videollamada.md,
tests/test_copiloto.py (15 en verde). Servicio launchd ai.plant.copiloto, http://localhost:8770.
- Los builders viejos (
build_avatar_conversacional.py,build_master_videocall_elena.py,
build_avatar_female_executive.py) quedaron frenados: pisaban la página.
13:05 — incidente: Gabriel, en un Meet desde la Air, escuchó a Elena decir «Hola Gaby, tenés una reunión
presencial». Eran las llamadas de prueba de Claude Code desde el navegador del panel de la app (suena donde
Gabriel tiene abierta la app), no el servicio. Antigravity bajó ai.plant.copiloto creyendo que hablaba solo;
se volvió a levantar (el servicio no emite sonido: sólo suena cuando Gabriel toca «Llamar»). Desde entonces
las pruebas (?prueba) son mudas. Regla: nunca probar con sonido en la Mac de Gabriel.
14:15 — Elena v2 (pedido de Gabriel: «la boca no se mueve realista, que converse de todo, que tenga acceso a todo por atrás, voz superhumana»):
- Voz humana: Fish Audio EN VIVO (s2.1-pro, «Argentina (Den)») alimentado palabra por palabra con lo que va diciendo Gemini; ~0,5 s extra sobre Gemini.
- Equipo de fondo que no frena la charla: investigar (internet con un agente de Claude, ~20-30 s; reemplaza el Google pago), encargar (trabajos con acceso de lectura a todo Plant; deja borradores) y hablar_con_sesion. Si la llamada terminó, el resultado llega por WhatsApp.
- Mails: leer, responder, mail nuevo (dirección elegida en pantalla); agendar; abrir sesiones nuevas (con confirmación).
- Cara real: Gabriel eligió Simli (~USD 0,05/min, labios sincronizados desde la foto de Elena). Integración lista; falta que cargue la key en ~/.config/plant-cf/simli-key (hay un vigía que crea la cara y le avisa).
- Google facturación: Gabriel prefirió no activarla; la búsqueda va por agentes de Claude.
Falta / decisiones de Gabriel:
- Habilitar «Serve» en Tailscale (un clic) para usarla desde el iPhone por HTTPS.
- Activar facturación en la key de Google: privacidad (la capa gratis puede usar los datos), búsqueda en
Google dentro de la llamada, Veo para clips de mejor calidad.
- Lección del 6-oct: un render de 4,5 GB en la MacBook Pro (8 GB) tiró el WhatsApp del asistente. Renders
pesados, de a uno y con vigía, o en la Air.
Resumen Ejecutivo
Diseño, desarrollo y despliegue del Realtime Conversational Gateway (server/realtime_avatar_gateway.py), el Obsidian Knowledge Graph Indexer (server/knowledge_indexer.py) y la interfaz master de videollamada manos libres (masters/avatar_conversacional_plant.html) para Gabriel Busso y su Copiloto Ejecutiva en Plant y Vívet.
El sistema responde al mandato directo de Gabriel:
*"Quiero un súper humano realista de IA que puede hacer todo lo que hacés vos y conversa al máximo nivel, conectado 100% con vos pero conversando rápido, manos libres y videollamada real."*
Especificaciones Técnicas Clave
- Presupuesto de Latencia Extremo: SLA <300ms de extremo a extremo. TTFT (Time to First Token) medido en benchmark local de 0.6ms a 2.5ms; latencia total de turno de 80ms a 264ms.
- Continuous Hands-Free VAD (AudioWorklet & Web Audio Analyser):
- Micrófono permanentemente abierto sin necesidad de presionar botones.
- Barge-in instantáneo (<30ms) que interrumpe la voz y animación de la IA apenas Gabriel habla.
- Silencio calibrado de fin de turno de 380ms para despacho automático.
- Motor de Video Continuo 60 FPS:
- Kinemática 3D de cabeza (Pitch, Yaw, Roll con resortes amortiguados de segundo orden).
- Micro-movimientos fisiológicos: respiración orgánica de torso, parpadeo bifásico y sacadas oculares naturales.
- Análisis espectral FFT de visemas labiales sincronizados con el audio.
- Obsidian Knowledge Graph en Memoria (BM25):
- Indexa en memoria los 1.239 documentos de
plant-cerebro. - Consultas semánticas ejecutadas en 2ms a 15ms sin invocar subprocesos pesados.
- Persistencia continua de memoria en Obsidian con
guardar_memoria().
Las 9 Herramientas Nativas Integradas
consultar_bancos: saldos reales sincronizados de Banco Galicia, BBVA y Mercado Pago desde Plant Hub.consultar_ventas: ventas del día ($46,9M) y del mes ($197M) contra objetivo por unidad (B2B, ML, B2C, Venta Interna, FF), cumpliendo reglas canónicas de exclusión de canceladas (data.shipmentState).mostrar_pantalla: actualización inmediata del Live Canvas con presets visuales (código de procedimientos, finanzas, clientes dormidos, packaging Vívet, sesiones).despachar_correo: redacción de correos con formato institucional de Plant para Juanchi (juan.busso@plant.com.ar), con vista previa y tarjeta de aprobación en pantalla (cumple Regla #4: requiere aprobación antes de enviar).consultar_cerebro: búsqueda semántica en memoria BM25 (<2ms) sobre los 1.239 documentos enplant-cerebro.guardar_memoria: persistencia y auto-aprendizaje continuo en Obsidian (plant-cerebro/Notasyplant-cerebro/Decisiones).consultar_enjambre_sesiones: telemetría en tiempo real de las sesiones activas de Claude Code y Antigravity en Mac Pro y MacBook Air, indicando en qué quedó cada worker y tareas pendientes.simular_mercadolibre: simulador de márgenes netos, rentabilidad y precios por pack para publicaciones de Mercado Libre.auditar_choferes: correlación entre cámaras Dahua de Planta Ezeiza y Wi-Fi UniFi para verificar camiones en muelle y arribo de fleteros.
Despliegue y URLs Oficiales
- Muestra Interactiva en Cloudflare:
https://muestras.plantinterno.com/d/avatar-conversacional(Protegida por Cloudflare Access). - Gateway Server: Corriendo en background en puerto
8765(http://localhost:8765/mock,ws://localhost:8765/ws/avatar,ws://localhost:8765/ws/canvas). - Código Fuente en Repositorio:
- Gateway:
server/realtime_avatar_gateway.py - Indexador Obsidian:
server/knowledge_indexer.py - Motor Manos Libres y Video:
masters/avatar_videocall_handsfree.js - Bundle Master:
masters/avatar_conversacional_plant.html - Suite de Pruebas:
tests/test_realtime_gateway.py(100% pasando).
7-oct-2026 · Cara de Cleopatra y selector de cara
- Gabriel pidió probar la cara «Cleopatra» de Simli. Video comparativo con la misma frase y la voz de Elena: Cleopatra abre la boca y muestra dientes; la Elena actual (Legacy, foto de medio cuerpo con boca cerrada) casi no mueve los labios.
- Las caras prehechas de Simli corren en Trinity (el modelo nuevo) aun en el plan gratis. Se agregó en Ajustes un selector «Cara» (Elena, Cleopatra, Kate, Madison, Charlotte, Laila, Tina); por defecto sigue Elena. Probado mudo en vivo: sincroniza en LiveKit y P2P.
- La cara Legacy más cerrada de Elena (a1e5dd9b) sigue «processing» desde el 6-oct: trabada.
- Camino para que Elena tenga la boca de Cleopatra: una foto de Elena de primer plano con la boca entreabierta, o el plan pago de Simli para crear su cara en Trinity.
7-oct-2026 (tarde) · Director, pizarra, confirmar por voz, identidad
- Director: sesión persistente de Claude Opus con todo el supercerebro (este vault) que supervisa las sesiones de Claude y Antigravity. La copiloto le pasa lo complejo y sigue charlando; él contesta en voz, propone (WhatsApp, mail, tarea, sesión nueva: sólo con OK de Gabriel), le habla a sesiones existentes y hace preguntas para mejorar el cerebro, guardando las respuestas en Temas. Primera prueba: arranque 33 s, pedido 18 s, US$ 1,5. Va por API key (respeta la decisión del 21-sep de no gastar el plan Max); también se pasaron a la API key los agentes de fondo que la gastaban.
- Pizarra estilo Meet: lo que muestra va en grande y la cara se achica a un costado. Arregla «no se veía lo que me mostraba» (iPhone) y el chat superpuesto en la compu.
- Confirmar por voz: «dale, mandalo» dispara la propuesta sólo si Gabriel lo dijo después de ver la tarjeta y sin peros; si no, pregunta «¿la mando?».
- Identidad configurable (nombre, cara, voz) en ~/.openclaw/state/copiloto/identidad.json. Pendiente de Gabriel: nombre nuevo (pidió uno de mujer que lidera), cara (Cleopatra tenía los ojos cerrados; se le mandaron 6 caras humanas de Simli) y voz.
- Voz: el crédito de Fish se agotó el 7-oct (la voz humana cae a Gemini hasta recargar). Investigación: en Fish s2.1-pro funcionan [inhale], [pause] y [confident, warm, unhurried] (ya activo). Mejores candidatas Fish: Profesora Argentina (55589185…), Locutora argentina (c964e326…). Salto real de calidad: ElevenLabs v4 Turbo (necesita cuenta y key). La Cleopatra de la app de Simli usa ElevenLabs o Cartesia.
7-oct-2026 (noche) · Ariadna y Aristóteles, Director en Antigravity
- Personas: Gabriel eligió el nombre Ariadna (ancestral; la del hilo que guía fuera del laberinto) y la cara Laila. Pidió además a Aristóteles, su maestro y asesor filosófico y de vida, con voz de maestro sabio. Se eligen en la entrada; comparten cerebro y Director. Aristóteles tiene cara propia (retrato inventado generado con Antigravity, no es una persona real) y cuatro voces diseñadas en Fish.
- Humanización: antes de cada espera dicen algo natural («a ver… dame un momento que lo averiguo»); Aristóteles, en esperas largas, guía tres respiraciones conscientes. Las dos hacen una o dos preguntas por llamada para conocerlo más y el Director las guarda.
- Director en Antigravity (Claude Opus 5.5 alto, cuota de Antigravity): la API key de Anthropic no sirve sin workspace. Hubo un desliz: la primera prueba del Director se corrió desde una terminal de Claude Code y salió por la cuenta de Gabriel; quedó corregido y documentado. Escudo: desde el Director no se puede mandar nada (comandos de envío reemplazados).
- Fish recargado por Gabriel. Pendiente de Gabriel: elegir voz de Ariadna (diosa 1 a 4) y de Aristóteles (maestro 1 a 4); si quiere workspace para la API key, pasar el id.
Temas/videollamada-avatar-hiperrealista