Voltar ao catálogo

NAiOSOmni Web

omnichat-webv0.1.0

Acrescenta um chatbot incorporável (widget de chat) ao NAiOSOmni. Cole um <script> em qualquer site e o visitante conversa com o seu agente; aparece como mais um canal na Caixa de entrada unificada.

Só para utilizadores MAXComunicaciónwebwidgetchatbotembedomnichatchannellead-captureNAiOS Team
Funções
3
Versão
0.1.0
Licença
MIT
Serviços
—

Descrição

Plugin acoplado ao NAiOSOmni: regista um driver 'web-widget' no ChannelRegistry para que qualquer site possa incorporar um chatbot. O transporte é long-polling stateless (à prova de Passenger multi-worker): o visitante faz POST da sua mensagem e consulta (poll) as respostas do bot/operador a partir da BD. Tudo o resto (agentes do assistente, tool-loop, captura de leads para o CRM, webhooks, caixa de entrada, dashboards, partilha) é herdado do core sem alterações de esquema. O específico da web (visitor_id, página de origem, user-agent, referrer) fica em media_meta JSON; o aspeto visual, os domínios CORS e o sub-orçamento diário ficam em driver_config.

Funcionalidades (3)

Chatbot incorporável

Um <script> no site do cliente e o balão de chat aparece. Zero dependências, Shadow DOM isolado.

Mesmo cérebro que WhatsApp/Telegram

O agente do assistente, as tools, a captura de leads para o CRM e a caixa de entrada unificada são herdados tal como estão.

Seguro e multi-processo

Long-polling stateless + CORS por domínio + rate-limit por IP + sub-orçamento diário de tokens.

Changelog

v0.1.02026-06-04
  • MVP (Fases 0-6) — driver 'web-widget' registado no ChannelRegistry do NAiOSOmni
  • Emparelhamento por embed: startPairing() devolve o <script> para copiar + página de configuração do widget (branding + domínios CORS)
  • Transporte inbound público: POST /p/omnichat-web/:channelId/message normaliza e emite omnichat.message.received
  • Transporte outbound long-polling: sendMessage() persiste na BD; GET /poll devolve as mensagens novas do bot/operador
  • Widget incorporável widget.js: vanilla, Shadow DOM, launcher+painel+compositor, persistência em localStorage, branding por canal
  • Segurança em 3 camadas: sub-orçamento diário na BD (PRÉ-IA) + rate-limit por IP + allowlist CORS por canal
  • Caixa de entrada: badge/ícone 'web', página de origem no thread; handoff básico (estado 'um agente juntar-se-á' + aviso por email ao proprietário)