NAiOSOmni
omnichatv0.8.1Conecta WhatsApp e Telegram a NAiOS. Panel con KPIs e gráficas, caixa unificada, resposta automática con IA e ferramentas, axentes verticais, modo de simulación para demos e multi-tenant.
Descrición
OmniChat converte calquera canal de mensaxaría nunha interface a NAiOS. Vincula WhatsApp Personal (Baileys, por QR), WhatsApp Business Platform oficial (Meta Cloud API) ou Telegram Bot. Inclúe un panel con KPIs calculados automaticamente e gráficas (de liña, donut e heatmap), unha caixa unificada en tempo real (SSE), resposta automática con IA e chamada de ferramentas, 14 ferramentas (xerar e editar imaxes, transcribir audio, enviar correo, consultar a KB, crear presentacións, landings e formularios, gardar pedidos estruturados...), 5 modos de canal (pechado, whitelist, blacklist, cliente e gateway de adquisición), un modo SIMULACIÓN para demos no que o cliente escolle que axente probar, comandos desde o self-chat (/on, /off, /pause, /ai), self-link mediante /claim para que os teus clientes rexistrados usen o seu propio contexto de NAiOS, onboarding por gateway con inicio de sesión por magic-link, AXENTES VERTICAIS: bots especializados (pedidos a domicilio, leads inmobiliarios, reservas de restaurante, etc.) con prompt, variables de negocio e JSON Schema de captura, xerados mediante un asistente de IA, con CRM integrado, recuperación automática do worker tras perder a sesión e reconexión sen volver vincular cando as credenciais seguen sendo válidas.
Funcionalidades (26)
Vincula o teu número como dispositivo por QR ou código. Admite grupos. Worker process illado.
Conexión oficial con Meta Cloud API. Risco de bloqueo cero, modelos, webhooks con HMAC verificados.
Bot oficial mediante Bot API. Token de @BotFather, sen risco e gratuíto. Admite grupos e contido multimedia.
Lista de conversas + fío + compoñedor. Notificacións push por SSE, contido multimedia visual (imaxes, audios, vídeos).
Bucle de chamada de ferramentas: 12 ferramentas listas (xerar e editar imaxes, audios, KB, correo, presentacións...).
Indicador de escritura escalado segundo a lonxitude, variación aleatoria e pausa tras unha resposta manual do propietario.
Pechado, whitelist, blacklist, cliente, gateway. Configurable visualmente.
Converte o teu canal nun funil: calquera descoñecido convidado a crear unha conta gratuíta en NAiOS mediante magic-link.
Os usuarios rexistrados poden vincular o seu WhatsApp con /claim correo + /code. O bot usa O SEU prompt e OS SEUS tokens.
Sobrescritura por peer: forzar activación/desactivación, prompt personalizado, pausa, todo desde a interface.
Editor visual por día con franxas horarias, modo fóra de oficina con mensaxe personalizada.
Cotas de mensaxes por minuto, hora e día, detección automática de ráfagas, protección contra bloqueos.
/on /off /pause /status /test /prompt /ai /help desde o teu propio self-chat.
6 modelos: restaurante, atención ao cliente, inmobiliaria, salón, vendas B2B, asistente persoal.
Endpoint con totais e estatísticas por canal, erros, mensaxes por día, sesións activas.
Crea bots especializados (pedidos, leads, reservas) describíndoos en linguaxe natural: a IA xera o prompt, os campos e o correo.
Os pedidos gárdanse na BD con JSON Schema. Vista CRM con filtros, estados, edición, notas, exportación CSV.
Aviso por correo + WhatsApp ao teléfono vinculado cando chega un pedido novo. Confirmación automática ao cliente.
Cada novo rexistro dispara un POST asinado con HMAC-SHA256 á túa URL externa (Zapier, Make, n8n, CRM). Reintento exponencial + rexistro de entregas.
4 columnas (novo / contactado / completado / arquivado) con arrastrar e soltar entre estados. Alternancia táboa/Kanban gardada.
Diagrama interactivo xerado por IA a partir do prompt: visualiza quendas, decisións, ferramentas e campos capturados. Zoom/desprazamento + exportación SVG.
Pestana principal con KPIs, gráficas (Chart.js: liña/donut/barras + heatmap D3), actividade recente unificada e comprobación de saúde con accións.
Inicio con KPIs calculados automaticamente (mensaxes, pedidos, conversión, tokens) + gráfica de liña de 30 días entrantes/saíntes + donut de estados + heatmap hora×día + principais canais/axentes + alertas de saúde.
Pon un canal en modo demo: o cliente escolle entre os axentes que habilites. 5 textos editables, comandos /exit /cambiar /menu /help, rexistros marcados cun indicador is_simulation.
Tras perder a sesión de WhatsApp Web (peche no servidor, límite de 4 dispositivos, reinicio do servidor) o worker volve arrancar só reutilizando o auth_blob gardado. Botón «Reconectar» explícito se a recuperación automática falla.
Selector de contactos integrado: axenda sincronizada (wa-personal) ou peers vistos. En Caixa escolles primeiro o canal e despois o contacto, e lévache ao fío baleiro listo para escribir.
Changelog
- Puntos de integración para outros módulos (contrato con Campañas): listChannelsFor(userId) devolve os canais do usuario (propios + compartidos con permiso de resposta) con kind/label/phone/connected; sendFor(userId, { channelId, to, text?, template?, meta? }) envía por un canal do usuario normalizando o destino ao peer de cada driver (teléfono → JID en wa-personal, díxitos en wa-cloud, chat_id@telegram) e devolve { ok, messageId, channelKind } ou { ok:false, error: bad_args|no_channel|not_connected|forbidden|needs_template|transport }. Nunca lanzan excepcións.
- wa-cloud: o erro 131047 (fóra da ventá de 24 h) repórtase como needs_template; con template { name, language, params[] } envíase o modelo de Meta.
- O envío manual da caixa e sendFor comparten o mesmo camiño interno (_dispatchOutgoing + _attributeOutgoing): rexistro na conversa e atribución sent_by_user_id idénticos; sendFor engade ademais unha entrada no log do canal (categoría send) co módulo de orixe.
- Proba nova tests/omnichat/test-send-seam.js (driver simulado).