Installations- und Konfigurationsanleitung
1. Anforderungen
Das Modul ist für Magento 2 und eine über Composer verwaltete Installation vorgesehen.
Erforderlich:
- ein über Composer verwaltetes Magento-2-Projekt,
- eine PHP-Version, die mit der verwendeten Magento-Installation kompatibel ist,
- Zugriff auf Magento CLI,
- OpenAI API key,
- laufender Magento Message Queue consumer.
Modulpaket:
kowal/module-ai-email-theme-generator
Name des Magento-Moduls:
Kowal_AiEmailThemeGenerator
2. Installation
Fügen Sie das Composer-Repository hinzu:
composer config repositories.ai.email.theme.generator vcs https://github.com/kowalco/ai-email-theme-generator
Wenn das Repository privat ist, konfigurieren Sie die GitHub-Authentifizierung:
composer config --global --auth github-oauth.github.com
Installieren Sie das Modul:
composer require kowal/module-ai-email-theme-generator
Aktivieren Sie das Modul:
bin/magento module:enable Kowal_AiEmailThemeGenerator
Führen Sie das Magento-Update aus:
bin/magento setup:upgrade
Leeren Sie den Cache:
bin/magento cache:flush
Führen Sie für den Produktionsmodus die im Projekt verwendeten Standard-Deployment-Befehle aus, z. B.:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flush
3. Queue Consumer
Die KI-Generierung wird asynchron über Magento Message Queue verarbeitet.
Starten Sie den consumer manuell:
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
Konfigurieren Sie den consumer in Produktionsumgebungen unter supervisor, systemd oder einem anderen Prozessmanager, der vom Hosting verwendet wird.
Das Modul erstellt Aufgaben im Administrationsbereich, die Anfrage an die KI wird jedoch erst verarbeitet, wenn der consumer läuft.
4. Administratorberechtigungen
Das Modul fügt ACL-Ressourcen hinzu:
Kowal_AiEmailThemeGenerator::rootKowal_AiEmailThemeGenerator::jobsKowal_AiEmailThemeGenerator::generateKowal_AiEmailThemeGenerator::retryKowal_AiEmailThemeGenerator::cancelKowal_AiEmailThemeGenerator::applyKowal_AiEmailThemeGenerator::deleteKowal_AiEmailThemeGenerator::settings
Damit ein Administrator das Modul verwenden kann, weisen Sie die entsprechenden Ressourcen zu unter:
System > Permissions > User Roles
Für vollständigen Zugriff erlauben Sie die Hauptressource AI Email Generation sowie alle untergeordneten Ressourcen.
5. Speicherort der Konfiguration
Gehen Sie zu:
Stores > Configuration > AI Email Generation > AI Email Theme Generator
Der Konfigurationsbereich enthält die Gruppe:
General Settings
6. Konfigurationsfelder
Enabled
Typ: Yes/No
Standardmäßig: No
Aktiviert oder deaktiviert die Funktionen des Moduls.
Wenn No gesetzt ist:
- sollte das Modul keine KI-Generierungsaufgaben erstellen,
- wird die Generierungsaktion blockiert,
- sollte der Administrator das Modul zuerst konfigurieren.
Setzen Sie Yes erst, nachdem der API key vorbereitet und der queue consumer gestartet wurde.
API Provider
Typ: Select
Standardmäßig: OpenAI
Legt den vom Modul verwendeten KI-Anbieter fest.
Die aktuelle Implementierung unterstützt:
OpenAI
Das Feld existiert, damit künftig weitere Provider hinzugefügt werden können, ohne den Workflow des Administrators zu ändern.
OpenAI API Key
Typ: verborgenes/verschlüsseltes Feld
Speichert den OpenAI API key, der für die Generierung verwendet wird.
Der Wert wird von Magento verschlüsselt mit:
MagentoConfigModelConfigBackendEncrypted
Wichtig:
- legen Sie den API key nicht direkt im Code ab,
- committen Sie keine Umgebungsschlüssel,
- beschränken Sie den Zugriff auf dieses Feld über ACL,
- verwenden Sie einen Schlüssel mit den für das Projekt passenden Berechtigungen.
OpenAI Model
Typ: Select
Legt das OpenAI-Modell fest, das für die Generierung verwendet wird.
Beispiel:
gpt-4.1
Die Liste wird dynamisch über die OpenAI Models API mithilfe des konfigurierten API key abgerufen. Das Modul filtert die Antwort auf GPT-Modell-IDs und cached die Liste für kurze Zeit, damit die API nicht bei jedem Öffnen der Konfiguration aufgerufen wird.
Wenn der API key noch nicht gespeichert wurde, zeigt das Feld eine Fallback-Option an und fordert den Administrator auf, den Schlüssel zu speichern.
Wenn die OpenAI API vorübergehend nicht verfügbar ist, behält das Feld nach Möglichkeit das aktuell konfigurierte Modell bei.
Verwenden Sie ein Modell, das den benötigten Eingabetyp unterstützt:
- Textgenerierung für Prompts und Vorlageninhalte,
- ein Modell mit Bildunterstützung, wenn grafische Referenzdesigns verwendet werden.
Das ausgewählte Modell beeinflusst Ergebnisqualität, Antwortzeit und Kosten.
Request Timeout
Typ: Number
Beispiel für den Standardwert:
120
Maximale Zeit in Sekunden, die für eine Anfrage an die OpenAI API erlaubt ist.
Empfohlene Werte:
60 für kurze Textgenerierung,120 oder mehr für komplexe HTML/CSS-Generierung,- höhere Werte nur dann, wenn die Infrastruktur längere Queue-Aufgaben erlaubt.
Der Timeout betrifft die Hintergrundverarbeitung, nicht die Anfrage des Admin-Formulars.
Maximum Retries
Typ: Number
Beispiel für den Standardwert:
2
Legt fest, wie oft der consumer eine fehlgeschlagene Generierungsaufgabe automatisch erneut ausführen kann.
Wiederholungen sind bei temporären Fehlern nützlich, wie etwa:
- API-Timeout,
- temporärer Provider-Fehler,
- Rate Limit,
- Netzwerkproblem.
Dauerhafte Fehler, z. B. eine falsche Konfiguration oder eine ungültige KI-Antwort, sollten in den Aufgabendetails geprüft werden.
Technical Prompt
Typ: Textarea
Dieser Prompt wird bei jedem Generierungsauftrag verwendet. Er sollte technische Regeln enthalten, die immer eingehalten werden müssen.
Beispiel:
You are an assistant generating Magento 2 email templates.Return only JSON that matches the provided schema.Keep Magento directives valid.Do not invent Magento variables.Do not add JavaScript.Put CSS in template_styles unless inline styles are required for email compatibility.Preserve required variables and add warnings when a requested change is risky.When assets are provided, use only the URLs from the assets section, preserve alt text, apply target links to clickable images, use banners and icons according to their sort_order, and do not invent additional image URLs.
Verwenden Sie dieses Feld für stabile Anweisungen, wie etwa:
- Beibehaltung von Magento-Direktiven,
- Erhaltung erforderlicher Variablen,
- Vermeidung von JavaScript,
- ausschließliche Rückgabe von JSON,
- Erstellung von HTML, das mit E-Mail-Clients kompatibel ist,
- Verwendung von CSS im richtigen Ergebnisfeld.
Verwenden Sie dieses Feld nicht für einmalige kreative Anweisungen. Dafür ist AI Prompt im Vorlagenformular vorgesehen.
Default User Prompt
Typ: Textarea
Dieser Prompt wird standardmäßig im KI-Bereich des Editors für E-Mail-Vorlagen angezeigt.
Beispiel:
Improve this Magento email template while keeping all required Magento variables and directives valid.
Der Administrator kann ihn ändern, bevor eine Generierungsaufgabe erstellt wird.
Verwenden Sie dieses Feld, um eine praktische Standardanweisung für typische Generierungsaufgaben festzulegen.
Allowed Design File Types
Typ: Text
Beispiel für den Standardwert:
png,jpg,jpeg,webp,html,htm,txt
Kommagetrennte Liste zulässiger Dateiendungen für das optionale Referenzdesign.
Unterstützte Beispiele:
Verwenden Sie in der Produktion eine möglichst restriktive Liste. Lassen Sie keine Dateitypen zu, die im Prozess nicht benötigt werden.
Maximum Design File Size
Typ: Number
Beispiel für den Standardwert:
5242880
Maximale Größe der Referenzdatei in Byte.
Beispiele:
1048576 = 1 MB5242880 = 5 MB10485760 = 10 MB
Große Dateien erhöhen die Payload-Größe und können die Generierung verlangsamen oder Provider-Limits überschreiten.
Automatically Apply Result
Typ: Yes/No
Standardmäßig: No
Legt fest, ob ein korrektes KI-Ergebnis die nativen Magento-Vorlagenfelder sofort überschreiben soll.
Wenn Yes gesetzt ist, speichert der consumer das generierte Ergebnis in:
- Template Name
- Template Subject
- Template Content
- Template Styles
Wenn No gesetzt ist, wird das Ergebnis in der Aufgabe gespeichert, und der Administrator kann es vor der manuellen Anwendung prüfen.
Empfohlene Produktionseinstellung:
No
Die manuelle Freigabe ist sicherer, da das KI-Ergebnis technisch korrekt sein kann, aber dennoch eine Prüfung in Bezug auf Marke, Recht oder Layout erfordert.
Keep Request and Response Payloads
Typ: Yes/No
Standardmäßig: Yes
Legt fest, ob das Modul vollständige Request- und Response-Payloads im Aufgabendatensatz speichert.
Wenn die Option aktiviert ist, können die Aufgabendetails Folgendes anzeigen:
- Snapshot der an die KI gesendeten Vorlage,
- verfügbare Variablen,
- Prompts,
- Metadaten des Referenzdesigns,
- KI-Antwort.
Dies ist für Debugging und Auditierung hilfreich.
Prüfen Sie in Produktionsumgebungen die Datenschutzanforderungen, bevor Sie diese Option aktivieren. Das Modul sollte keine echten Kundendaten an die KI senden, Payloads können jedoch weiterhin geschäftlich sensible Vorlageninhalte enthalten.
Retention Days
Typ: Number
Beispiel für den Standardwert:
30
Legt fest, wie lange alte Aufgaben gespeichert werden sollen.
Dieser Wert dokumentiert die Ziel-Retention-Policy. Das Projekt kann ihn verwenden, um eine zyklische Bereinigung gemäß den betrieblichen Anforderungen umzusetzen.
7. Beispiel: Generierung der Vorlage New Order Confirmation for Guest
Dieses Beispiel beschreibt den vollständigen Prozess zur Generierung einer verbesserten Magento-E-Mail-Vorlage für:
New Order Confirmation for Guest
Schritt 1: Modul konfigurieren
Gehen Sie zu:
Stores > Configuration > AI Email Generation > AI Email Theme Generator
Setzen Sie:
Enabled = YesAPI Provider = OpenAIOpenAI API Key = OpenAI Model = gpt-4.1Request Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes
Speichern Sie die Konfiguration und leeren Sie den Cache, wenn Magento Sie dazu auffordert.
Schritt 2: queue consumer starten
Führen Sie aus:
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
Während der Tests sollte der Prozess dauerhaft laufen.
Schritt 3: Native Magento-Vorlage erstellen
Gehen Sie zu:
Marketing > Communications > Email Templates
Klicken Sie auf:
Add New Template
Wählen Sie im Feld Template:
New Order Confirmation for Guest
Klicken Sie auf:
Load Template
Magento füllt die nativen Felder aus:
- Template Subject
- Template Content
- Template Styles
Legen Sie den Vorlagennamen fest, z. B.:
New Order Confirmation for Guest - AI Draft
Speichern Sie die Vorlage.
Der KI-Generierungsprozess erfordert eine gespeicherte Vorlage, da die Aufgabe eine persistente template_id benötigt.
Schritt 4: AI Prompt ausfüllen
Öffnen Sie die Vorlage nach dem Speichern erneut, falls erforderlich. Der standardmäßige Magento-Editor für E-Mail-Vorlagen enthält den Abschnitt AI Email Generation.
Geben Sie im Feld AI Prompt eine geschäftliche Anweisung ein, z. B.:
Create a modern, clean transactional email for a premium fashion store.Keep all Magento order variables and directives valid.Improve the subject line and make the content easier to scan.Add a clear order summary section, shipping information section, and customer support footer.Use neutral colors, simple spacing, and email-client-safe HTML.
Bedeutung dieses Feldes:
- beschreibt das erwartete geschäftliche Ergebnis,
- bezieht sich nur auf die konkrete Generierungsaufgabe,
- kann Anweisungen zu Marke, Kommunikationston, Layout oder Inhalt enthalten,
- sollte keine API-Daten oder echten Kundendaten enthalten.
Schritt 5: Optional Design Reference hinzufügen
Verwenden Sie Design Reference, wenn die generierte E-Mail einer konkreten visuellen Richtung folgen soll.
Beispieldateien:
order-email-reference.pngbrand-email-layout.webpemail-layout.htmldesign-notes.txt
Bedeutung dieses Feldes:
- gibt der KI zusätzlichen visuellen oder strukturellen Kontext,
- hilft, die Vorlage an das Grafikdesign anzupassen,
- ist optional,
- muss die Limits für Dateiendungen und Dateigröße erfüllen.
Wenn kein Referenzdesign hinzugefügt wird, verwendet die KI nur den Vorlageninhalt, Variablen, den technischen Prompt und den Benutzer-Prompt.
Schritt 6: Optional Error Screenshot hinzufügen
Verwenden Sie Error Screenshot, wenn Sie der KI ein aktuelles Problem mit Rendering, Layout oder Vorlagenvalidierung zeigen möchten.
Beispiele:
- Screenshot eines falsch ausgerichteten Headers,
- Screenshot eines Problems mit einem Banner,
- Vorschau einer E-Mail mit falschem Abstand,
- Screenshot aus einem E-Mail-Client, der ein Responsiveness-Problem zeigt,
- Screenshot einer Fehlermeldung aus einem Testtool.
Dieses Feld wird als separater JSON-Abschnitt an die KI übergeben:
{ 'error_screenshot': { 'type': 'image', 'filename': 'email-rendering-error.png', 'mime_type': 'image/png', 'content_base64': '...', 'purpose': 'current_error_context', 'description': 'Screenshot showing current rendering, layout, visual, or validation errors. Use it to understand what should be fixed. This is not a design reference.' }}
Bedeutung dieses Feldes:
- zeigt der KI den aktuellen Fehler, der behoben werden soll,
- ist kein Grafikdesign und kein Zielmuster für das Aussehen,
- hilft der KI zu verstehen, was derzeit nicht funktioniert,
- sollte zusammen mit einer klaren Problembeschreibung im
AI Prompt verwendet werden.
Beispiel-Prompt:
Use the attached error screenshot only to understand the current rendering issue.Fix the spacing problem visible in the screenshot while preserving Magento variables.Do not treat the screenshot as the target design.
Schritt 7: Strukturierte AI Assets hinzufügen
Der Editor enthält den Bereich AI Assets. Diese Ressourcen werden bei der Magento-Vorlage gespeichert und als gruppierte Frontend-Medien-URLs an die KI übergeben.
Verfügbare Ressourcengruppen:
| Feld | Bedeutung |
|---|
| Logo | Markenlogo, das im Header oder Footer der Nachricht verwendet wird. |
| Header Image | Hauptgrafik für den oberen Bereich der Nachricht. |
| Banners | Dynamische Liste von Werbe- oder Informationsbannern. |
| Icons | Dynamische Liste kleiner grafischer Elemente, z. B. Benefits oder Service-Icons. |
Jede Ressource kann enthalten:
| Feld | Bedeutung |
|---|
| File | Bilddatei, die in den Magento media storage hochgeladen wurde. |
| Label | Interner Name, der der KI hilft, den Verwendungszweck der Ressource zu verstehen. |
| Alt Text | Text, der im alt-Attribut des Bildes verwendet wird. |
| Target URL | Link, der verwendet wird, wenn das Bild klickbar sein soll. |
| Sort Order | Anzeigeppriorität von Bannern und Icons. |
Klicken Sie für Banner und Icons auf:
Add BannerAdd Icon
Das Modul speichert die hochgeladenen Ressourcen im Magento media storage und übergibt der KI öffentliche Frontend-URLs in der Struktur:
{ 'assets': { 'logo': { 'label': 'Brand logo', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/logo/logo.png', 'alt': 'Brand logo', 'link': 'https://example.com/', 'sort_order': 0 }, 'header_image': { 'label': 'Spring campaign header', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/header/header.jpg', 'alt': 'Spring collection', 'link': 'https://example.com/spring', 'sort_order': 0 }, 'banners': [ { 'label': 'Main promotion', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/banner/banner.jpg', 'alt': '20% off new collection', 'link': 'https://example.com/new', 'sort_order': 10 } ], 'icons': [ { 'label': 'Free delivery', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/icon/delivery.png', 'alt': 'Free delivery', 'link': 'https://example.com/delivery', 'sort_order': 10 } ] }}
Beziehen Sie sich in Prompts direkt auf diese Gruppen. Beispiel:
Use the uploaded logo as the main brand mark.Use the header image at the top of the email.Place banners below the order summary using their sort order.Use icons in a benefits row and link each icon to its target URL.Always preserve alt text.
Schritt 8: Generierung nach dem Speichern auswählen
Aktivieren Sie:
Generate with AI after saving
Bedeutung dieses Feldes:
- Magento speichert die Vorlage zuerst über die standardmäßige native save-Aktion,
- nach erfolgreichem Speichern erstellt das Modul eine KI-Generierungsaufgabe,
- das hochgeladene Referenzdesign wird der Aufgabe hinzugefügt,
- die Aufgabe wird asynchron durch den queue consumer verarbeitet.
Wenn die Checkbox nicht markiert ist, funktioniert das Speichern der Vorlage genau wie das standardmäßige Speichern in Magento, und es wird keine KI-Aufgabe erstellt.
Schritt 9: Vorlage speichern
Klicken Sie auf die standardmäßige Magento-Schaltfläche:
Save Template
Nach dem Speichern der Vorlage erstellt das Modul eine Generierungsaufgabe.
Zu diesem Zeitpunkt:
- ist das native Speichern der Vorlage abgeschlossen,
- beginnt der Aufgabenstatus mit
pending, - verarbeitet der queue consumer die Aufgabe im Hintergrund.
Schritt 10: Aufgabe prüfen
Gehen Sie zu:
Marketing > Communications > AI Email Generation Jobs
Öffnen Sie die erstellte Aufgabe.
Wichtigste Felder:
| Feld | Bedeutung |
|---|
| Status | Aktueller Verarbeitungsstatus. |
| Template ID | ID der nativen Magento-E-Mail-Vorlage. |
| Template Name | Name der Vorlage, der zum Zeitpunkt der Aufgabenerstellung gespeichert wurde. |
| Model | OpenAI-Modell, das für die Generierung verwendet wurde. |
| Attempts | Anzahl der Verarbeitungsversuche. |
| Prompt | Benutzer-Prompt, der aus dem Vorlagenformular gesendet wurde. |
| Request Payload | JSON, das an die KI gesendet wurde, wenn die Payload-Speicherung aktiviert ist. |
| Response Payload | JSON, das von der KI zurückgegeben wurde, wenn die Payload-Speicherung aktiviert ist. |
| Generated Result | Geparstes Ergebnis, das zur Anwendung bereit ist. |
| Assets | Öffentliche Frontend-URLs und Metadaten von Logo, Header, Bannern und Icons. |
| Error Screenshot | Screenshot mit aktuellen Fehlern, der als Reparaturkontext an die KI übergeben wurde. |
| Warnings | KI-Warnungen zu riskanten oder unvollständigen Anforderungen. |
| Error Message | Fehlerursache, wenn die Generierung fehlschlägt. |
| Status History | Historie der Statusänderungen der Aufgabe. |
Typische Status:
| Status | Bedeutung |
|---|
pending | Die Aufgabe wurde erstellt und wartet auf den consumer. |
processing | Der consumer verarbeitet die Aufgabe aktuell. |
retry_scheduled | Der vorherige Versuch ist fehlgeschlagen, und eine Wiederholung wurde geplant. |
completed | Die KI hat ein korrektes Ergebnis zurückgegeben. |
failed | Die Aufgabe ist nach allen Versuchen fehlgeschlagen oder die Validierung war nicht erfolgreich. |
cancelled | Der Administrator hat die Aufgabe abgebrochen. |
Schritt 11: Ergebnis anwenden
Wenn Automatically Apply Result = No gesetzt ist, wird das Ergebnis nicht automatisch in der Magento-Vorlage gespeichert.
Prüfen Sie:
- Template Name
- Template Subject
- Template Content
- Template Styles
- Warnings
- Request Payload
- Response Payload
Wenn das Ergebnis korrekt ist, klicken Sie auf:
Apply Result
Das Modul speichert die generierten Werte in den nativen Magento-Vorlagenfeldern.
Schritt 12: Native E-Mail-Vorlage prüfen
Gehen Sie zurück zu:
Marketing > Communications > Email Templates
Öffnen Sie die Vorlage und prüfen Sie:
- Template Name wurde aktualisiert,
- Template Subject wurde aktualisiert,
- Template Content enthält das erwartete HTML und die Magento-Direktiven,
- Template Styles enthält das erwartete CSS,
- erforderliche Magento-Variablen wurden nicht entfernt.
Senden Sie eine Testnachricht oder führen Sie einen Test-Bestellablauf gemäß dem standardmäßigen QA-Prozess des Projekts aus.
Schritt 13: Weitere Korrektur an die KI senden
Nach Anwendung des Ergebnisses über Apply Result ist die aktuelle Version der Vorlage in den nativen Magento-Feldern gespeichert. Das bedeutet, dass der nächste KI-Auftrag auf dieser Version basiert und nicht auf der ursprünglichen Vorlage.
Sie können dieselbe Vorlage mehrfach verfeinern:
- Wenden Sie das KI-Ergebnis über
Apply Result an. - Öffnen Sie die Vorlage erneut unter
Marketing > Communications > Email Templates. - Geben Sie einen neuen Prompt ein, der die konkrete Korrektur beschreibt.
- Wenn das Problem visuell ist, fügen Sie
Error Screenshot hinzu. - Markieren Sie
Generate with AI after saving. - Speichern Sie die Vorlage.
- Prüfen Sie die neue Aufgabe und wenden Sie das Ergebnis an, wenn es korrekt ist.
Behandeln Sie AI Prompt bei weiteren Korrekturen als Änderungsbeschreibung zur aktuellen Version. Am besten geben Sie an:
- was aktuell falsch ist,
- welcher Effekt erreicht werden soll,
- welche Elemente die KI nicht ändern soll,
- ob der angehängte
Error Screenshot einen Rendering-Fehler, ein visuelles Layout, ein Responsiveness-Problem oder eine Validierungsmeldung zeigt.
Beispiel-Prompt für eine weitere Korrektur:
Use the current saved template as the base.Fix the spacing issue visible in the attached error screenshot.Keep the current header layout, all Magento variables, and the existing Template Styles structure.Do not redesign the whole email.
Dieser Workflow ist nützlich, wenn die erste Version dem erwarteten Ergebnis nahekommt, aber noch Details wie Abstände, Responsiveness, Sichtbarkeit von Bannern, Logoposition oder Button-Stil verfeinert werden müssen.
Sie können diesen Zyklus mehrfach wiederholen. Jede neue Aufgabe erstellt einen separaten Eintrag in der Historie, sodass Sie zu früheren Prompts, Payloads und KI-Antworten zurückkehren können, um zu prüfen, welche Anweisung zu einer konkreten Änderung geführt hat.
8. Bedeutung der Felder im KI-Payload
Das Modul sendet einen strukturierten Payload an die KI. Die wichtigsten Abschnitte sind:
template
Enthält den aktuellen Zustand der Magento-Vorlage:
- Vorlagen-ID,
- Vorlagenname,
- subject,
- content,
- styles,
- ursprünglicher Vorlagencode.
Die KI verwendet diesen Abschnitt als Basismaterial für die Generierung.
Wichtig: Wenn zuvor ein KI-Ergebnis über Apply Result angewendet wurde, enthält der Abschnitt template bereits diese aktualisierte Version. Dadurch kann die nächste Generierung als Korrektur der aktuellen Vorlage funktionieren.
variables
Enthält Magento-Variablen und -Direktiven, die in der Vorlage erkannt wurden.
Die KI sollte diese Werte beibehalten und keine nicht unterstützten Variablen erfinden.
prompts
Enthält:
technical - den globalen technischen Prompt aus der Konfiguration,user - den im Vorlageneditor eingegebenen Prompt.
Der technische Prompt schützt die Magento-spezifische Struktur. Der Benutzer-Prompt beschreibt das erwartete Ergebnis für eine einzelne Vorlage.
design_reference
Enthält optionale Metadaten und den Inhalt des hochgeladenen Referenzdesigns.
Der Abschnitt ist leer, wenn keine Referenzdatei hochgeladen wurde.
error_screenshot
Enthält einen optionalen Screenshot, der aktuelle Rendering-, Layout-, visuelle oder Validierungsfehler zeigt.
Dieser Abschnitt hat die Beschreibung purpose und description, damit die KI weiß, dass die Datei zum Verständnis des Problems dient und nicht als Muster für das Ziel-Design.
Der Abschnitt ist leer, wenn kein Screenshot hochgeladen wurde.
Bei weiteren Korrekturen lohnt es sich, error_screenshot zusammen mit einem präzisen Prompt zu verwenden, der sagt, was verbessert und was nicht geändert werden soll. Dadurch kann die KI ein konkretes Problem beheben, ohne die gesamte Vorlage neu aufzubauen.
Beispiel: Nach Anwendung des ersten KI-Ergebnisses bemerkt der Administrator, dass in Gmail ein Banner über den Abschnitt mit der Bestellzusammenfassung ragt. Im nächsten Auftrag hängt er einen Screenshot dieser Ansicht an und gibt einen Prompt ein, der ausschließlich um die Korrektur der Abstände und der Bannerbreite bittet. Der Payload enthält weiterhin den aktuellen Template Content und Template Styles, sodass die KI mit der zuletzt gespeicherten Version arbeitet.
assets
Enthält strukturierte Bildressourcen, die für die Vorlage gespeichert wurden:
- Logo,
- header image,
- banners,
- icons.
Jede Ressource enthält eine öffentliche Medien-URL, label, alt text, target URL, sort order und filename.
Die KI sollte diese URLs beim Aufbau des HTML verwenden und keine zusätzlichen Bildadressen erfinden.
store_context
Enthält grundlegende Informationen zum Shop, wie etwa:
- store ID,
- locale,
- base URL.
Die KI kann sie verwenden, um Sprache und Kontext zu verstehen, sollte jedoch keine echten Kunden- oder Bestelldaten erhalten.
9. Fehlerbehebung
Aufgabe bleibt im Status pending
Wahrscheinlichste Ursache:
- queue consumer läuft nicht.
Prüfen Sie:
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
Konfigurationsseite zeigt access denied
Prüfen Sie die ACL-Berechtigungen für:
Kowal_AiEmailThemeGenerator::settings
Melden Sie sich nach Änderung der Administratorberechtigungen ab und wieder an.
Generierung endet mit einem Fehler wegen fehlendem API key
Prüfen Sie:
OpenAI API Key
Stellen Sie sicher, dass das Modul aktiviert ist und die Konfiguration im richtigen Scope gespeichert wurde.
KI-Ergebnis hat den Status completed, aber die Vorlage wurde nicht aktualisiert
Prüfen Sie:
Automatically Apply Result
Wenn die Option auf No gesetzt ist, öffnen Sie die Aufgabe und klicken Sie auf:
Apply Result
Weitere Korrektur berücksichtigt das vorherige Ergebnis nicht
Prüfen Sie, ob das vorherige Ergebnis angewendet wurde über:
Apply Result
Die nächste Generierung basiert auf der aktuell gespeicherten Magento-Vorlage. Wenn das Job-Ergebnis den Status completed hat, aber nicht angewendet wurde, basiert der nächste Job weiterhin auf der älteren Version der Vorlage.
KI-Antwort wurde abgelehnt
Das Modul validiert das zurückgegebene JSON. Es kann das Ergebnis ablehnen, wenn:
- erforderliche Felder fehlen,
- erforderliche Felder falsche Typen haben,
- Vorlagenname, subject oder content leer sind,
- content ein
script-Tag enthält, - das Ergebnis kein gültiges JSON ist.
Prüfen Sie die Fehlermeldung in der Aufgabe und wiederholen Sie die Generierung mit einem klareren Prompt.
10. Empfohlene Produktionseinstellungen
Empfohlene Anfangswerte:
Enabled = YesRequest Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes for testing, No or limited retention for productionRetention Days = 30
Verwenden Sie die manuelle Anwendung des Ergebnisses, bis das Team sicher ist, dass Prompts, ausgewähltes Modell und Validierungsregeln konsistente Vorlagen liefern.