CLI-Befehle
FAQ-Batch-Generierung per Kommandozeile
sven:das-faq:generate
Der einzige CLI-Befehl des Plugins. Startet die KI-FAQ-Generierung und kann wahlweise ein einzelnes Produkt, eine Kategorie (optional inkl. Unterkategorien) oder den gesamten Katalog verarbeiten.
bin/console sven:das-faq:generate [OPTIONS]
Ohne Parameter werden alle aktiven Hauptprodukte des Shops verarbeitet. Produkte, die bereits FAQs haben, werden standardmäßig übersprungen — ein Re-Run ist also idempotent.
--dry-run --limit=5 testen und die Provider-Dashboard-Kosten beobachten.
Optionen im Detail
| Option | Kurz | Beschreibung |
|---|---|---|
--product-id |
-p |
Einzelmodus. Akzeptiert UUID oder Produktnummer. Gewinnt vor Kategorie-Filtern. |
--category-id |
— | Nur Produkte dieser Kategorie (UUID). |
--category-name |
-c |
Nur Produkte dieser Kategorie (Name — matcht über alle Sprachen). |
--include-children |
— | Unterkategorien rekursiv einbeziehen (nur sinnvoll mit --category-*). |
--mode |
-m |
append (anhängen, Default) oder replace (bestehende FAQs ersetzen). |
--force |
-f |
Auch Produkte mit bestehenden FAQs verarbeiten. Pflicht für replace. |
--dry-run |
— | Nur generieren, NICHT speichern. Im Einzelmodus werden die Vorschläge im Terminal in einer Tabelle gezeigt. |
--limit |
-l |
Maximale Anzahl Produkte. 0 = unbegrenzt (Default). Für Smoke-Tests sehr nützlich. |
--delay |
-d |
Pause zwischen API-Calls in Millisekunden. Default 500. Schützt vor Rate-Limits. |
Typische Beispiele
Einzelnes Produkt — Vorschau
bin/console sven:das-faq:generate -p SW10001 --dry-run
Generiert FAQs für das Produkt mit Nummer SW10001, zeigt sie als Tabelle im Terminal und speichert nichts.
Einzelnes Produkt — FAQs anhängen
bin/console sven:das-faq:generate -p SW10001
Gleicher Lauf, aber die FAQs werden an die bestehende Liste des Produkts angehängt. Bestehende FAQs bleiben erhalten.
Komplette Kategorie inkl. Unterkategorien
bin/console sven:das-faq:generate -c "Stühle" --include-children
Verarbeitet alle aktiven Hauptprodukte der Kategorie „Stühle" und aller untergeordneten Kategorien. Produkte mit bestehenden FAQs werden übersprungen.
Smoke-Test vor dem großen Lauf
bin/console sven:das-faq:generate --category-id=abc123def456… --limit=5 --dry-run
Generiert FAQs für höchstens 5 Produkte der angegebenen Kategorie, speichert nichts. Gibt eine grobe Schätzung von Laufzeit und API-Kosten.
Bestehende FAQs überschreiben
bin/console sven:das-faq:generate -c "Stühle" --force --mode=replace
Verarbeitet auch Produkte, die schon FAQs haben — alte FAQs werden komplett ersetzt. Vorsicht: Kuratierte FAQs gehen verloren. Vorher ein Backup der product.custom_fields-Spalte empfehlenswert.
Bestehende FAQs ergänzen statt ersetzen
bin/console sven:das-faq:generate -c "Stühle" --force --mode=append
Verarbeitet auch Produkte mit FAQs, hängt aber neue Vorschläge an die bestehende Liste an. Sinnvoll, nachdem Beschreibungen oder Properties umfangreich erweitert wurden.
Vorsichtiger Lauf mit längerer Pause
bin/console sven:das-faq:generate -c "Stühle" --delay=1500
Wartet 1,5 Sekunden zwischen den API-Calls. Empfohlen für große Läufe mit niedrigem Tier-Limit oder bei OpenAI-Accounts ohne hohes RPM-Limit.
Sicherheits-Defaults
- Nur Hauptprodukte werden verarbeitet (
parentId IS NULL). Varianten teilen sich die FAQs ihres Stammprodukts — doppelte API-Calls würden Geld kosten und am Datenmodell vorbeischreiben. - Nur aktive Produkte (
active = true). Deaktivierte Produkte bleiben unangetastet. - Bestehende FAQs werden respektiert. Ohne
--forcewerden Produkte, die schon FAQs haben, übersprungen — kein versehentlicher Reset. - Default-Modus ist
append. Selbst mit--forcewerden Vorschläge angehängt statt ersetzt —--mode=replacemuss bewusst gesetzt werden. - Rate-Limit-Pause ist standardmäßig auf 500 ms gesetzt. Wer's eilig hat und ein Provider-Tier mit hohem Limit hat, kann auf
0stellen — sonst lieber lassen.
Empfohlener Workflow
- Konfiguration prüfen: Provider gewählt, API-Key eingetragen, „API-Key testen"-Button geklickt und grün.
- Smoke-Test:
Output prüfen: Liefert die KI sinnvolle, sprachlich passende, faktentreue Fragen?bin/console sven:das-faq:generate -p <eine_test_produktnummer> --dry-run - Kategorie-Test:
Schaut man sich 5 zufällige Produkte einer Kategorie an, sieht man schnell, ob Beschreibung & Properties dort generell gut genug sind.bin/console sven:das-faq:generate -c "<Kategorie>" --limit=5 --dry-run - Echter Lauf: Ohne
--dry-run, ohne--limit— oder schrittweise pro Kategorie. - Stichproben im Admin: Ein paar Produkte aus dem Lauf manuell aufmachen, FAQs sichten und ggf. nachschärfen.
- Storefront kontrollieren: Cache leeren, eine Produktseite öffnen, FAQ-Akkordeon und FAQPage-JSON-LD prüfen (z. B. mit dem Google Rich Results Test ↗).
Zurück zur KI-FAQ-Generierung oder zur Plugin-Übersicht.