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
This commit is contained in:
Pjot 2026-02-20 17:31:16 +01:00
commit 56d9bc2c76
71 changed files with 5953 additions and 0 deletions

131
FILE_CHANGES.txt Normal file
View file

@ -0,0 +1,131 @@
═══════════════════════════════════════════════════════════════════════════════
DATEIÄNDERUNGEN ÜBERSICHT
═══════════════════════════════════════════════════════════════════════════════
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NEUE DATEIEN (4)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📄 templates/emails.html
└─ Neue Email-Management Web-UI
└─ Bootstrap 5 Layout (2-spaltig)
└─ Features: Email-Composer, Posteingang, Detail-Modal
└─ ~160 Zeilen HTML + JavaScript
📄 .env.example
└─ Email-Konfiguration Template
└─ Gmail Setup-Anleitung
└─ Alternative Provider (Outlook, Yahoo)
└─ ~25 Zeilen
📄 FEATURES.md
└─ Detaillierte Feature-Dokumentation
└─ Streaming-UI Spezifikation
└─ Email-Integration Spezifikation
└─ Sicherheit, Performance, API-Docs
└─ ~250 Zeilen
📄 CHANGES.md
└─ Alle Code-Änderungen dokumentiert
└─ Zeilenangaben für jede Änderung
└─ Flow-Diagramme
└─ Statistiken & Highlights
└─ ~180 Zeilen
📄 QUICKSTART.md
└─ Schnell-Start Guide
└─ Streaming: Sofort nutzbar
└─ Email: 5-Minuten Gmail Setup
└─ FAQs & Troubleshooting
└─ ~220 Zeilen
📄 test_features.py
└─ Feature-Tests (Funktionalitäts-Tests)
└─ 5/5 Tests bestanden
└─ Importprüfung, Route-Validierung, Config-Check
└─ ~140 Zeilen
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GEÄNDERTE DATEIEN (7)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 app.py
├─ Zeile 10: + Response Import
├─ Zeile 67: Timeout 120s → 300s
├─ Zeilen 5-9: + Email Imports (imaplib, smtplib, email.mime)
├─ Zeilen 29-36: + EMAIL_CONFIG Dictionary
├─ Zeilen 194-221: + get_emails() IMAP Funktion
├─ Zeilen 224-232: + get_email_preview() Text-Extrakt Funktion
├─ Zeilen 235-259: + get_email_body() Email-Body Abruf Funktion
├─ Zeilen 262-284: + send_email() SMTP Versand Funktion
├─ Zeilen 250-288: + /api/agent-stream SSE Route
├─ Zeilen 483-509: + /emails GET/POST Route
└─ Zeilen 512-520: + /emails/<email_id> GET Route
Gesamt: ~120 Zeilen hinzugefügt
📝 templates/orchestrator.html
├─ Zeile 34: + Emails Navigation Link
├─ Zeilen 66-74: + "Live-Antwort anfordern" Button
├─ Zeile 75: + "Klassisch senden" Alternative Button
└─ Zeilen 185-232: + JavaScript Streaming Handler
├─ sendPromptWithStream() Funktion
├─ Fetch + ReadableStream Reader
├─ SSE Event Parser
└─ Live DOM Updates
Gesamt: ~55 Zeilen hinzugefügt
📝 templates/index.html
└─ Zeilen 34-36: + Emails Navigation Link
Gesamt: 3 Zeilen hinzugefügt
📝 templates/chat.html
└─ Zeilen 33-35: + Emails Navigation Link
Gesamt: 3 Zeilen hinzugefügt
📝 templates/tasks.html
└─ Zeilen 33-35: + Emails Navigation Link
Gesamt: 3 Zeilen hinzugefügt
📝 templates/files.html
└─ Zeilen 33-35: + Emails Navigation Link
Gesamt: 3 Zeilen hinzugefügt
📝 templates/agents.html
└─ Zeilen 35-37: + Emails Navigation Link
Gesamt: 3 Zeilen hinzugefügt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ZUSAMMENFASSUNG
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Neue Dateien: 6
└─ 1x HTML Template (emails.html)
└─ 1x Config-Template (.env.example)
└─ 3x Dokumentation (FEATURES.md, CHANGES.md, QUICKSTART.md)
└─ 1x Test-Skript (test_features.py)
Geänderte Dateien: 7
└─ 1x Backend (app.py: ~120 Zeilen)
└─ 1x Frontend (orchestrator.html: ~55 Zeilen)
└─ 5x Navigation (index, chat, tasks, files, agents: je 3 Zeilen)
Code-Änderungen:
├─ Neue Python-Funktionen: 4
├─ Neue Flask-Routes: 2
├─ Neue HTML-Templates: 1
├─ Code-Zeilen hinzugefügt: ~350
├─ Dokumentations-Zeilen: ~650
└─ Tests implementiert: 5 (alle bestanden)
Betroffene Features:
├─ Streaming-UI (Feature 1) - Orchestrator Seite
└─ Email-Integration (Feature 2) - Neue /emails Seite + Config
═══════════════════════════════════════════════════════════════════════════════