# Projekt-Dokumentation – *N8N-MailSummarizer* ## Inhaltsverzeichnis 1. [Projektübersicht](#projektübersicht) 2. [Systemarchitektur](#systemarchitektur) 3. [Workflow Übersicht](#workflow-übersicht) 4. [Workflow Beschreibung (JSON erklärt)](#workflow-beschreibung-json-erklärt) 5. [Node-Beschreibungen](#node-beschreibungen) 6. [Docker aufsetzen](#docker-aufsetzen) 7. [N8N aufsetzen](#n8n-aufsetzen) 8. [Ollama installieren](#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: ```json { "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/](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. ```bash Docker network create n8n-network ```
# N8N aufsetzen 1. Öffnen Sie **PowerShell** oder **CMD**. 2. Kopieren Sie diesen Code und führen Sie ihn aus:
```bash 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 ``` 3. Jetzt wurde ein Container mit **n8n** angelegt. 4. Sie können über **localhost** und den Port darauf zugreifen: [http://localhost:5678](http://localhost:5678) 5. 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: ```bash 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) ```bash docker exec -it ollama ollama pull llama3.2 ```
## Prüfen, ob Model geladen wurde ```bash docker exec -it ollama-local ollama list ```