Zum Hauptinhalt springen

cockpitOS AI Assistant (WordPress-Plugin)

Das Plugin verbindet eine WordPress-Seite mit dem cockpitOS-Dashboard (API-URL, API-Key der WordPress-Website, optional Center-ID). Der Chat läuft als Web-Component über einen PHP-Proxy (admin-ajax.php) – der API-Key wird nicht an den Browser ausgeliefert (siehe unten).

Sichtbarer Seiteninhalt und API-Key

  • Kein Kontext als Fließtext: Der Shortcode gibt nur einen Mount-Container (und Styles/Skripte) aus. Inhalte für den Bot (Seiten, Cockpit-Daten) werden serverseitig in POST /api/ai/visitor-chatbot zusammengeführt – sie erscheinen nicht als lesbarer Artikeltext oder versteckter Block im Seiten-HTML.
  • API-Key: Liegt nur in der WordPress-Datenbank und im PHP-Proxy. Im öffentlichen Markup (z. B. data-config64) wird kein Schlüssel mit ausgegeben, sobald der Proxy genutzt wird.

Bot-Kontext: WordPress-Push + Cockpit

Wenn diese WordPress-Website im Cockpit einer Center-Website zugeordnet ist (WordPressWebsitecenterId), lädt der Besucher-Chatbot die gepushten WordPress-Seiten (staticPages aus dem Push) immer mit in den Systemkontext – zusätzlich zu den üblichen Cockpit-Slices (Shops, Events, …). So bleiben Infos aus dem Content-Mapping nutzbar, auch wenn die Nutzerfrage z. B. nur nach Shops klingt und die reine Intent-Analyse keine CMS-Seiten gewählt hätte.

Kontext aus dem Cockpit (kein manuelles Doppelpflastern)

Texte, Farben und Schnellthemen für den eingebetteten Chat kommen aus dem Chatbot-Tab im Cockpit (Center-Website-Konfiguration), nicht aus parallelen WordPress-Einstellungen:

  • Das Plugin ruft GET /api/wordpress/embed-config mit dem Website-API-Key auf und übernimmt u. a. Begrüßung, rotierende Suchfeld-Platzhalter als Chips (popularTopics), Consent-Titel/-beschreibung und Datenschutz-URL.
  • Die Antwort wird kurz gecacht (wenige Minuten), damit jede Seitenansicht nicht die Dashboard-API trifft; nach Verbindung trennen wird der Cache geleert.
  • Shortcode-Attribute können weiterhin gesetzt werden: Wenn ihr z. B. eigene popular_topics im Shortcode definiert, haben diese Vorrang vor den Cockpit-Werten — sonst gilt die zentrale Liste aus dem Cockpit.

Technische Details zum JSON: API-Vertrag – WordPress-Embed.

Verbindung trennen

Unter cockpitOS AI → Verbindung erscheint bei aktiver Verbindung der Bereich „Verbindung trennen“.

  • Entfernt den in diesem Plugin gespeicherten API-Key, die Center-ID und die Embed-URL (Center-Website-App).
  • Schaltet „Bestehende Verbindung nutzen“ aus.
  • Löscht die letzte Push-Zusammenfassung (Anzeige unter Sync & Status).
  • Content-Mapping (Post-Typ-Zuordnungen) bleibt erhalten.
  • Die cockpitOS-Integration (Haupt-Plugin), falls installiert, wird nicht verändert – deren API-Key liegt in den Optionen des anderen Plugins.

Nach dem Trennen ist der Shortcode ohne neue Verbindung für Besucher wirkungslos (bzw. zeigt Administratoren einen Hinweis).

Verbindung testen

Bei gespeicherter Verbindung zeigt cockpitOS AI → Verbindung den Bereich „Verbindung prüfen & Embed-URL“.

  • Verbindung testen – ruft serverseitig GET /api/wordpress/embed-config mit Bearer-Token auf. Bei Erfolg erscheinen Center-Slug und Center-ID.
  • Embed-URL mit Token erzeugen – ruft POST /api/wordpress/embed-token auf und zeigt eine fertige URL …/embed/chat?et=… (ohne API-Key in der Adresse). Dafür muss im Dashboard COCKPIT_WP_EMBED_TOKEN_SECRET gesetzt sein; sonst erscheint eine Fehlermeldung.

Debug-Log (Entwicklung)

Wenn in der wp-config.php WP_DEBUG auf true steht, schreibt das Plugin technische Hinweise nach error_log (z. B. fehlgeschlagene API-Antworten ohne Geheimnisse, Chat-Proxy-Nonce, Rate-Limit). In Produktion WP_DEBUG aus lassen.

Kurz-Checkliste Zielwebsite

ThemaHinweis
HTTPSSeite und Dashboard-API per TLS; Mixed-Content vermeiden.
CachingSeiten-Cache nach Plugin-Updates leeren (Asset-Version an COCKPIT_OS_AI_VERSION).
Consent / DSGVOConsent-Text im Widget; Datenschutzerklärung verlinken.
Doppel-ChatPro Seite nur ein Shortcode-Modus (z. B. kein zweiter FAB); Ambient-Trigger blendet sich aus, wenn bereits mode="bubble".
FehlersucheUnter Sync & Status Kontext-Status prüfen; API-URL erreichbar.

Technische Details zum Embed (?et=), Proxy und API: API-Vertrag – WordPress-Embed.

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /dashboard/wordpress-ai-assistant-plugin