5.1 KiB
Projekt-Dokumentation – N8N-MailSummarizer
Inhaltsverzeichnis
- Projektübersicht
- Systemarchitektur
- Workflow Übersicht
- Workflow Beschreibung (JSON erklärt)
- Node-Beschreibungen
- Docker aufsetzen
- N8N aufsetzen
- 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:
- IMAP Email Trigger → neue E-Mail wird erkannt
- Set Node → extrahiert Rohdaten (Absender, Betreff, Datum, Text)
- Summarization Chain (LangChain) → Übergibt Text in Chunks an das Ollama Modell
- Ollama Chat Model → erstellt strukturierte JSON-Zusammenfassung
- Code Node → extrahiert JSON aus dem KI-Output
- 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
- Gehen Sie auf die Docker Webseite: https://www.docker.com/
- Docker-Konto erstellen.
- Docker herunterladen.
- Docker installieren und einrichten.
Docker Netzwerk erstellen
- Öffnen Sie PowerShell oder CMD.
- Geben sie diesen Code ein.
Docker network create n8n-network
N8N aufsetzen
- Öffnen Sie PowerShell oder CMD.
- 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
- Jetzt wurde ein Container mit n8n angelegt.
- Sie können über localhost und den Port darauf zugreifen: http://localhost:5678
- Melden Sie sich mit den im Code definierten Zugangsdaten an.
Ollama installieren
- Öffnen Sie PowerShell oder CMD.
- 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