NAiOSOmni Email
omnichat-emailv0.6.0Engade un canal de email (IMAP/SMTP) a NAiOSOmni. A túa caixa de correo aparece como un canal máis dentro do Inbox unificado, con resposta automática por IA, axentes verticais e todas as capacidades de NAiOSOmni.
Descrición
Plugin acoplado a NAiOSOmni: rexistra un novo driver 'email-imap' no ChannelRegistry de NAiOSOmni para que calquera conta IMAP/SMTP (Gmail con contrasinal de aplicación, IONOS, Outlook persoal, corporativo) poida conectarse como canal. Os emails entrantes aparecen no Inbox unificado, agrupados por remitente (peer = enderezo de email). Os elementos específicos do email (subject, message-id, threading, cc/bcc, corpo HTML, attachments) serialízanse en media_meta JSON sen modificar o esquema de NAiOSOmni. As respostas envíanse por SMTP con threading correcto (In-Reply-To + Subject: Re:). O corpo HTML sírvese mediante 'ver orixinal' desde o publicRouter do propio plugin (con comprobación de autenticación).
Funcionalidades (3)
A túa bandexa IMAP aparece xunto a WhatsApp e Telegram no Inbox unificado.
Compatible con Gmail (contrasinal de aplicación), IONOS, Outlook persoal e corporativo. OAuth de Google/Microsoft na fase 2.
As respostas mantén In-Reply-To + Subject: Re: para que o cliente do destinatario as enlace ben.
Changelog
- FASE 10 · HUMAN-IN-THE-LOOP + integración de ferramentas RAG
- MODO BORRADOR — interruptor por canal na pestana Xeral (só email-imap). Cando está activado, as respostas automáticas da IA NON se envían: gárdanse con status='draft' para revisión. Burbulla especial con borde discontinuo ámbar e 3 accións: Enviar (SMTP real agora) / Editar (carga o texto no compositor e descarta o borrador) / Descartar (limpa a BD e os ficheiros). PATCH /channels/:id/draft-mode para activar/desactivar
- Endpoints de borradores: GET /api/drafts/:msgId (obtén o borrador para o compositor), POST /api/drafts/:msgId/send (promóveo a envío real), DELETE /api/drafts/:msgId (limpa con borrado dos adxuntos no disco)
- Renderizador do inbox: detecta status='draft', mostra cabeceira 🤖 Borrador IA pendente + burbulla con estilo distinto + fila de accións con 3 botóns. Cero cambios nos drivers de chat (WA/TG non emiten status='draft')
- FERRAMENTA search_inbox para axentes — rexistrada en TOOLS de OmniChat mediante mutación do obxecto exportado (cero cambios no core). Esquema OpenAI tool con parámetros {query, top_k}. ctx.invokePlugin delega no método searchInbox() do plugin, que chama ao EmbeddingsStore. Os axentes poden agora consultar o inbox de forma semántica cando un cliente o pide
- Método público searchInbox(args) no plugin: xera o embedding da consulta, executa a busca por similitude coseno e devolve os top-K formateados para o LLM (sen buffers, puntuacións con 2 decimais, fragmento truncado)