frankenbot/QUICKSTART.md
Pjot 56d9bc2c76 feat: initial commit – Frankenbot Multi-Agent Orchestration System
- Flask Web-App mit Dashboard, Chat, Orchestrator, Tasks, Dateien, Emails, Agenten, Settings
- Email-Poller (IMAP) mit SQLite-Journal als Failsafe (kein Emailverlust bei Absturz)
- Failsafe-Fenster und Poll-Intervall zur Laufzeit via /settings konfigurierbar
- TaskWorker: IMAP Seen-Flag erst nach erfolgreichem Task-Abschluss
- Whitelist-Filter: eric.fischer, p.dyderski, georg.tschare (gmail + signtime.media), *@diversityball.at
- 9 Agenten: researcher, tax_advisor, document_editor, location_manager, program_manager,
  catering_manager, musik_rechte_advisor, zusammenfasser, orchestration_ui
- Diversity Ball Wien 2026 – Wissensdatenbank, Sponsoringverträge, Email-Vorlagen
2026-02-20 17:31:16 +01:00

236 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 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! 🎉