Kapitel 10/Premium Rohtext.md aktualisiert

This commit is contained in:
2025-10-11 20:44:44 +00:00
parent 2237856fa6
commit 185fe8b7af

View File

@@ -717,3 +717,138 @@ Diese Ausgabe kann direkt an den **Text Manipulation Node** weitergegeben oder m
---
## KI-Erweiterung des bestehenden Workflows
Der im Free-Kapitel erstellte Workflow **„Stream-Reminder + Social Post“** übernimmt bereits die Planung und Veröffentlichung automatischer Stream-Ankündigungen.
Er verarbeitet Streamdaten, erstellt daraus Beiträge und veröffentlicht sie über die angebundenen Plattformen.
In diesem Premium-Abschnitt erweitern wir genau diesen Workflow um **eine KI-basierte Textoptimierung** über den Node **`n8n-nodes-openrouter`**.
Damit kann n8n künftig selbstständig aus vorhandenen Daten (z. B. Streamtitel, Kategorie, Datum) automatisch ansprechende Formulierungen, passende Hashtags und prägnante Kurztexte erzeugen vollautomatisch und ohne manuelles Eingreifen.
Diese KI-Erweiterung ersetzt keine bestehenden Bestandteile, sondern ergänzt sie direkt an einer definierten Stelle im bestehenden Ablauf:
- Der **OpenRouter-Node** wird **nach der Datenermittlung** eingefügt, um aus den Streaminformationen optimierte Social-Posts zu generieren.
- Die erzeugten Texte können anschließend direkt an die bestehenden Veröffentlichungs-Nodes übergeben werden.
👉 Screenshot geeignet: *Workflow-Übersicht mit zusätzlich eingefügtem OpenRouter-Node hinter der Datenermittlung.*
> [!NOTE]
> Der bestehende Aufbau bleibt unverändert.
> Wir fügen ausschließlich den OpenRouter-Node hinzu und konfigurieren ihn so, dass er bestehende Felder automatisch weiterverarbeitet und optimiert.
> [!TIP]
> Diese Erweiterung ist ein erster Schritt zur vollständigen KI-Automatisierung von Social-Media-Abläufen.
> Spätere Kapitel bauen darauf auf und erweitern die Integration um kontextabhängige Textgenerierung und mehrsprachige Posts.
### Schritt 1 OpenRouter-Node hinzufügen und konfigurieren
Der **OpenRouter-Node** wird direkt hinter dem IF-Node *„Stream prüfen“* eingefügt.
Er erzeugt aus den Twitch-Daten (`title`, `startIso`, `kategroie`) automatisch einen passenden Social-Media-Post.
| Einstellung | Wert |
|--------------|------|
| **Credential to connect with** | *OpenRouter account* |
| **Operation** | *Chat* |
| **Model Name or ID** | `OpenAI: GPT-5` |
| **System Prompt** | `You are a helpful assistant...` *(Standardtext belassen)* |
| **Message** | Siehe unten |
| **Temperature** | `0.9` |
**Prompt im Feld „Message“:**
```
Erstelle einen Social-Media-Post auf Deutsch für folgendes Event.
Stil: freundlich, prägnant. Maximal 5 Hashtags mit größter Wirkung nach Analyse
Titel: {{$json["title"]}}
Datum: {{ $json.startIso }} -> Umwandeln in Datum und Uhrzeit in Lokale Deutsche Zeit. Du brauchst nur die Uhrzeit nennen.
Kategorie: {{ $json.kategroie }}
Gib nur den fertigen Posttext zurück.
```
👉 **Screenshot geeignet:** Node-Editor mit eingetragenem Prompt und Modell „OpenAI: GPT-5“
Der Node erzeugt eine einzige Ausgabevariable:
`{{$json["response"]}}` sie enthält den vollständigen Text, der anschließend an die If-Prüfung übergeben wird.
### Schritt 2 KI-Antwort prüfen
Direkt hinter dem OpenRouter-Node wird ein **IF-Node** eingefügt, um leere Antworten abzufangen.
| Feld | Wert |
|------|------|
| **Left Value** | `={{ $json.response }}` |
| **Operator** | *String → Is Empty* |
Damit prüft n8n, ob das Feld `response` leer ist.
Nur wenn es wirklich Text enthält, läuft der KI-Zweig weiter.
👉 **Screenshot geeignet:** IF-Node mit Bedingung „response is empty“
- **TRUE (leer):** → *Download a file* (Fallback)
- **FALSE (Text vorhanden):** → *Edit Fields* (KI-Text übernehmen)
### Schritt 3 KI-Text übernehmen
Der **Set-Node „Edit Fields“** wandelt die KI-Antwort in das vom Rest des Workflows genutzte Feld `postText` um.
| Feldname | Wert |
|-----------|------|
| **postText** | `={{ $json.response }}` |
Damit erhält der nächste Node dieselbe Datenstruktur wie zuvor.
👉 **Screenshot geeignet:** Node-Editor mit Feldzuweisung `postText = {{$json.response}}`
### Schritt 4 Fallback-Zweig
Wenn der IF-Node auf „TRUE“ schaltet (also keine KI-Antwort vorhanden ist),
führt der Workflow den bekannten Pfad aus dem Free-Kapitel weiter:
- **Nextcloud-Node „Download a file“** lädt `posts.txt`.
- **Code-Node „Posttext auswählen“** wählt einen passenden Text oder Fallback-Satz.
👉 **Screenshot geeignet:** TRUE-Pfad mit Nextcloud- und Code-Node
### Schritt 5 Merge-Node
Der **Merge-Node** führt die beiden Pfade (KI und Fallback) wieder zusammen,
sodass der folgende *X-Node* immer ein gültiges Feld `postText` erhält.
| Einstellung | Wert |
|--------------|------|
| **Mode** | *Append* |
| **Eingänge** | *2* |
Damit werden die Ausgaben beider Pfade zusammengeführt.
Da beide Nodes (`Edit Fields` und `Posttext auswählen`) dasselbe Feld `postText` besitzen,
übernimmt n8n automatisch den jeweils vorhandenen Wert — unabhängig davon, welcher Pfad aktiv war.
👉 **Screenshot geeignet:** Merge-Node mit beiden Eingängen (1 = Fallback, 2 = KI-Zweig)
> [!NOTE]
> Durch diesen Aufbau bleibt der Workflow stabil:
> - Fällt der KI-Dienst aus → Fallback aus Nextcloud
> - Antwort vorhanden → KI-Text aus OpenRouter
> Beide Fälle liefern dasselbe Datenformat für den abschließenden Veröffentlichungs-Node.
### Schritt 6 Post veröffentlichen
Der **X-Node „Post veröffentlichen“** nutzt schließlich das Feld:
```
={{ $json.postText }}
```
Dadurch bleibt der Workflow robust:
- Wenn die KI funktioniert, wird ihr Text gepostet.
- Wenn sie ausfällt, nutzt der Workflow automatisch den bestehenden Zufallstext.
> [!TIP]
> Diese Integration erhöht die Automatisierung, ohne Abhängigkeiten zu erzwingen.
> Sie lässt sich später auf weitere Plattformen (z. B. Discord, Threads, WhatsApp) erweitern,
> indem dieselbe Logik für zusätzliche „Publish“-Nodes übernommen wird.