Files
12IT_Lernfeld12_2026/Abgabe_Drogosch/N8N-Projekt.md
T
2025-12-04 21:38:51 +01:00

5.1 KiB
Raw Blame History

Projekt-Dokumentation N8N-MailSummarizer

Inhaltsverzeichnis

  1. Projektübersicht
  2. Systemarchitektur
  3. Workflow Übersicht
  4. Workflow Beschreibung (JSON erklärt)
  5. Node-Beschreibungen
  6. Docker aufsetzen
  7. N8N aufsetzen
  8. Ollama installieren

Projektübersicht

N8N-MailSummarizer automatisiert die Verarbeitung eingehender E-Mails. Es liest E-Mails per IMAP ein, bereitet die Inhalte auf, lässt die Inhalte durch das KI-Modell llama3.2 (über Ollama) zusammenfassen, extrahiert strukturierte Informationen und sendet anschließend eine formatierte Zusammenfassung per E-Mail zurück.


Systemarchitektur

N8N → Email Trigger (IMAP) → Set Node Parsing → AI Summarization (Ollama) → Code Node (Funktion Node) → E-Mail Versand

Verwendete Systeme:

  • Docker
  • N8N (als Automationsplattform)
  • Ollama (lokale KI-Inferenz)
  • llama3.2 Modell
  • SMTP/IMAP E-Mail Konten

Workflow Übersicht

Der Workflow führt folgende Schritte aus:

  1. IMAP Email Trigger → neue E-Mail wird erkannt
  2. Set Node → extrahiert Rohdaten (Absender, Betreff, Datum, Text)
  3. Summarization Chain (LangChain) → Übergibt Text in Chunks an das Ollama Modell
  4. Ollama Chat Model → erstellt strukturierte JSON-Zusammenfassung
  5. Code Node → extrahiert JSON aus dem KI-Output
  6. Send Email → sendet schöne Zusammenfassung als Rückmeldung

Workflow Beschreibung (JSON erklärt)

Das von dir bereitgestellte JSON repräsentiert einen vollständigen N8N Workflow Export.

Wichtige Komponenten:

Schlüssel Beschreibung
nodes Enthält alle Prozessschritte
connections Definiert die Reihenfolge der Nodes
settings Workflow-Einstellungen
credentials Referenzen auf Zugangsdaten (werden in N8N gespeichert)
active Workflow aktiv / inaktiv

Node-Beschreibungen

1. Email Trigger (IMAP)

Liest eingehende E-Mails:

  • E-Mail Inhalt
  • Metadaten
  • Absender/Empfänger
  • Datum/Uhrzeit

→ Output wird weitergegeben.


2. Edit Fields (Set Node)

Transformiert das E-Mail Objekt in folgendes Format:

{
    "absender": {{$json.from}},
    "betreff": {{$json.subject}},
    "datum": {{ JSON.stringify($json.date) }},
    "inhalt": {{ JSON.stringify($json.textPlain) }}
}


3. Email Summarization Chain

Funktion:

  • Teilt die E-Mail in Chunks

  • Übergibt alles an llama3.2

  • Nutzt spezielle Prompts zur Extraktion:

    • Absendername / E-Mail
    • Empfängername / E-Mail
    • Betreff
    • Datum/Uhrzeit
    • Wichtige Inhalte
    • Todos
    • Termine
    • Rückruf nötig?
    • Strenge JSON-Formatierung

4. Ollama Chat Model

Verwendet: Modell: llama3.2:latest

Ollama Modell erzeugt eine strukturierte Analyse.


5. Code Node

Extrahiert JSON aus Ollama-Output:

  • erkennt json … Codeblöcke
  • parsed JSON
  • validiert es
  • gibt die Felder einzeln aus

6. Send Email

Versendet eine professionell formatierte Rückmeldung:

  • Zusammenfassung
  • Absender/Empfänger
  • Kontext
  • Termine
  • Todos
  • Rückruf-Status

SMTP Zugangsdaten werden im Credentials Manager verwaltet.


Docker aufsetzen

  1. Gehen Sie auf die Docker Webseite: https://www.docker.com/
  2. Docker-Konto erstellen.
  3. Docker herunterladen.
  4. Docker installieren und einrichten.

Docker Netzwerk erstellen

  1. Öffnen Sie PowerShell oder CMD.
  2. Geben sie diesen Code ein.
Docker network create n8n-network

N8N aufsetzen

  1. Öffnen Sie PowerShell oder CMD.
  2. Kopieren Sie diesen Code und führen Sie ihn aus:

docker run -e N8N_BASIC_AUTH_ACTIVE=true -e        N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=supersecret -e N8N_HOST=0.0.0.0 --name n8n-container -p 5678:5678 -d n8nio/n8n
  1. Jetzt wurde ein Container mit n8n angelegt.
  2. Sie können über localhost und den Port darauf zugreifen: http://localhost:5678
  3. Melden Sie sich mit den im Code definierten Zugangsdaten an.

Ollama installieren

  1. Öffnen Sie PowerShell oder CMD.
  2. Kopieren Sie diesen Code und führen Sie ihn aus:
docker run -d --name ollama --network n8n-network -p 11434:11434 -v ollama:/root/.ollama ollama/ollama

Modell in Ollama installieren (z. B. llama3.2)

docker exec -it ollama ollama pull llama3.2

Prüfen, ob Model geladen wurde

docker exec -it ollama-local ollama list