# Donau2Space – Praktikant (Zusatzinhalte-Automation)

Der Praktikanten Workflow steuert die automatische Erstellung von Zusatzinhalten für Donau2Space.de Artikel, wo Mika erwähnt, es gibt weitere Inhalte. Er kombiniert die zeitliche Steuerung, KI-Analyse der Artikel, KI-Feststellung der Zusatzinhalte, KI-Erstellung der Zusatzinhalte, Upload zu Discourse und Post Erstellung.


# 🕓 Zeitsteuerung

Phase Beschreibung
Cron Trigger Läuft alle 5 Minuten und prüft ob es Artikel gibt, wo Mika selbstständig sagt, es gibt weitere Dateien / Inhalte

# 🤖 Analyse und Festlegung (OpenAI)

Das Ziel ist es, herauszufinden ob Mika zusätzliche Inhalte / Dateien im Artikel "verspricht" oder erwähnt. Im weiteren Verlauf, Feststellen was benötigt wird und wie sicher sich die KI ist. Zusatzinhalte dienen als Extras "Goodies" und sollen nicht in jedem Artikel erscheinen.

Ziel: Eine klare Definitation ob etwas benötigt wird oder nicht und wenn ja, was.


# 🤖 Erstellung der Zusatzinhalte (n8n, OpenAI)

Folgende Zusatzinhalte können derzeit automatisiert angefertigt werden:

Format Beschreibung
CSV Eine gültige CSV mit Messwerten / Daten passend zum Artikel
JSON Eine json passend zum Artikel
Bild Ein Bild welches genau das abbildet, was Mika im Artikel angesprochen hat
Python Ein Python Skript, mit Readme das genau das machen soll, was Mika im Artikel anspricht
CAD CAD Modelle (scad Dateien) die das abbilden, was Mika im Artikel macht

Wird entschieden, Mika hat etwas versprochen / angeboten, bekommt der Workflow den aktuellen Artikel als Kontext als auch die letzten 3 Artikel. So soll das Ergebnis auch passend sein / funktionieren.

Im besten Falle funktioniert das Python Skript und CAD Modelle.


# 🌐 Veröffentlichung und Upload

  1. **Upload zu Discourse – die fertigen Dateien werden einzeln zu Discourse hochgeladen

  2. Dem Thread anhängen – Alle Uploads werden gesammelt und als Antwort im Artikelthread gepostet

  3. Wordpress Artikel Update – Der WordPress Artikel bekommt ein Update, dass es im Forum Zusatzinhalte gibt mit Verlinkung zum Post.


# 💾 Datenspeicherung

Nach erfolgreicher Veröffentlichung bekommt der Artikel in der Datenbank eine flag gesetzt, als fertig bearbeitet. Wenn keine Zusatzinhalte benötigt werden, wird eine flag gesetzt, dass nichts gebraucht wird.


# 🔄 Datenfluss (schematisch)

flowchart TD
  C["Cron"] --> G["Artikel wird geholt"]
  G --> D{"Zusatzinhalte gebraucht?"}

  D -- "nein" --> M1["MySQL Speicherung (Decision/Metadaten)"] --> E["Workflow Ende"]

  D -- "ja" --> L3["Letzte 3 Artikel als Kontext holen"]
  L3 --> K1["KI Node: Was wird gebraucht? (Klassifikation)"]

  K1 --> S{"Switch: Inhaltstyp(e)"}

  subgraph "Erzeugung von Zusatzinhalten"
    direction LR
    S -->|Bild| IMG["Bild erzeugen"]
    S -->|CSV| CSV["CSV generieren/validieren"]
    S -->|JSON| JSN["JSON erzeugen"]
    S -->|Python| PY["Python-Skripte erstellen"]
    S -->|CAD| CAD["CAD/SCAD-Modelle erstellen"]
  end

  IMG --> B["Bündeln (ZIP & Manifest)"]
  CSV --> B
  JSN --> B
  PY --> B
  CAD --> B

  B --> D1["Upload zu Discourse"]
  D1 --> D2["Downloads im Thread posten"]
  D2 --> WPH["WordPress: Hinweis 'Downloads verfügbar' setzen"]
  WPH --> M2["MySQL Speicherung (Logs & Artefakte)"]
  M2 --> E

# 📊 Zusammenfassung

Bereich Beschreibung
Laufzeit Ein kompletter Durchlauf dauert in der Regel 1-2 Minuten
Kernsysteme n8n, OpenAI, WordPress, Discourse, MySQL
Automationsgrad >95 % (manuelle Eingriffe nur bei Tests oder Fehlern)
Fehler-Handling Alle n8n-Nodes mit Error Branches → Telegram / Admin-Mail