# 🚀 Quick Start - Neue Features ## 1️⃣ Streaming-UI (Sofort verfügbar) ### Wie verwendet man es 1. **Gehe zur Seite** → `/orchestrator` 2. **Gib eine Anfrage ein** (z.B. "Tell me about Diversity Ball") 3. **Klick auf "Live-Antwort anfordern"** (neuer Button) 4. **Beobachte die Live-Updates**: - ⏳ "Agent arbeitet..." - Status - 🤖 Agent-Name wird angezeigt - Schrittweise Antwort-Chunks erscheinen - ✓ "Verarbeitung abgeschlossen" ### Unterschied zu "Klassisch senden" - **Live-Antwort**: Server-Sent Events (SSE) Streaming - Echte Echtzeit Updates - Bessere UX bei langen Antworten - Timeout: 300 Sekunden (5 Minuten) - **Klassisch senden**: POST Form - Traditionelle Request-Response - Wartet auf komplette Antwort - Alte Methode weiterhin verfügbar --- ## 2️⃣ Email-Integration ### Minimal Setup (Gmail - 5 Minuten) #### Schritt 1: 2FA aktivieren ``` Google Account → Sicherheit → "Bestätigung in zwei Schritten" aktivieren ``` #### Schritt 2: App-Passwort generieren ``` Gehe zu: https://myaccount.google.com/apppasswords - Wähle: "Mail" + "Windows" - Kopiere 16-Zeichen Passwort ``` #### Schritt 3: Umgebungsvariablen setzen ```bash export IMAP_SERVER=imap.gmail.com export SMTP_SERVER=smtp.gmail.com export EMAIL_ADDRESS=deine-email@gmail.com export EMAIL_PASSWORD=app-passwort-hier export IMAP_PORT=993 export SMTP_PORT=587 ``` #### Schritt 4: Starte App neu ```bash python3 app.py ``` #### Schritt 5: Gehe zu `/emails` ``` http://localhost:5000/emails ``` ### Feature-Übersicht #### 📬 Emails empfangen - Automatisch letzte 10 Emails laden - Subject, From, Date, Preview anzeigen - Klick auf Email → Modal mit Body-Text - Lazy Loading (Body wird nur beim Klick geladen) #### ✉️ Emails versenden - Neue Email-Form im linken Panel - An, Betreff, Nachricht ausfüllen - "Versenden" Button - Success/Error Message nach Versand #### ⚙️ Status-Display - Green Badge: "✓ Konfiguriert | Email: deine@email.com" - Orange Alert: Konfiguration erforderlich - Anleitung direkt in der UI --- ## 📋 Konfiguration ### .env Datei (Alternative) ```bash # Option 1: .env Datei erstellen cp .env.example .env # Option 2: Bearbeite .env mit deinen Credentials nano .env # oder cat > .env << EOF IMAP_SERVER=imap.gmail.com SMTP_SERVER=smtp.gmail.com EMAIL_ADDRESS=deine-email@gmail.com EMAIL_PASSWORD=app-passwort IMAP_PORT=993 SMTP_PORT=587 EOF ``` ### Andere Provider **Outlook/Office365:** ``` IMAP_SERVER=imap-mail.outlook.com SMTP_SERVER=smtp-mail.outlook.com ``` **Yahoo:** ``` IMAP_SERVER=imap.mail.yahoo.com SMTP_SERVER=smtp.mail.yahoo.com ``` --- ## 🧪 Tests ```bash # Teste dass alles funktioniert python3 test_features.py # Output: # ✓ PASS: Imports # ✓ PASS: App Syntax # ✓ PASS: Email Config # ✓ PASS: Templates # ✓ PASS: SSE Support ``` --- ## 📚 Datei-Referenz | Datei | Änderung | Beschreibung | |-------|----------|-------------| | `app.py` | ✏️ Geändert | +Email-Funktionen, +SSE-Route, Timeout 300s | | `templates/orchestrator.html` | ✏️ Geändert | +Streaming-Button, +JavaScript Handler | | `templates/emails.html` | 📄 Neu | Email-Management UI | | `.env.example` | 📄 Neu | Email-Config Template | | `FEATURES.md` | 📄 Neu | Detaillierte Feature-Doku | | `CHANGES.md` | 📄 Neu | Alle Änderungen gelistet | | Alle anderen Templates | ✏️ Geändert | +Email Navigation Link | --- ## ❓ FAQs ### F: Funktioniert Streaming auch ohne Email-Config? **A:** Ja! Streaming und Email sind unabhängig. Streaming funktioniert sofort, Email benötigt Config. ### F: Kann ich mehrere Email-Accounts verwenden? **A:** Aktuell nur einer. Könnte erweitert werden (siehe FEATURES.md → Nächste Schritte). ### F: Sicherheit - Wo werden Passwörter gespeichert? **A:** Nur in Umgebungsvariablen/`.env`. Nicht im Code, nicht in der Datenbank. SSL/TLS für alle Verbindungen. ### F: Was passiert wenn Email-Config fehlt? **A:** `/emails` zeigt orange Alert mit Setup-Anleitung. Rest der App funktioniert normal. ### F: Ist das Streaming wirklich "live"? **A:** Ja! Server-Sent Events mit 50-Zeichen Chunks. Sie sehen Antwort während sie generiert wird. ### F: Können Anhänge/Attachments empfangen/gesendet werden? **A:** Aktuell nicht. Ist aber einfach zu erweitern (siehe FEATURES.md → Nächste Schritte). --- ## 🔧 Troubleshooting ### Email-Login schlägt fehl (Gmail) ``` Error: [AUTH] Application-specific password required ↓ Lösung: 2FA muss aktiviert sein Gehe zu: https://myaccount.google.com/apppasswords ``` ### IMAP-Connection Timeout ``` Error: Socket timeout ↓ Lösung: Firewall/ISP blockiert Port 993 Versuche: VPN oder anderen Provider (Outlook, Yahoo) ``` ### Streaming zeigt Fehler im Browser-Console ``` Error: fetch failed ↓ Lösung: 1. App muss laufen (python3 app.py) 2. URL muss richtig sein (http://localhost:5000) 3. Prompt darf nicht leer sein ``` ### Templates nicht gefunden (404) ``` Error: TemplateNotFound: emails.html ↓ Lösung: Stelle sicher dass templates/emails.html existiert ls -la templates/emails.html ``` --- ## 📞 Support Schaue dir an: 1. `FEATURES.md` - Detaillierte Feature-Dokumentation 2. `CHANGES.md` - Alle Code-Änderungen 3. `test_features.py` - Funktionalitäts-Tests 4. `app.py` - Source Code mit Kommentaren --- ## ✅ Checkliste für Setup - [ ] Teste Streaming-UI (gehe zu `/orchestrator`) - [ ] Lese `.env.example` (verstehe Email-Config) - [ ] Aktiviere Gmail 2FA (wenn Gmail verwendet) - [ ] Generiere App-Passwort - [ ] Setze Umgebungsvariablen - [ ] Starte App neu: `python3 app.py` - [ ] Gehe zu `/emails` und teste Send/Receive - [ ] Laufe `test_features.py` zum Validieren --- Viel Spaß mit den neuen Features! 🎉