Installation
Voraussetzungen
Magento 2.4.x — getestet auf 2.4.9, kompatibel mit früheren 2.4.*-Versionen. PHP 8.1–8.5. Kompatibel sowohl mit dem Standard-Theme Luma als auch mit dem Theme Hyvä (das Chat-Widget wird in einem isolierten Shadow DOM gerendert, sieht also auf beiden identisch aus, ohne Template-Änderungen). Benötigt das kostenlose Modul codingrow/module-core, das automatisch installiert wird. Erfordert einen API-Schlüssel von mindestens einem KI-Anbieter (OpenAI, Anthropic, Google oder OpenRouter) — direkt vom Anbieter an Sie abgerechnet.
Installationsschritte
- Fügen Sie die Zugangsdaten, die Sie per E-Mail erhalten, in
auth.jsonim Stammverzeichnis Ihres Magento-Projekts ein:{ "http-basic": { "repo.codingrow.com": { "username": "...", "password": "..." } } } composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-ai-personal-shopperbin/magento module:enable Codingrow_AiPersonalShopperbin/magento setup:upgrade && bin/magento setup:di:compile- Fügen Sie Ihren Lizenzschlüssel unter Admin → Stores → Configuration → Codingrow → AI Personal Shopper → License → License Key ein, speichern Sie, und führen Sie dann
bin/magento cache:flushaus.
Konfiguration
Öffnen Sie Admin → Stores → Configuration → Codingrow → AI Personal Shopper. Tragen Sie den License Key ein, setzen Sie Enable auf Yes und prüfen Sie dann die Capabilities. Anbieter, Modell und API-Schlüssel stehen nicht hier: eine AI wird im Tab AI Models angelegt (Codingrow → AI Personal Shopper → AI Models).
| Einstellung | Funktion | Standard | Hinweise |
|---|---|---|---|
| License Key | Der für diese Domain ausgestellte Lizenzschlüssel. | — | Akzeptiert einen Einzelmodul-Schlüssel oder einen Codingrow-Abo-Schlüssel. Ohne gültige Lizenz wird der Chat nicht gerendert. |
| Enable | Aktiviert das Chat-Widget im Storefront. | No | Erfordert eine gültige Lizenz und mindestens einen API-Schlüssel eines KI-Anbieters. |
| AI Models (eigener Tab) | Anbieter, Modell und API-Schlüssel für die Unterhaltung. | — | Nicht auf dieser Seite: sie stehen unter Codingrow → AI Personal Shopper → AI Models, der einzigen Stelle, von der der Chat sie liest. Die Gruppe AI Provider, die hier stand, wurde in 2.1.0 entfernt — ihre Felder hatten keine Wirkung mehr. |
| Agent limits → Max tool rounds | Wie oft der Agent pro Nachricht Katalog und Bestellungen abfragen darf, bevor er antwortet. | 4 | 1 bis 8. Höher = genauer, aber langsamer und teurer. |
| Capabilities | Schalter: Produktsuche, Bestellstatus, Aktionen, In den Warenkorb, Spracheingabe, selbstlernende Synonyme, Tickets für menschlichen Support. | — | Deaktivieren Sie alles, was der Agent nicht tun soll. |
| Human support | Support-E-Mail (BCC), Antwortzeit, Ticket-Präfix, automatische Schließung, Benachrichtigung bei Lösung. | 24-48 hours | Wird nur genutzt, wenn die Capability Human support tickets aktiv ist. |
Deinstallation
Setzen Sie Enable auf No und speichern Sie, um das Widget sofort auszublenden. Um das Modul vollständig zu entfernen: bin/magento module:disable Codingrow_AiPersonalShopper, dann composer remove codingrow/module-ai-personal-shopper.
Einrichtung des KI-Anbieters
Einen Anbieter wählen
Der Assistent funktioniert mit jedem der vier Anbieter — Sie bringen Ihren eigenen API-Schlüssel mit, und die KI-Nutzung wird Ihnen direkt vom gewählten Anbieter in Rechnung gestellt. OpenAI (ChatGPT/GPT) bietet die breiteste Palette; Anthropic (Claude) eignet sich gut für einen Assistenten, der sich strikt an Vorgaben halten muss; Google (Gemini) ist preislich wettbewerbsfähig und schnell; OpenRouter gibt Ihnen einen einzigen Schlüssel für Dutzende Modelle verschiedener Anbieter, praktisch zum Vergleichen von Kosten und Qualität.

Einen OpenAI-API-Schlüssel erhalten
- Melden Sie sich bei platform.openai.com an.
- Gehen Sie zu platform.openai.com/api-keys.
- Klicken Sie auf Create new secret key, vergeben Sie einen Namen (z. B. „AI Personal Shopper“) und kopieren Sie ihn sofort — er wird nur einmal angezeigt.
- Tragen Sie ihn als neue AI im Tab AI Models ein (Codingrow → AI Personal Shopper → AI Models), mit Provider auf OpenAI, und wählen Sie dann mit Load models das Modell.
Einen Anthropic-API-Schlüssel erhalten
- Melden Sie sich bei console.anthropic.com an.
- Gehen Sie zu console.anthropic.com/settings/keys.
- Klicken Sie auf Create Key, vergeben Sie einen Namen und kopieren Sie den Wert.
- Tragen Sie ihn als neue AI im Tab AI Models ein (Codingrow → AI Personal Shopper → AI Models), mit Provider auf Anthropic, und wählen Sie dann mit Load models das Modell.
Einen Google-API-Schlüssel erhalten
- Melden Sie sich bei aistudio.google.com mit einem Google-Konto an.
- Gehen Sie zu aistudio.google.com/app/apikey.
- Klicken Sie auf Create API key, wählen oder erstellen Sie ein Google-Cloud-Projekt und kopieren Sie den Schlüssel.
- Tragen Sie ihn als neue AI im Tab AI Models ein (Codingrow → AI Personal Shopper → AI Models), mit Provider auf Google, und wählen Sie dann mit Load models das Modell.
Einen OpenRouter-API-Schlüssel erhalten
- Melden Sie sich bei openrouter.ai an.
- Gehen Sie zu openrouter.ai/keys.
- Klicken Sie auf Create Key, vergeben Sie einen Namen und kopieren Sie den Wert.
- Tragen Sie ihn als neue AI im Tab AI Models ein (Codingrow → AI Personal Shopper → AI Models), mit Provider auf OpenRouter, und wählen Sie dann mit Load models das Modell.
Load models
Sobald der API-Schlüssel eingetragen ist, klicken Sie unter dem Feld Model auf Load models: Das Modul ruft mit Ihrem Schlüssel den eigenen Modell-Listen-Endpunkt des Anbieters ab und füllt ein Dropdown mit allen Modellen, die Ihr Schlüssel tatsächlich nutzen kann — wählen Sie aus der Liste, statt eine id einzutippen. Als Fallback bleibt ein manuelles Textfeld für eine id verfügbar, die noch nicht in der Liste ist. Ein Link direkt unter dem Feld führt immer zur richtigen Seite, um den Schlüssel des aktuell gewählten Anbieters zu erhalten.

Rechner fur die Budgetdauer
Die KI-Nutzung wird vom Anbieter pro Token abgerechnet, daher lautet die naturliche Frage, wie lange ein bestimmtes Budget reicht. Der Konfigurationsbildschirm beantwortet sie direkt: gleich unter den API-Schlusseln befindet sich ein kleiner Budget-Rechner. Geben Sie Ihr Budget, den Modellpreis pro Million Eingabe-/Ausgabe-Tokens (Voreinstellungen fur Gemini Flash, OpenAI gpt-4o-mini, Claude Haiku 4.5 und Claude Sonnet 4.5 sind vorhanden) und die erwartete Anzahl an Chats pro Tag ein. Er zeigt sofort die Kosten pro Chat und wie viele Tage das Budget in einem optimistischen Szenario (kurze Chats) und einem pessimistischen (lange Chats) reicht.
Die Token-Annahmen pro Chat sind plattformubergreifend gleich — nur der Modellpreis andert sich — der Vergleich ist also fair. Eine Referenztabelle zeigt ungefahr, wie weit ein Budget von €100 bei etwa 10 Chats pro Tag mit jedem Modell reicht. Es ist nur eine Planungshilfe; die realen Kosten werden immer vom Anbieter abgerechnet.
Qualität und Kosten. Das Modul gibt dem Modell bereits alles, was es zum Antworten und Unterstützen braucht — Katalog, Bestellungen, Aktionen, Kategorien, Synonyme und Werkzeuge. Die Qualität der Antworten hängt dann vom gewählten Modell ab: Wenn sie Sie nicht überzeugen, probieren Sie einfach ein anderes Modell oder einen anderen Anbieter. Die Kosten ergeben sich direkt aus dieser Wahl — aber ein Assistent dieser Art braucht kein teures, „denkendes" oder komplexes Modell: ein günstiges, schnelles (Klasse „Flash"/„Mini") ist völlig ausreichend.

Budget duration calculator
Estimate how long an AI budget lasts. Token-per-chat assumptions are the same across platforms; only the model price changes.
| Model | ~ €/chat | €100 lasts ~ |
|---|---|---|
| Gemini 2.x Flash | ~€0.005–0.01 | several years |
| OpenAI gpt-4o-mini | ~€0.008–0.015 | ~2–3 years |
| Claude Haiku 4.5 | ~€0.05–0.10 | ~4–6 months |
| Claude Sonnet 4.5 | ~€0.15–0.30 | ~1–2 months |
KI-Feinabstimmung & Diagnose
Jede AI im Pool bringt ihre eigenen Einstellungen mit, auf ihrer Karte im Tab AI Models — dazu ein Limit, das in Configuration bleibt:
- Max response tokens (auf der AI-Karte) — begrenzt die Länge jeder Antwort; niedriger hält Antworten knapp und Kosten klein.
- Temperature (auf der AI-Karte) — von konzentriert und vorhersehbar bis zu abwechslungsreicherer Formulierung. Leer gelassen wird der Wert gar nicht gesendet, was die neuesten Modellfamilien verlangen.
- Max tool rounds (Stores → Configuration → … → Agent limits) — 1 bis 8, wie oft das Modell seine Werkzeuge (Suche, Bestellabfrage, …) aufrufen darf, bevor es antworten muss; höher erlaubt gründlichere mehrstufige Antworten, niedriger ist schneller und günstiger.
- Recent AI calls (Diagnose) (Tab AI Models) — die letzten 10 Aufrufe mit Ergebnis, Fehler, Nachricht und Antwort: bleibt eine Antwort aus, sieht man den Grund auf einen Blick. Mit aktivem Failover wird die AI genannt, die wirklich geantwortet hat, nicht die primäre.
Wichtiger Hinweis: Qualität, Konsistenz und Proaktivität der Antworten hängen vor allem vom KI-Modell ab, das Sie wählen, nicht allein vom Modul. Ein günstiges, schnelles Modell (der „flash“-/„mini“-/Haiku-Klasse) kostet wenig, ist aber weniger gut darin, die Reihenfolge der Karten zu kuratieren, die Optionen auf einige wenige einzugrenzen und Kombinationen/Cross-Selling vorzuschlagen; ein leistungsfähigeres Modell (z. B. Claude Sonnet, ein Modell der GPT-4-Klasse) folgt dieser Logik weit zuverlässiger. Wenn Sie die Antworten nicht zufriedenstellen, ist das Erste, was Sie versuchen sollten, der Wechsel zu einem stärkeren Modell — die Kosten ändern sich entsprechend, nutzen Sie den Rechner oben.
Benutzerhandbuch
Capabilities
Jede Capability ist ein eigenständiger Schalter unter Capabilities. Das Deaktivieren einer Capability nimmt dem Agenten diese Fähigkeit sofort — es wird nie mehr angenommen oder abgeleitet, als aktiviert ist:
- Produktsuche — Suche in natürlicher Sprache im Live-Katalog, zurückgegeben als Produktkarten (oder Kategoriekarten, wenn die Anfrage für ein einzelnes Produkt zu vage ist).
- Bestellstatus — ruft den echten Bestellstatus für eingeloggte Kunden ab, oder für Gäste, die Bestellnummer + E-Mail bestätigen.
- Aktionen — der Agent kennt aktive Rabatte und kann sie erwähnen oder danach filtern.
- Kategorieinhalte lesen — erlaubt dem Agenten, die eigene PageBuilder-Beschreibung einer Kategorie zu lesen (
get_category_info), sodass Kaufberatungen, Größentabellen und redaktionelle Texte, die Sie bereits auf Kategorieseiten verfasst haben, in die Antwort einfließen, statt ignoriert zu werden. - In den Warenkorb — lässt den Kunden ein Produkt direkt von einer Karte aus hinzufügen, mit einem Mengenwähler, ohne den Chat zu verlassen.
- Spracheingabe — Kunden können ihre Anfrage sprechen statt tippen (Web Speech-Mikrofon).
- Selbstlernende Synonyme — speichert die Zuordnung zwischen einem gescheiterten Suchwort und dem Katalogbegriff, der letztlich passte.
- Tickets für menschlichen Support — erlaubt dem Agenten, ein Ticket zu eröffnen und an eine Person zu übergeben, wenn eine Anfrage wirklich einen Menschen braucht; wird sie deaktiviert, schlägt der Agent nie vor, ein Ticket zu eröffnen.
- Abschließende Cross-Selling-Vorschläge — wenn der Kunde zum Abschluss kommt, kann der Agent ein oder zwei ergänzende Produkte als letzten Vorschlag hinzufügen, bevor er sich verabschiedet. Standardmäßig aus; aktivieren Sie sie nur, wenn Sie diesen abschließenden Anstoß wünschen.

Das Produkterlebnis
Alles, was der Kunde im Chat sieht — welche Produkte, in welcher Reihenfolge und wie sich die Karten im Verlauf der Unterhaltung ändern —, wird vom Assistenten gesteuert, nicht von einer festen Ergebnisliste.
- Kuratierte, live aktualisierte Karten — der Assistent sucht breit, wählt dann aus, welche Produkte er in welcher Reihenfolge zeigt, und steuert auf 2–3 starke Optionen zu, statt eine Wand aus Ergebnissen auszuschütten. Die Karten aktualisieren sich in Echtzeit bei jeder Runde: sobald der Kunde eingrenzt („die in Mango“, „etwas Günstigeres“), wird das Raster passend neu aufgebaut.
- Kategoriekarten — ist eine Anfrage für ein einzelnes Produkt zu vage („ein Geschenk fürs Zuhause, weiß nicht was“), schlägt der Assistent Kategorien zum Erkunden vor statt einer Sackgasse.
- Schnellantworten — klickbare Optionsschaltflächen unter einer Nachricht, sodass der Kunde mit einem Tipp weiterkommt statt zu tippen.
- In den Warenkorb — ein Mengenwähler direkt auf der Karte bestätigt vor dem Hinzufügen. Seit 2.2.0 werden auch Produkte mit Größen, Farben oder mehreren Artikeln im Chat gekauft: der Assistent fragt eine Auswahl nach der anderen, und im Warenkorb landet die richtige Variante. Die Produktseite wird nur noch für Optionen angeboten, die der Chat nicht abbilden kann, etwa eine Gravur oder einen Datei-Upload.
- Reichhaltige Karten — Produktkarten zeigen Name, Bild, Preis und einen etwaigen Rabatt sowie ein „Tell me more“; Bestellkarten zeigen die Sendungsverfolgung (Versanddienstleister + Nummer), sofern verfügbar.
- Persistenz — die Unterhaltung übersteht ein Neuladen der Seite 7 Tage lang, und eine Schaltfläche Start over leert sie, um neu zu beginnen.
Größen, Farben und Sets
Seit 2.2.0 nimmt der Chat-Warenkorb nicht mehr nur einfache Produkte an. Hat ein Produkt Auswahlmöglichkeiten, bietet der Assistent sie einzeln, mitten im Gespräch an, und das Produkt landet mit der richtigen Variante im Warenkorb.
- Konfigurierbar — erst die Größe, dann die Farbe, dann die Menge, in der Reihenfolge, in der Sie die Attribute in Magento konfiguriert haben. Nicht existierende Kombinationen werden gar nicht erst angeboten.
- Gruppenartikel (Sets) — alle Artikel auf einmal, jeder mit seiner eigenen Menge; was auf null bleibt, landet nicht im Warenkorb.
- Bundle (modulare Sets) — eine Wahl pro Option, optionale Zusatzteile eingeschlossen.
Die Auswahl wird so gezeichnet, wie Sie sie in Magento konfiguriert haben: Farben mit ihrem echten Hex-Code, Größen als großer lesbarer Wert, lange Listen als Dropdown. Die Menge erscheint auf der letzten Karte. Auf dem Desktop läuft alles im Seitenbereich, auf dem Handy im Chat. Auf Bundle- und Gruppenkarten steht der echte Preisbereich, nicht 0,00 €.
Ausverkaufte Optionen bleiben sichtbar, ausgegraut. Das ist die Voreinstellung: eine ausverkaufte Größe zu verstecken lässt den Kunden glauben, Sie führten sie gar nicht. Der Schalter steht in Stores → Configuration → Codingrow → AI Personal Shopper → Catalog Search → Show unavailable choices, greyed out; noch bestellbare Optionen werden nie ausgegraut. Nicht zu verwechseln mit Only in-stock products, das entscheidet, ob das Produkt überhaupt vorgeschlagen wird.
Hat ein Produkt benutzerdefinierte Optionen, die der Chat nicht abbilden kann (eine Gravur zum Eintippen, ein Datei-Upload), sagt der Assistent das und bietet den Link zur Produktseite an, statt wortlos eine Seite zu öffnen.
Sitzungen & Seitenkontext
Der Assistent behält im Blick, mit wem er spricht und wo, sodass sich die Unterhaltung durchgängig anfühlt und beim richtigen Produkt bleibt.
- Eintrittsritual — statt einer sofortigen vorgefertigten Antwort zeigt das Widget ein kurzes Connecting…, dann tritt nach 10–20 s ein Operator mit Namen „dem Chat bei“ und fragt nach dem Namen des Kunden. Timing und Tippen sind simuliert, und das Tempo ist konfigurierbar.
- Sitzungen — kommt der Kunde nach mehr als ~5 Minuten zurück, beginnt eine neue Sitzung, ohne erneut nach dem Namen zu fragen, markiert durch eine Trennlinie im Chat; innerhalb weniger Minuten wird sie einfach fortgesetzt.
- Produktseiten-Kontext — wird der Chat von einer Produktseite aus geöffnet, löst sich eine implizite Frage („erzähl mir davon“, „woraus ist es gemacht?“) auf dieses Produkt auf, nativ per URL/url_key verknüpft und robust gegenüber Weiterleitungen.
- Warenkorb-Bewusstsein — über
get_cartkann der Assistent, was bereits im Warenkorb liegt, als Interessenssignal aufnehmen — um passende Ergänzungen vorzuschlagen und nicht erneut vorzuschlagen, was schon da ist —, ohne es zu kommentieren. - Abschließendes Cross-Selling — ist die Capability aktiviert und der Kunde fertig, fügt er ein oder zwei ergänzende Produkte als letzten Vorschlag hinzu und verabschiedet sich dann.
Proaktiver Assistent
Seit 2.2.0 kann der Assistent die Initiative ergreifen. Eingestellt wird das in Stores → Configuration → Codingrow → AI Personal Shopper → Proactive assistant, und anfangs ist alles aus: ein Verkäufer, der zuerst spricht, verkauft mehr oder stört, und wie Sie mit Ihren Kunden reden, wissen nur Sie. Das Chatfenster öffnet sich in keinem Fall von selbst: der Assistent lässt den Punkt auf dem Button aufleuchten und wartet.
- Suggest pairings after an add to cart — Never (Standard), only the first time in a visit oder every time. Legt der Kunde beim Stöbern etwas in den Warenkorb, bereitet der Assistent ein paar passende Vorschläge vor. Jedes Mal ist das ein AI-Aufruf, den Ihr Anbieter abrechnet. Eine Wartezeit gibt es hier nicht: es startet sofort und erscheint, sobald das Modell antwortet.
- Offer help after (seconds on the page) — 0 = nie (Standard). Steht ein Kunde so lange auf einer Seite, ohne den Chat je geöffnet zu haben, wird Hilfe angeboten. Das kostet nichts: den Satz schreibt das Widget. Nie im Warenkorb und nie im Checkout.
- What it says — der Text der Einladung. Leer = Standardsatz, in allen Sprachen des Moduls übersetzt.
Funktioniert sowohl mit Hyvä als auch mit Luma: das Widget hört auf die Ereignisse, die das Theme bei einer Änderung des Warenkorbs ohnehin auslöst — auch ein AJAX-Hinzufügen ohne Seiten-Reload wird erkannt.
So entstandene Gespräche überspringen das Namensritual und kommen ohne Namen in Conversations an: erkennbar an der Spalte Origin (Customer, Assistant — after an add to cart, Assistant — offered help). Antwortet der Kunde und nennt seinen Namen, wird er wie in jedem anderen Chat erfasst.
Branding und Farben
Legen Sie einen Assistant name fest (wird als Name der Ansprechperson angezeigt, z. B. „Anna“) und optional ein Brand logo (feste Höhe, damit es nie verzerrt wird) oder einen Brand text mit Ihrem Firmennamen — beide werden oben links im Chat-Header angezeigt. Der Name der Ansprechperson bleibt als Unterzeile mit einem Live-Präsenzpunkt unter der Marke sichtbar, auch wenn ein Logo gesetzt ist. Accent color steuert den Öffnen-Button und die Akzente im Chat; Header/theme color (optional) färbt die Header-Leiste und die Nachrichtenblasen des Kunden — leer lassen, um die Accent color wiederzuverwenden.
KI-Suchschaltflache
Wenn die fixierte Suchleiste des Live-Search-Moduls aktiv ist, kann der AI Personal Shopper eine zweite KI-Lupenschaltflache direkt neben dem Suchfeld hinzufugen. Ein Klick offnet den Assistenten-Chat; und wenn der Kunde bereits etwas in das Suchfeld eingegeben hat, wird dieser Text direkt als erste Nachricht gesendet — so wird aus einer Suche mit zu vielen (oder null) Ergebnissen mit einem Tipp ein gefuhrtes Gesprach.
Aktivieren Sie sie unter Stores → Configuration → Codingrow → AI Personal Shopper → Assistant & Branding mit AI button in the search bar = Yes. Es ist eine weiche Integration: Ist Live Search nicht installiert oder seine fixierte Leiste deaktiviert, erscheint die Schaltflache einfach nicht — keine harte Abhangigkeit.

Selbstlernende Synonyme
Ist sie aktiviert (Capabilities → Self-learning synonyms), speichert der Agent eine Zuordnung, sobald das Suchwort eines Kunden nicht direkt zum Katalog passt, ein späterer Versuch aber schon — regionale Bezeichnungen, Dialekt, Tippfehler, Synonyme. Prüfen und bearbeiten Sie das Register unter Codingrow → AI Personal Shopper → Synonyms: eine paginierte, inline bearbeitbare Tabelle. Nutzen Sie Export CSV / Import CSV, um es zu sichern, in großen Mengen zu bearbeiten oder zwischen Umgebungen zu verschieben. Der Button Inject into site search überträgt das gesamte Register in die nativen Search Synonyms von Magento, sodass auch die Suchleiste der Website davon profitiert — nicht nur der Chat. Der Agent liest zudem Ihre manuell gepflegten nativen Search Synonyms, sodass sich beide Systeme gegenseitig verstärken.
Beispiel: Ein Kunde sucht nach „Kapuzenpulli“ und der Agent findet direkt nichts, aber ein späterer Versuch mit „Hoodie“ passt — das Paar wird automatisch gespeichert, sodass die nächste Suche nach „Kapuzenpulli“ sofort aufgelöst wird, und Sie können es mit einem Klick in die native Suche einspielen.

Tickets für menschlichen Support
Ist sie aktiviert (Capabilities → Human support tickets), schlägt der Agent vor, ein Ticket zu eröffnen, wenn ein Kunde einen Menschen braucht und die Unterhaltung allein das Problem nicht löst. Er fragt nach der E-Mail (Pflichtfeld) und, falls hilfreich, nach der Bestellnummer und einem Telefon-/WhatsApp-Kontakt, vergibt dann eine Ticketnummer — mit vorangestelltem Ticket number prefix (Standard AIPS-), z. B. AIPS-000042 — und sendet dem Kunden die vollständige Transkription per E-Mail, mit BCC an die unter Human support → Support email (BCC) hinterlegte Adresse (bleibt diese leer, geht die E-Mail nur an den Kunden). Der dem Kunden angezeigte Antwortzeit-Text stammt aus Human support → Response time.
Tickets erscheinen im Tab Tickets & Support: eine Tabelle, in der View die Kontaktdaten und die vollständige Transkription öffnet, und eine Spalte Closed by, die festhält, wer jedes Ticket geschlossen hat — admin, cron oder customer. Die Aktion Resolve schließt ein Ticket und kann die Standard-Schließbenachrichtigung für dieses Ticket überschreiben, sodass dem Kunden eine individuelle Nachricht gesendet wird. Eine tägliche Aufgabe schließt automatisch jedes Ticket, das über Auto-close open tickets after (days) hinaus offen bleibt (festgehalten als closed_by = cron). Der Kunde kann sein eigenes Ticket auch aus dem Chat heraus schließen oder stornieren, aber erst nach einer Eigentumsprüfung — Ticketnummer und E-Mail müssen beide übereinstimmen. Der Agent klassifiziert zudem Unterhaltungen, die ein Website-Problem melden, als Bug report, sodass Probleme Ihr Team erreichen, ohne dass ein Support-Ticket nötig ist.
Beispiel: Ein Kunde schreibt „Ich muss mit jemandem über meine Bestellung sprechen“. Der Agent fragt nach der E-Mail (und, falls hilfreich, nach der Bestellnummer und einem Telefon-/WhatsApp-Kontakt), vergibt eine Ticketnummer wie AIPS-000042 und sendet dem Kunden die vollständige Transkription per E-Mail, mit BCC an Ihre Support-Adresse. Ihr Team löst es im Tab Tickets & Support — optional mit einer individuellen Nachricht an den Kunden — oder es schließt sich automatisch (closed_by = cron), sobald es die konfigurierte Anzahl an Tagen inaktiv war.


| Einstellung | Funktion | Standard |
|---|---|---|
| Support email (BCC) | Adresse, die eine BCC-Kopie jeder Ticket-Transkriptions-E-Mail erhält. | — (nur Kunde, wenn leer) |
| Response time | Text, der dem Kunden bei Eröffnung eines Tickets angezeigt wird. | 24-48 hours |
| Ticket number prefix | Präfix bei der Vergabe von Ticketnummern. | AIPS- |
| Auto-close open tickets after (days) | Tickets ohne Aktivität werden durch eine tägliche Aufgabe automatisch geschlossen (festgehalten als closed_by = cron). | — |
| Notify on close | Wer benachrichtigt wird, wenn ein Ticket geschlossen wird; die Aktion Resolve kann dies pro Ticket überschreiben und dem Kunden eine individuelle Nachricht senden. | Admin |
| Closed by | Tabellenspalte, die festhält, wer jedes Ticket geschlossen hat: admin, cron oder customer. | — |
Sicherheit & Missbrauchsschutz
Da jede KI-Antwort einen echten API-Aufruf kostet, ist das Widget durch eine mehrschichtige Verteidigung geschützt, die Sonden, Scanner, Injection- und Prompt-Injection-Versuche sowie geringwertige Nachrichten stoppt, bevor sie das Modell überhaupt erreichen — zu null Kosten.
- Limits pro IP — ein Burst-Limit von 15 Anfragen / 60 s, 300 Anfragen pro Tag, höchstens 30 neue Chats pro Tag und 60 Runden pro Unterhaltung.
- Globaler Schutzschalter — eine shopweite Obergrenze von etwa 5.000 KI-Aufrufen pro Tag schützt das Budget gegen einen verteilten Angriff.
- Proof-of-Widget-Token — das Widget weist nach, dass es das echte Eintrittsritual durchlaufen hat; der Schalter Require widget token (Security & anti-abuse) erzwingt dies und weist gefälschte Aufrufe an den Endpunkt ab.
- Vollständige Protokollierung — jedes blockierte Ereignis wird mit IP, User-Agent und Grund protokolliert, sodass Missbrauch sichtbar bleibt.
- Provider-Watchdog — beginnt der KI-Provider zu scheitern (Guthaben aufgebraucht, falscher Schlüssel), benachrichtigt Sie ein Watchdog per E-Mail, damit ein stiller Ausfall nicht unbemerkt bleibt.
Unterhaltungen lesen
Codingrow → AI Personal Shopper → Conversations listet jede Unterhaltung, automatisch klassifiziert als Shopping, Support, Bug report, Possible spam oder Other, paginiert und nach Typ filterbar. Die Aktion View öffnet den vollständigen Thread — jede Nachricht von Kunde und Assistent, einschließlich der in jeder Runde vorgeschlagenen Produktkarten — schreibgeschützt. Unterhaltungen können einzeln oder in Massen gelöscht werden; ältere Unterhaltungen jenseits der konfigurierten Aufbewahrungsdauer werden durch eine tägliche Aufgabe entfernt (Bug-Reports sind von der automatischen Bereinigung ausgenommen).
Beispiel: Eine Unterhaltung, in der der Kunde einen Fehler beim Checkout beschreibt, wird automatisch als Bug report eingeordnet, sodass Ihr Team sie in der Konsole sieht, ohne dass jemand eine E-Mail schreiben muss.

Lizenz
Die Lizenz wird für eine Domain ausgestellt und kann ein Einzelmodul-Schlüssel (AI Personal Shopper) oder ein Codingrow-Abo-Schlüssel (alle Module) sein. Ohne gültige Lizenz wird das Chat-Widget nicht gerendert. Ihre Lizenz umfasst die aktuelle Version plus 1 Jahr Updates und Support; die abgedeckten Versionen können Sie für immer weiter nutzen und den Support (−35%) verlängern, um auf neuere Versionen zu aktualisieren.