NAiOSOmni Web
omnichat-webv0.1.0Fügen Sie einen einbettbaren Chatbot (Chat-Widget) zu NAiOSOmni hinzu. Fügen Sie ein <script> auf jeder Website ein und der Besucher kommuniziert mit Ihrem Agenten; es erscheint als ein weiterer Kanal im einheitlichen Posteingang.
Beschreibung
Plugin, das an NAiOSOmni gekoppelt ist: registriert einen 'web-widget'-Treiber im ChannelRegistry, damit jede Website einen Chatbot einbetten kann. Der Transport erfolgt über stateless Long-Polling (resistent gegen mehrere Passenger-Worker): Der Besucher sendet seine Nachricht per POST und pollt die Antworten des Bots/Operators aus der Datenbank. Alles andere (Agenten des Wizards, Tools, Lead-Erfassung im CRM, Webhooks, Posteingang, Dashboards, Sharing) wird unverändert vom Kern übernommen. Die spezifischen Web-Daten (visitor_id, Ursprungsseite, user-agent, referrer) werden in media_meta JSON gespeichert; das Look & Feel, die CORS-Domains und das tägliche Sub-Budget werden in driver_config festgelegt.
Funktionen (3)
Ein <script> auf der Website des Kunden und die Chatblase erscheint. Keine Abhängigkeiten, isoliertes Shadow DOM.
Der Agent des Wizards, die Tools, die Lead-Erfassung im CRM und der einheitliche Posteingang werden unverändert übernommen.
Stateless Long-Polling + CORS pro Domain + Rate-Limit pro IP + tägliches Sub-Budget für Tokens.
Changelog
- MVP (Phasen 0-6) — 'web-widget'-Treiber im ChannelRegistry von NAiOSOmni registriert
- Pairing durch Einbettung: startPairing() gibt das kopierbare <script> + Konfigurationsseite des Widgets (Branding + CORS-Domains) zurück
- Öffentlicher Inbound-Transport: POST /p/omnichat-web/:channelId/message normalisiert und sendet omnichat.message.received
- Outbound-Transport Long-Polling: sendMessage() speichert in der Datenbank; GET /poll gibt neue Nachrichten des Bots/Operators zurück
- Einbettbares Widget widget.js: Vanilla, Shadow DOM, Launcher+Panel+Composer, lokale Speicherung, Branding pro Kanal
- Sicherheit in 3 Schichten: tägliches Sub-Budget in der Datenbank (PRE-IA) + Rate-Limit pro IP + CORS-Whitelist pro Kanal
- Posteingang: Badge/Icon 'web', Ursprungsseite im Thread; grundlegende Übergabe (Status 'ein Agent wird sich anschließen' + E-Mail-Benachrichtigung an den Eigentümer)