Zum Inhalt springen
XICBOT

Einstellungen

English
Eine Skriptzeile · zwei Auslieferungswege

Ihren KI-Assistenten mit einem Snippet einbinden

Eingebaut wird genau eine Skriptzeile: ein Skript-Element mit dem Merkmal defer und dem öffentlichen Schlüssel Ihres Assistenten.

In einfacher Sprache

Sie bauen genau eine Zeile in Ihre Seite ein. Diese Zeile lädt ein kleines Skript. Das Skript zeigt den Knopf für den Chat. Das Chatfenster kommt erst, wenn Ihre Seite fertig geladen ist. Das Skript selbst holt keine Daten aus dem Netz. Auf Wunsch läuft alles über Ihre eigene Domain. Dann sieht der Besucher nur Ihre Adresse.

Kostenlose Demo anfragen Anrufen: 05123 9579000

  • Antworten mit Angabe der Quelle
  • Lädt erst nach Ihrer Einwilligung
  • Keine Mindestlaufzeit, monatlich kündbar

Alles Weitere entsteht im Browser des Besuchers. Das Ladeskript öffnet auf Ihrer Seite einen Schatten-DOM, zeichnet darin den Auslöser und hängt erst nach dem vollständigen Laden Ihrer Seite ein Chatfenster mit eigenem Ursprung ein. Das Skript selbst stellt keine Netzanfrage; alles, was Daten holt, läuft in diesem Fenster. Auf Wunsch läuft die Auslieferung vollständig über einen Pfad Ihrer eigenen Domain — dann ist für den Besucher nur Ihre Adresse im Spiel.

24,1 KB
Ladeskript auf Ihrer Seite, komprimiert
XICBOT, eigene Messung der ausgelieferten Dateien
12 Anfragen je Minute
Deckel je Besucher auf der öffentlichen Widget-Schnittstelle
XICBOT, eigene Konfiguration, config/plans.php
42 von 48
Antworten mit Angabe der Quelle
XICBOT, eigene Messreihe vom 11.09.2026
8 von 8
Fragen ohne Grundlage abgelehnt, statt geraten
XICBOT, eigene Messreihe vom 11.09.2026
Einbinden, ohne das CMS umzubauen, Beispielgespräch, nachgestellt
  1. Besucher:Läuft das auch in unserem CMS, oder müssen wir dafür umbauen?

  2. Assistent:Am CMS ändert sich nichts. Eingebaut wird eine Skriptzeile in der Vorlage; Hülle, Auslöser und Fenster entstehen erst im Browser des Besuchers.

  3. Besucher:Unsere Inhaltsrichtlinie ist streng gesetzt. Müssen wir sie dafür aufweichen?

  4. Assistent:Zwei Einträge kommen hinzu: das Ladeskript in script-src und das Chatfenster als Rahmen in frame-src, beide von der Adresse im Einbaucode — beim eigenen Pfad ist das Ihre eigene Domain. Für die Schnittstelle, für Stile und für die Marke braucht Ihre Richtlinie keinen Eintrag: Das Ladeskript stellt keine Netzanfrage, hängt kein Stylesheet ein und baut die Marke im Auslöser aus Elementen statt aus einem Bild.

    • Einbindung geprüft · Ladeskript ohne Netzaufruf · Fenster mit eigenem Ursprung

Selbst fragen, Assistent dieser Website

Automatischer Assistent

Eingabe sendet, Umschalt und Eingabe beginnt eine neue Zeile.

Der Assistent lädt erst nach Ihrer Einwilligung. Datenschutz

Wie die Einbindung funktioniert

Die Einbindung besteht aus einer Zeile, aber die Zeile ist nicht die ganze Geschichte. Interessant ist, was der Browser Ihres Besuchers daraus macht — und was er ausdrücklich nicht tut. Das Ladeskript ist eine einzelne, gekapselte Datei ohne Abhängigkeit. Es öffnet auf Ihrer Seite eine Hülle mit neutralisiertem Rand, hängt einen offenen Schatten-DOM an und zeichnet darin den Auslöser. Offen und nicht geschlossen, weil ein geschlossener Schatten eine fremde Seite nicht aufhält, aber jede Messung blockiert: Ihre Prüfwerkzeuge sollen hineinsehen können.

Die eigentliche Schranke ist nicht dieser Schatten, sondern der Rahmen mit eigenem Ursprung, der danach eingehängt wird. Die folgenden sechs Punkte beschreiben, was in Ihrer Vorlage steht, in welcher Reihenfolge der Browser arbeitet und an welchen Stellen die Einbindung bewusst etwas unterlässt.

  • Was in der Vorlage steht

    Der Schnipsel ist ein einzelnes Skript-Element mit defer. Pflicht ist der öffentliche Schlüssel des Assistenten; je nach Auslieferungsweg kommt die Adresse der Schnittstelle oder Ihr eigener Pfad dazu. Die Verwaltung setzt die Zeile serverseitig zusammen, Sie kopieren sie.

    • Pflichtmerkmal ist der öffentliche Schlüssel des Assistenten
    • Verlangt der Assistent eine Einwilligung, steht das als eigenes Merkmal in der Zeile — ohne dieses Merkmal erreicht die Einstellung Ihre Seite nie
    • Farbe, Seite, Höhenlage und Sprache lassen sich am Schnipsel setzen und schlagen die Serverfassung
    • Ein zweiter Schnipsel auf derselben Seite kehrt still zurück: ein Widget je Seite
  • Zwei Wege, dieselbe Zeile

    Ausgeliefert wird entweder über die Widgetdomain oder über einen Pfad auf Ihrer eigenen Domain, den Sie einrichten und uns nennen. Der Lader bestimmt seine Basis aus dem Verzeichnis, aus dem er selbst kommt — liegt diese Basis auf Ihrer Domain, läuft auch die Schnittstelle darunter. Ohne belastbare Basis wird nichts gebaut, weil ein leerer Wert die Fehlerseite Ihrer Website in ein Chatfenster hängte.

    • Die Basis kommt aus dem Verzeichnis, aus dem der Lader selbst geladen wurde
    • data-api und data-basis überschreiben sie, wenn Sie einen eigenen Pfad eingerichtet haben. data-api muss auf den Host zeigen, den der Auslieferungsweg für die Schnittstelle freigibt — sonst bleibt der Chat nicht erreichbar
    • Ohne belastbare Basis wird nichts gebaut — ein leerer Wert hängte die Fehlerseite Ihrer Website in das Chatfenster
    • Liegt die Basis auf Ihrer Domain, läuft auch die Schnittstelle darunter
  • Gebaut wird erst nach dem Laden

    Der Lader wartet auf das vollständige Laden Ihrer Seite und dann noch einen Takt, bevor er das Fenster einhängt. Die Begründung steht im Quelltext daneben: vorher wäre es eine zusätzliche Anfrage im kritischen Pfad einer fremden Seite. Steht ein Einwilligungstor und liegt keine Zustimmung vor, geschieht auch danach nichts von selbst; den Rahmen baut dann erst eine Handlung des Besuchers, etwa ein Druck auf den Auslöser.

    • Der Lader wartet auf das vollständige Laden Ihrer Seite und dann noch einen Takt
    • Er selbst ruft dabei nichts über das Netz ab; der Verkehr beginnt erst im Rahmen
    • Steht ein Einwilligungstor und fehlt die Zustimmung, geschieht auch danach nichts von selbst
    • Von Ihrer Seite liest er genau drei Werte: Schriftart, Eckenradius und Markenfarbe
  • Ein eigener Ursprung, kein Stück Ihrer Seite

    Das Chatfenster läuft in einem Rahmen mit genau einer Erlaubnis: Skripte. Die Erlaubnis auf denselben Ursprung fehlt mit Absicht und darf nie dazukommen, denn zusammen mit Skripten hebt sie den Sandkasten wieder auf. Die Folge ist die Trennung, um die es geht: Ihre Seite kann das Fenster nicht lesen und das Fenster nicht Ihre Seite.

    • Zwischen beiden läuft ein Nachrichtenprotokoll, das nur Befehle trägt, nie Gesprächsinhalte
    • Der Rahmen gibt keine Verweisadresse nach außen
    • Die Startangaben liegen im Adressfragment: ein Fragment geht nie an einen Server und steht in keinem Zugriffsprotokoll
    • Geometriemeldungen aus dem Fenster prüft der Lader feldweise erneut, weil der Weg dazwischen über eine fremde Seite führt
  • Was Ihre Inhaltsrichtlinie zulassen muss und was nicht

    Zwei Einträge braucht Ihre Richtlinie: script-src für das Ladeskript und frame-src für das Chatfenster, beide mit der Adresse aus dem Einbaucode — beim eigenen Pfad ist das Ihre eigene Domain. Drei weitere Direktiven bleiben unberührt, und jede davon hat einen Grund im Quelltext.

    • Kein connect-src auf unsere Schnittstelle, weil der Lader nie das Netz ruft
    • Kein style-src, weil kein Stylesheet und kein Style-Element eingehängt wird und Zuweisungen am Element nicht darunterfallen
    • Kein img-src für die Marke, weil sie aus Elementen besteht
    • Ein hinterlegtes Auslöserbild kommt als Datenadresse und nicht über das Netz; SVG wird dort abgewiesen, weil SVG Skript trägt. Lässt Ihre Richtlinie Datenadressen für Bilder nicht zu, zeigt der Auslöser die Punkte der Marke
  • Aussehen und Platz auf der Seite

    Der Hauptteil des Aussehens kommt aus der Serverkonfiguration des Assistenten, jedes Feld mit geprüftem Wertebereich. Drei Größen liest der Lader von Ihrer Seite ab — Schrift, Kantenrundung und Markenton —, weil der Rahmen im Sandkasten nichts von ihr sieht und nichts erben kann. Das Fenster weicht Bannern und Leisten aus, statt sie zu überdecken.

    • Der Lader hält für alle Maße eigene Vorgaben, damit vor der Antwort des Servers nichts vor den Augen des Besuchers springt
    • Die Breitenklasse kommt aus der Fensterbreite und ausdrücklich nicht aus der Browserkennung; auf schmalen Fenstern bricht die Darstellung auf die Vollfläche um
    • Ein dunkles Schema übernimmt der Rahmen vom System, es wird nicht eigens geschaltet
    • Ändert sich die Konfiguration, während die Seite offen steht, wechseln Name, Farbe und Platz ohne Neuladen

Zwei Dinge bringt die Einbindung nicht mit. Ohne JavaScript erscheint nichts — Hülle, Auslöser und Rahmen entstehen samt und sonders im Lader, und einen Ersatzweg gibt es nicht; ein noscript-Element kommt im gesamten Baum an keiner Stelle vor. Und das Widget bringt kein Einwilligungsbanner mit: Es kennt ein Tor und drei Handgriffe — einwilligen, widerrufen, Stand abfragen —, die ein vorhandenes Banner bedienen muss. Steht auf Ihrer Seite schon ein Griff dieser Art, bleibt er stehen.

24,1 KB

Ladeskript auf Ihrer Seite, komprimiert

nur die Datei, die auf der fremden Seite läuft, gemessen mit der Kompression, die der Webserver tatsächlich schickt; das Chatfenster liegt im eigenen Rahmen und lädt erst, wenn Ihre Seite fertig geladen ist

Was beim ersten Seitenaufruf im Browser geschieht

Die Reihenfolge ist der Grund, warum die Einbindung eine fremde Seite nicht ausbremst. Sie ist im Quelltext festgelegt und lässt sich nachlesen; hier steht sie als Ablauf, so wie sie bei jedem Aufruf Ihrer Seite abläuft.

  1. Die Zeile wird geladen

    Das Merkmal defer sorgt dafür, dass das Skript den Aufbau Ihrer Seite nicht anhält. Geladen wird eine einzelne Datei ohne Abhängigkeit.

  2. Der Lader findet sich selbst

    Er greift auf das gerade laufende Skript zu, ersatzweise auf das Element mit dem Schlüsselmerkmal, und bestimmt daraus seine Basis: das Verzeichnis, aus dem die Datei kam, nicht nur deren Ursprung. Zugelassen sind nur die beiden Netzschemata; ohne belastbare Basis bricht er ab.

  3. Hülle und Schatten entstehen

    Auf Ihrer Seite entsteht eine fest positionierte Hülle mit neutralisiertem Rand, Rahmen, Hintergrund und Farbe, darin ein offener Schatten-DOM. Jede Eigenschaft wird einzeln am Element gesetzt, damit Ihre Richtlinie nichts blockieren muss.

  4. Der Auslöser wird gezeichnet

    Die Marke im Auslöser entsteht aus Elementen und nicht als Bild, weil ein Bild eine weitere Direktive in Ihrer Richtlinie bräuchte. Fällt ein hinterlegtes Bild aus, bleiben die gezeichneten Punkte stehen.

  5. Erst jetzt kommt der Rahmen

    Nach dem vollständigen Laden Ihrer Seite und einem weiteren Takt wird der Rahmen eingehängt: eine Erlaubnis für Skripte, keine auf denselben Ursprung, keine Verweisadresse nach außen. Die Startangaben reisen im Adressfragment mit und erreichen keinen Server. Steht ein Einwilligungstor ohne Zustimmung, unterbleibt dieser Schritt, bis der Besucher selbst handelt, etwa den Auslöser drückt.

  6. Im Rahmen beginnt der Netzverkehr

    Der Rahmen lädt zwei Teile nach, beide mit Fassungsnamen aus ihrem Inhalt, mit Prüfsumme und mit der Angabe, dass sie fremden Ursprungs geladen werden. Erst hier holt überhaupt etwas Daten; der Lader auf Ihrer Seite tut es nie. Meldet der Server, dass es den Assistenten nicht gibt — abgeschaltet, pausiert oder unbekannt —, sagt der Rahmen das dem Lader, und der blendet den Auslöser aus. Ist der Server nur gerade nicht erreichbar oder ausgelastet, bleibt der Auslöser stehen, und der Rahmen versucht es nach einer Wartezeit erneut.

  7. Der Platz wird nachgerechnet

    Der Lader sucht an neun Punkten nach festsitzenden, sichtbaren Flächen, sieht dabei in jeden offenen Schatten und lässt zwölf Pixel Luft. Eine Fläche, die mehr als vier Fünftel der Fensterhöhe bedeckt, gilt als Wand: dann wird zurückgewichen statt versetzt. Nachgerechnet wird gedrosselt und zusätzlich bei jeder Änderung an Stil, Klasse oder Sichtbarkeit des Wurzelelements.

Drei Dinge fallen an dieser Reihenfolge auf. Der Lader ruft selbst nichts über das Netz ab — der Verkehr beginnt erst im Rahmen. Der Rahmen bekommt eine Erlaubnis für Skripte, aber keine auf denselben Ursprung; sein Ursprung meldet sich damit als null. Und der Platz wird nachgerechnet statt gesetzt: zwölf Pixel Luft zur nächsten festsitzenden Fläche, gesucht an neun Punkten und bis in jeden offenen Schatten.

Was an dieser Stelle nicht geschieht, ist ebenso Teil der Reihenfolge: Ihre Seite bekommt keine zusätzliche Anfrage in den kritischen Pfad, und bei gesetztem Einwilligungstor ohne Zustimmung bleibt es beim Auslöser — ohne Rahmen, ohne Nachladen, ohne Gespräch, bis der Besucher selbst handelt.

Was sich ändert, ohne dass Sie die Zeile anfassen

Die Zeile in Ihrer Vorlage wird einmal eingesetzt und danach nicht wieder angefasst. Alles, was sich später ändert — Aussehen, Sprache, Freigaben, der Assistent selbst —, liegt in seiner Konfiguration und erreicht Ihre Seite ohne einen weiteren Handgriff. Damit das ohne Nachpflege verlässlich bleibt, hängen die beiden Teile des Fensters an Fassungsnamen und Prüfsummen.

  • Fassungsnamen statt Nachpflege

    Neue Fassungen erreichen Ihre Seite ohne Zutun: Ihr Schnipsel bleibt derselbe, die beiden Teile des Fensters tragen Namen aus ihrem Inhalt. Unter einem solchen Namen liegt nie ein anderer Inhalt.

    • Beide Verweise tragen eine Prüfsumme und die Angabe, dass sie fremden Ursprungs geladen werden
    • Diese Angabe ist Pflicht und kein Beiwerk: ohne sie wäre die Antwort undurchsichtig und die Prüfung schlüge fehl
    • Ein unbekannter Fassungsname ergibt einen Fehler, nie eine stille Ersatzlieferung
    • Ein Fassungsname wird ein Jahr zwischengespeichert, der Einstiegsname fünf Minuten, die Rahmenhülle nie
  • Was Sie im laufenden Betrieb umlegen

    Alles, was den Assistenten betrifft, hängt an seiner Konfiguration und nicht an Ihrer Vorlage. Das gilt auch für den Rückweg: Sie halten die Auslieferung an, ohne den Schnipsel aus dem Template zu nehmen.

    • Zum Laufen gehören zwei getrennte Schalter: der Assistent ist aktiv gesetzt, und das Widget ist eingeschaltet
    • Ein unbekannter, ein abgeschalteter und ein pausierter Assistent antworten gleich — aus der Antwort lernt niemand, ob ein Schlüssel richtig geraten war
    • Die Domainliste entscheidet, welche Wirte laden dürfen; ist sie leer, ist jeder Wirt erlaubt
    • Der öffentliche Schlüssel ist tauschbar; danach lädt jeder alte Einbau nicht mehr
    • Die Verwaltung nennt, wann und auf welchem Wirt zuletzt geladen wurde; steht dort nichts, heißt das ausdrücklich: noch nie geladen

Eine Zusage fehlt an dieser Stelle mit Absicht. Der Einbauschnipsel trägt keine Prüfsumme: Sie läge auf dem Einstiegsnamen, dessen Inhalt bei jeder Fassung wechselt, und sperrte mit der nächsten Auslieferung jede eingebaute Seite aus. Die Verwaltung zeigt die Prüfsumme der ausgelieferten Datei und nennt den Grund, wenn die Datei nicht lesbar ist — die Zusage selbst liegt eine Ebene tiefer, an den beiden Teilen des Fensters. Eine zweite Grenze gehört daneben: Die Angabe, auf welchem Wirt das Widget geladen hat, ist eine Aussage der Gegenseite. Der Rahmen meldet keinen benennbaren Ursprung, also prüft der Server einen Wert, den die Gegenstelle selbst behauptet.

12 Anfragen je Minute

Deckel je Besucher auf der öffentlichen Widget-Schnittstelle

gilt je Besucher und Assistent; daraus folgt eine Frage alle 5 Sekunden, die Messreihe wartet 5,5 Sekunden und hält damit Abstand zur eigenen Bremse

Wo die Zeile entsteht

  • Jeder Assistent trägt einen öffentlichen Schlüssel; die Verwaltung setzt daraus den Schnipsel zusammen.

  • Ein zweiter Auftritt braucht einen zweiten Assistenten — auf einer Seite lädt immer nur ein Widget.

  • Was der Einbau verbraucht, zählt dieselbe Ansicht mit: das Kontingent des laufenden Monats steht daneben.

Vorführkonto mit Beispieldaten
Die Assistentenverwaltung: links der angelegte Assistent mit seiner Kennung, rechts das Formular für einen neuen Assistenten mit Name, Vorlage und Sprache sowie das Kontingent des laufenden Monats.

Von der Anfrage bis zur eingesetzten Zeile

Die Zeile einzusetzen dauert einen Augenblick; davor liegen vier Schritte, in denen entschieden wird, was der Assistent weiß und wann er überhaupt antwortet. Sie behalten dabei beide Schalter in der Hand: Freigeschaltet wird nichts von uns.

  1. Wir sehen uns Ihre Seite an

    Welches System liefert die Vorlage aus, wo gehört die Zeile hinein, wie streng ist Ihre Inhaltsrichtlinie gesetzt und soll die Auslieferung über einen Pfad Ihrer eigenen Domain laufen? Das klären wir, bevor irgendetwas eingerichtet wird — auf Wunsch mit einem Testassistenten für Ihre Seite.

  2. Der Assistent wird angelegt

    Der Einrichtungsassistent liest Ihre Website und schlägt Aussagen vor; jede trägt die Adresse, auf der sie steht, und was keine trägt, wird vor der Anzeige entfernt. Findet der Durchgang keinen lesbaren Text, endet er mit genau dieser Aussage und nicht mit einem Assistenten, der plausibel klingt.

  3. Zwei Schalter, keine Freischaltung durch uns

    Ein neu angelegter Assistent ist ein Entwurf. Er antwortet erst, wenn Sie ihn aktiv setzen und das Widget einschalten. Bis dahin können Sie ihn im Konto ausprobieren, ohne dass auf Ihrer Seite etwas erscheint.

  4. Die Zeile kommt in die Vorlage

    Sie kopieren den Schnipsel aus der Verwaltung in Ihre Vorlage, oder wir setzen ihn ein. Hinterlegen Sie Ihren eigenen Pfad, gibt die Verwaltung einen zweiten Schnipsel aus, der auf diesen Pfad zeigt; den ersten braucht es dann nicht mehr.

  5. Die erste Prüfung nach dem Einbau

    Die Verwaltung hält fest, wann und auf welchem Wirt das Widget zuletzt erschienen ist. Steht dort nichts, war es noch nie geladen — das ist die erste Stelle, an der ein Einbau in der falschen Vorlage auffällt, und die erste, die wir gemeinsam ansehen.

Der letzte Schritt ist der, den man am leichtesten auslässt. Die Verwaltung hält fest, wann und auf welchem Wirt das Widget zuletzt erschienen ist. Steht dort nichts, war es nie geladen — eine Einbindung gilt also nicht deshalb als fertig, weil der Schnipsel in der Vorlage steht, sondern weil diese Zeile einen Zeitpunkt trägt.

Freigeschaltet wird dabei nichts von uns. Der Betreiberzweig der Schnittstelle kennt Zustand, Meldungen, Aufträge und Mandantenverwaltung — aber keinen Schalter, der Ihren Assistenten antworten lässt. Die beiden Schalter dafür liegen in Ihrem Konto: der Assistent aktiv, das Widget eingeschaltet.

Einrichtung einmal, Betrieb monatlich

Die Einbindung selbst ist in jeder Stufe dieselbe Zeile. Was sich zwischen den Stufen unterscheidet, ist nicht der Einbau, sondern was der Assistent danach darf: nur antworten, oder in Ihren Systemen auch lesen und schreiben.

Ein Punkt kostet in keiner Stufe extra, weil er keine Einstellung ist: Die Fassung des Widgets wechselt über den Dateinamen. Ihre Vorlage fassen Sie dafür nicht noch einmal an, und eine ältere Fassung bleibt unter ihrem Namen erreichbar.

Einstieg Start

ab 49 € pro Monat netto

Mindestlaufzeit: keine, monatlich kündbar

  • Einbindung mit einem Snippet, first-party über Ihre Domain
  • Start: Betrieb ab 49 € pro Monat netto, Einrichtung ab 990 € netto
  • Auf Wunsch übernehmen wir die Einbindung für Sie
  • Kostenloses Erstgespräch und Demo mit Test-Assistent für Ihre Website

Alle Preise netto zzgl. USt. Quelle: Preisliste XICBOT, Stand 11.09.2026

Preismodell: einmalige Einrichtung ab 990 € netto (individuelles Training und Einbindung) plus monatlicher Betrieb ab 49 € pro Monat netto (Hosting in Deutschland, Pflege, Updates, DSGVO). Das Paket Pro mit Shop-Anbindung, Produktboxen und Warenkorb liegt ab 149 € pro Monat netto, individuelle Tool- und API-Steuerung startet ab 4.900 € netto Einrichtung. Alle Pakete im Überblick finden Sie unter Preise. Vor dem ersten Angebot sehen wir uns Ihre Seite an: welches System die Vorlage ausliefert, wie streng Ihre Inhaltsrichtlinie gesetzt ist und ob die Auslieferung über einen Pfad auf Ihrer eigenen Domain laufen soll. Dieses Erstgespräch und die Demo dazu sind kostenlos. Laufende Leistungen sind einzeln buchbar und monatlich kündbar, eine Mindestlaufzeit gibt es nicht.

Passt der Assistent in Ihre Website?

Nennen Sie uns Ihr System — CMS, Shop oder eigene Anwendung. Wir prüfen die Einbindung, klären die Auslieferung über Ihre eigene Domain und nennen den Aufwand.

Einbindung besprechen Datenschutz & Hosting ansehen

Zwei Auslieferungswege

First-party heißt hier zweierlei, und die beiden Ebenen werden gern verwechselt. Die erste ist die Auslieferung: Von welcher Adresse lädt der Browser die Datei? Das können Sie wählen. Die zweite ist das Chatfenster selbst: Es läuft in jedem Fall in einem eigenen Ursprung, denn genau dort liegt die Trennung zwischen Ihrer Seite und dem Gespräch. Wer beides gleichsetzt, verspricht entweder zu viel oder zu wenig.

Gegenüber einem fertigen Fremd-Widget liegt der Unterschied weniger im Chatfenster als in seinem Umfeld. Ein solches Widget lädt häufig über die Domain seines Anbieters und bringt dessen Erscheinungsbild mit. Hier lädt eine einzelne Datei ohne Abhängigkeit, auf Wunsch über einen Pfad Ihrer eigenen Domain; das Fenster übernimmt Schrift, Kantenrundung und Markenton Ihrer Seite und antwortet aus Ihren eigenen Quellen. Was der Assistent darüber hinaus tun darf, etwa Produkte zeigen oder Anfragen an Ihr Team übergeben, legen die Freigaben Ihres Pakets fest und nicht die Zeile.

Über die Widgetdomain

  • Der Schnipsel: trägt neben dem Schlüssel die Adresse der Schnittstelle
  • Voraussetzung: keine, die Zeile genügt
  • Was im Netzwerkprotokoll des Besuchers steht: Ihre Adresse und die Widgetadresse
  • Die beiden Kopfzeilen für die Richtlinie des Rahmens: setzt der Rand am Widgetursprung
  • Das Chatfenster: läuft in einem eigenen Ursprung, nicht in Ihrer Seite
  • Fällt der Dienst aus: ein sichtbarer Fehler, kein stiller Rückfall auf eine rohe Auslieferung

Über einen Pfad Ihrer Domain

  • Der Schnipsel: trägt Ihren Pfad statt der Adresse der Schnittstelle
  • Voraussetzung: drei Blöcke in Ihrer Serverkonfiguration — Einstieg, Fassungsnamen und Schnittstelle
  • Was im Netzwerkprotokoll des Besuchers steht: nur Ihre Adresse
  • Die beiden Kopfzeilen für die Richtlinie des Rahmens: setzt Ihr Server auf Ihrem Pfad und löscht den durchgereichten Fassungskopf
  • Das Chatfenster: läuft auch hier in einem eigenen Ursprung, nicht in Ihrer Seite
  • Fällt der Dienst aus: derselbe sichtbare Fehler; für die Schnittstelle ist die Pufferung abgeschaltet, sonst käme der Antwortstrom nicht durch

Der Weg über Ihren Pfad kostet eine Serverkonfiguration und bringt dafür eine einzige Adresse im Netzwerkprotokoll des Besuchers. Welcher der beiden Wege zu Ihnen passt, hängt vor allem daran, wer Ihren Server betreut — wir sehen uns das an, bevor Sie sich festlegen. Wo die Daten danach verarbeitet werden, steht unter Datenschutz und Hosting.

Ohne und mit Einwilligungstor

Ob vor dem Gespräch eine Einwilligung stehen muss, entscheidet der Betreiber der einbindenden Seite — und das sind nicht wir, sondern Sie: Die Auskunft an den Besucher nennt Sie als Verantwortlichen. Ein Banner bringt das Widget dafür nicht mit. Es kennt ein Tor und drei Handgriffe, die Ihr vorhandenes Banner bedient. Was sich mit dem Tor ändert, steht hier nebeneinander.

Ohne Einwilligungstor

  • Am Schnipsel: kein Merkmal für die Einwilligung
  • Nach dem Laden Ihrer Seite: der Rahmen wird eingehängt
  • In der Datenbank: das Gespräch entsteht ohne Einwilligungsfelder
  • Im Speicher Ihrer Seite: Gesprächskennung und Besuchsmerker, jeder mit Frist
  • Widerruf im Fenster: die Route weist ihn ab, weil es nichts zu widerrufen gibt

Mit Einwilligungstor

  • Am Schnipsel: das Merkmal steht in der Zeile; fehlt es, erreicht die Einstellung Ihre Seite nie
  • Nach dem Laden Ihrer Seite: es geschieht nichts von selbst, solange keine Zustimmung vorliegt; erst eine Handlung des Besuchers, etwa ein Druck auf den Auslöser, baut den Rahmen
  • In der Datenbank: ohne Zustimmung entsteht keine einzige Zeile — geprüft wird vor dem ersten Schreiben, nicht erst beim Absenden
  • Im Speicher Ihrer Seite: zusätzlich der Stand der Einwilligung, ebenfalls mit Frist; vor der Zustimmung legt der Lader von sich aus keinen Eintrag an
  • Widerruf im Fenster: der Besucher widerruft ohne Konto; der Widerruf wird gesetzt, bevor irgendetwas anderes geschieht, und ein laufender Antwortlauf bricht ab

Zwei Punkte gelten in beiden Spalten. Der Hinweis, dass hier eine Maschine antwortet, kommt vom Server und lässt sich von der einbindenden Seite nicht entfernen. Und im Speicher Ihrer Seite liegt keine einzige Nachricht: Was dort steht, sind drei Einträge mit Frist, die beim Lesen geräumt werden, sobald sie abgelaufen ist — dazu, nur wenn ein Formular auf einer anderen Seite ausgefüllt werden soll, eine Übergabe im Sitzungsspeicher, die zwei Minuten gilt und beim ersten Lesen verschwindet. Fällt der Speicher aus oder ist er gesperrt, beginnt jeder Seitenaufruf von vorn — im Quelltext als Einschränkung vermerkt, nicht als Fehler.

Der Handgriff window.xicbot.widerrufen() räumt mehr als die Zustimmung. Sofort nimmt er jede geplante Ansprache samt Sprechblase und die Formularübergabe an die nächste Seite zurück und bittet den Rahmen, das laufende Gespräch beim Dienst auf demselben Weg zu widerrufen wie die Schaltfläche im Fenster; der Lader selbst geht dabei nicht ins Netz. Nach der Quittung — spätestens nach etwa fünf Sekunden — gehen Gesprächskennung, Besuchsmerker und Rahmen. Zurück kommt ein Promise: true, wenn der Dienst den Widerruf verbucht hat, sonst false, etwa weil es kein Gespräch gab, das Gespräch ohne Einwilligung im Fenster lief oder keine Antwort kam. Geräumt wird in beiden Fällen.

Die technischen Details beschreibt KI-Assistent sauber in Website und Shop einbinden. Wo das Widget stehen sollte und wann eine proaktive Ansprache sinnvoll ist, klärt Chat-Widget richtig platzieren; die Anforderungen aus dem BFSG fasst Barrierefreier KI-Chat-Assistent zusammen.

Eingestandene Grenzen

Was die Einbindung nicht leistet

Diese Punkte stehen hier, weil sie in einer Einbindung früher oder später auffallen. Sie sind aus dem Quellstand erhoben und nicht wegverhandelt.

  • Ohne JavaScript erscheint nichts. Ein Ersatzweg, ein serverseitig erzeugtes Formular oder eine Ersatzanzeige kommt im gesamten Baum nicht vor.
  • Nur ein Widget je Seite. Ein zweiter Schnipsel mit einem anderen Schlüssel kehrt still zurück und meldet nichts.
  • Lässt Ihre Inhaltsrichtlinie Datenadressen für Bilder nicht zu, erscheint ein hinterlegtes Auslöserbild nicht; der Auslöser zeigt dann die Punkte der Marke.
  • Die Angabe, auf welchem Wirt geladen wurde, ist selbstgemeldet: Der Rahmen hat keinen benennbaren Ursprung.
  • Ohne hinterlegte Domainliste ist jeder Wirt erlaubt.
  • Wer die Gesprächskennung kennt, kann den Verlauf abrufen — gesucht wird über Kennung und Assistent, ein weiteres Geheimnis gibt es nicht.
  • Der Auslieferung fehlt jede Verkleinerung: Die Dateien gehen unverändert heraus.
  • Fällt der Widgetdienst aus, gibt es keinen Rückfall. Das ist Absicht, weil ein Rückfall den Ausfall verdeckte.
  • Das Architekturpapier beschreibt an sieben Stellen einen anderen Stand als der Quelltext; maßgeblich ist der Quelltext.
Wenn der Dienst ausfällt, Beispielgespräch, nachgestellt
  1. Betreiber:Was passiert mit unserer Seite, wenn bei Ihnen etwas ausfällt?

  2. Assistent:Ihre Seite wird weiter ausgeliefert. Das Ladeskript baut das Fenster erst nach dem Laden ein und ruft selbst nie das Netz — bleibt der Dienst aus, fehlt der Assistent, sonst nichts.

  3. Betreiber:Und wenn wir ihn für eine Wartung selbst abschalten wollen?

  4. Assistent:Dann halten Sie die Auslieferung in der Verwaltung an; die Zeile bleibt in Ihrer Vorlage stehen. Für den Browser des Besuchers sieht ein pausierter Assistent genauso aus wie ein unbekannter.

    • Auslieferung angehalten · Zeile bleibt eingebaut · Ausfall sichtbar statt still ersetzt

Häufige Fragen zur Einbindung

Die ersten Fragen in einem Einbindungsgespräch drehen sich um Aufwand und Systemgrenzen, die letzten um den Betrieb: Was passiert mit meiner Seite, wenn bei Ihnen etwas ausfällt, und wie werde ich den Assistenten im Zweifel schnell wieder los?

Wie wird der Assistent in meine Website eingebunden?

Sie fügen ein kurzes Snippet in den Seitenkopf ein — eine Zeile, die wir Ihnen fertig liefern. Ab diesem Moment ist der Assistent aktiv, sofern Sie ihn aktiv gesetzt und das Widget eingeschaltet haben; das sind zwei getrennte Schalter. Auf Wunsch übernehmen wir die Einbindung für Sie. Hinterlegen Sie einen Pfad auf Ihrer eigenen Domain, lädt der Assistent darüber first-party und passt sich dem Design Ihrer Seite an. Alles Weitere, etwa Inhalte oder freigegebene Aktionen, pflegen wir ein, ohne dass Sie das Snippet erneut anfassen müssen. Nur den öffentlichen Schlüssel sollte niemand nebenbei tauschen: Danach lädt jeder alte Einbau nicht mehr.

Funktioniert die Einbindung in jedem CMS und Baukasten?

In aller Regel ja. Die Einbindung ist eine einzige Skriptzeile in Kopf oder Theme; das Ladeskript ist eine in sich geschlossene Datei, die selbst keinen Netzruf auslöst und kein Stylesheet in Ihre Seite schiebt. Weil jede Eigenschaft einzeln gesetzt wird, kommt auch eine strenge Content-Security-Policy ohne zusätzliche Freigaben für Stile, Verbindungen und Bilder aus. Aus Ihrer Seite liest das Skript genau drei Werte: Schrift, Eckenradius und Markenfarbe. Welche Hosts das Widget laden dürfen, tragen Sie als Liste ein; bleibt sie leer, ist jeder Host erlaubt. Ohne JavaScript erscheint nichts, einen Ersatzweg gibt es nicht. Mehr unter Integration.

Belastet der Assistent die Ladezeit meiner Website?

Er liegt bewusst nicht im kritischen Pfad. Das Ladeskript ist eine einzelne, in sich geschlossene Datei von 55905 Byte, die selbst keinen Netzruf auslöst; Auslöser und Rahmen entstehen erst nach dem vollständigen Laden Ihrer Seite und einem weiteren Tick. In Ihre Seite wird kein Stylesheet geschoben: Jede Eigenschaft wird einzeln gesetzt, deshalb kommt auch eine strenge Content-Security-Policy ohne zusätzliche Freigaben für Stile, Verbindungen und Bilder aus. Der Chat selbst läuft in einem eigenen Ursprung, nicht in Ihrem Dokument. Die versionierten Teile tragen einen aus ihrem Inhalt abgeleiteten Namen samt Integritätsprüfung und liegen ein Jahr unveränderlich im Zwischenspeicher.

Was bedeutet first-party und warum ist das besser?

First-party heißt, dass der Assistent über Ihre eigene Domain ausgeliefert wird und nicht über die Domain eines Dritten: Sie reichen einen Pfad auf Ihrer Domain durch, das Einbindungsskript kommt von dort, und die Kopfzeilen setzt Ihre Domain. Der Gesprächsrahmen selbst bleibt ein eigener Ursprung — er läuft abgeschottet und ohne Zugriff auf Ihre Seite, und der Nachrichtenweg zwischen Seite und Rahmen trägt Befehle, die Gesprächskennung und nach Bestätigung durch den Besucher die Werte für ein Formular Ihrer Seite. Mit der Gesprächskennung lässt sich der Verlauf abrufen; Skripte auf Ihrer Seite haben damit grundsätzlich Zugang zu ihm. Für Sie heißt das ein Weg weniger nach außen und die Kontrolle darüber, was Ihre Domain ausliefert. Wie wir Datenverarbeitung, Auftragsverarbeitung und Hosting in Deutschland handhaben, lesen Sie unter Datenschutz und Hosting.

Passt sich der Assistent an mein Design an?

In Grenzen, und zwar nachvollziehbar: Der Lader liest genau drei Größen von Ihrer Seite ab — Schriftart, Kantenrundung und Markenton — und übernimmt sie in die Darstellung. Alles Weitere kommt aus der Konfiguration des Assistenten und aus den Attributen am Einbindungsskript, nicht aus Ihrem Stylesheet. Findet der Lader auf Ihrer Seite nichts davon, greifen die Grundwerte des Rahmens. Weil der Assistent in einem abgeschirmten Bereich läuft, können sich Ihre Stile und seine nicht gegenseitig verstellen: Er wirkt wie ein Teil Ihres Auftritts, ohne Ihr Layout anzufassen. Feinheiten der Darstellung stimmen wir bei der Einrichtung gemeinsam mit Ihnen ab.

Muss ich die Einbindung selbst machen?

Nein. Sie können das Snippet selbst einsetzen, weil es bewusst einfach gehalten ist: eine einzige Skriptzeile mit einem Datenattribut, verzögert geladen, sonst ändert sich an Ihrer Seite nichts. Der Lader baut seinen eigenen abgeschirmten Bereich auf, sodass Ihre Stile und die des Assistenten sich nicht gegenseitig verstellen. Oder wir übernehmen die Einbindung komplett für Sie — beides ist Teil der Einrichtung. Der Betrieb startet im Paket Start ab 49 € pro Monat netto bei einer Einrichtung ab 990 € netto; alle Pakete finden Sie unter Preise. Den passenden Umfang klären wir unverbindlich im kostenlosen Erstgespräch. Alle Leistungen sind monatlich kündbar, eine Mindestlaufzeit gibt es nicht.

Beeinträchtigt eine Störung meine Website?

In der Regel nicht. Das Widget hängt nicht im kritischen Pfad Ihrer Seite. Das Ladeskript ist eine einzelne, in sich geschlossene Datei, die selbst keinen Netzruf auslöst; der Rahmen entsteht erst nach dem vollständigen Laden Ihrer Seite und einem weiteren Tick, in einem eigenen Ursprung ohne Zugriff auf Ihr Dokument. Bleibt der Dienst aus, fehlt der Assistent, während Ihre Seite unverändert ausgeliefert wird; im Rahmen steht dann ein klarer Satz statt eines Fehlercodes. Gemessen werden neun Teile — Datenbank, Zwischenspeicher, Ablage, Schlange, Zeitplan, Daemon, Postausgang, Modellzugang und Schema. Alles außer betriebsbereit beantwortet der öffentliche Statusendpunkt mit 503. Den aktuellen Stand nennt dieser Endpunkt; was er meldet, erklärt die Statusseite.

Kann ich den Assistenten während einer Störung abschalten?

Ja. Im Bereich Assistenten lässt sich die Auslieferung anhalten, ohne das Snippet aus dem Template zu nehmen. Das ist der schnellste Weg, wenn der Assistent auf der Seite nicht erscheinen soll. Ein angehaltener Assistent verhält sich nach außen wie ein unbekannter oder abgeschalteter: Die Antwort ist in allen drei Fällen dieselbe, damit aus ihr nichts über Ihren Schlüssel abzulesen ist. Ohne das Skript bleibt Ihre Seite unverändert — der Assistent liegt in einem eigenen Bereich und greift nicht in Ihr Layout ein. Denselben Schalter nutzen Sie andersherum bei der Einrichtung: Ein neu angelegter Assistent ist ein Entwurf und antwortet erst, wenn Sie ihn aktiv setzen.

Steht Ihre Frage nicht dabei, ist sie meist die interessantere. Nennen Sie uns die Adresse Ihrer Seite und das System, das die Vorlage ausliefert — wir sehen nach, statt zu vermuten. Gesammelt stehen die Antworten unter Häufige Fragen, die Schritte in der Oberfläche in der Dokumentation.

Kostenlose Demo und Erstgespräch

Eine Zeile, und der Assistent steht auf Ihrer Seite

Wir sehen uns Ihre Vorlage an, sagen Ihnen, wohin die Zeile gehört, und ob sich die Auslieferung über einen Pfad Ihrer eigenen Domain für Sie lohnt. Auf Wunsch mit einem Testassistenten für Ihre eigene Seite. Kostenlose Demo anfragen

Auf welchem System läuft Ihre Website?

Nennen Sie uns Ihre Website-Adresse und Ihr System — Baukasten, CMS oder Shop. Wir zeigen Ihnen, wie sich der Assistent mit einem Snippet einbinden lässt, und richten auf Wunsch eine kostenlose Demo für Ihre Seite ein. Telefonisch erreichen Sie uns unter 05123 9579000.

Anfrage in drei Schritten

  1. 1. Anliegen
  2. 2. Ihr Fall
  3. 3. Kontakt

Worum geht es?

Ein Klick genügt, alles Weitere ist freiwillig.

Erzählen Sie kurz von Ihrem Fall

Alle Angaben in diesem Schritt sind freiwillig. Sie helfen uns, gleich mit etwas Konkretem zu antworten statt mit Rückfragen.

Anfragen im Monat, ungefähr (optional)
Wann soll es losgehen? (optional)
Wie erreichen wir Sie?

Name und E-Mail-Adresse genügen. Wir antworten persönlich.

Wir verwenden Ihre Angaben, um Ihre Anfrage zu bearbeiten. Mehr dazu in der Datenschutzerklärung.