Commit graph

40 commits

Author SHA1 Message Date
eric
54cc5a496f fix: Rewrite orchestrator system prompt with clear task-creation and delegation rules
Old prompt had no instructions for when/how to use @CREATE_SUBTASK during chat,
no list of available agents by key name, and no guidance on handling conversational
messages. Orchestrator was answering questions but never creating tasks or taking
actions autonomously.
2026-02-21 19:11:28 +00:00
eric
d38ba10b5e fix: Use correct created_at field name in tasks template (was task.created) 2026-02-21 19:09:40 +00:00
eric
d3800ac792 feat: Log all agent actions (@SEND_EMAIL, @SEND_TELEGRAM, @ADD/UPDATE_TEAM_MEMBER) as tasks
Every parsed agent command now creates a task entry with type action_email /
action_telegram / action_team, parent_task_id pointing to the originating task,
and status completed/error reflecting the actual outcome.

Tasks UI gets matching badges for all new types plus a parent-task indicator
(↳ #N) so the full chain from trigger to action is visible at a glance.
2026-02-21 19:06:33 +00:00
eric
f13860f38d fix: Chat streaming uses same full prompt as execute_agent_task
The /chat/send SSE stream was building a stripped-down system prompt
without any Frankenbot command documentation (@CREATE_SUBTASK, @SEND_EMAIL,
@SEND_TELEGRAM etc.), so agents never knew to emit these commands during
web chat sessions — tasks were never created, emails never sent.

Extract build_agent_prompt() as shared function used by both
execute_agent_task() and the streaming chat generator.
2026-02-21 19:04:03 +00:00
eric
eaccbe770a fix: Correct all agent command parsers and document Claude Code tools in system prompt
- @SEND_TELEGRAM: fix regex To: -> TelegramID:, fix DB lookup telegram_chat_id -> telegram_id,
  use send_telegram_message() (sync HTTP) instead of asyncio.run(), support direct numeric IDs
- @ADD_TEAM_MEMBER: fix field order in regex (Name/Role/Responsibilities/Email) to match prompt
- System prompt: document all Claude Code built-in tools (WebFetch, Read, Write, Edit,
  Glob, Grep, Bash) so agents know what is available, clean up command documentation
2026-02-21 18:56:52 +00:00
eric
f6ad727bf0 feat: Persist outbound emails, fix @UPDATE_TEAM_MEMBER parser, add per-entry delete
- Add sent_emails table to DB for persistent outbox logging
- send_email() now writes every outgoing mail (incl. errors) to sent_emails
- parse_agent_commands() passes agent_key/task_id as triggered_by metadata
- Fix @UPDATE_TEAM_MEMBER parser: now matches Identifier/TelegramID/Role/etc.
  format from system prompt (was expecting Email/Field/Value — never matched)
- update_team_member() called correctly via **kwargs (was positional args bug)
- Set Piotr telegram_id=1578034974 directly in DB
- email_log.html: two-tab UI (Inbox Journal + Outbox), click-to-expand body
- emails.html: per-message delete button in inbox list
- New routes: DELETE inbox (IMAP expunge), journal entry, sent entry
2026-02-21 18:43:21 +00:00
eric
99df910497 feat: Add Telegram bot integration and task detail/delete UI
- Wire up Telegram bot with token, allowed users and username from .env
- Fix TaskBeat to handle direct tasks (Telegram/email) without sub_tasks
- Fix send_telegram_message to use run_coroutine_threadsafe (avoid event loop clash)
- Add TaskBeat watchdog thread for auto-restart on crash
- Reset stuck in_progress tasks on startup
- Add task detail page (/tasks/<id>) with full response/log view and auto-refresh
- Add task delete route (/tasks/delete/<id>) with confirmation
- Include agent sender info in Telegram task prompts
- Orchestrator self-updated knowledge base with Telegram contact info
2026-02-21 18:14:43 +00:00
eric
5b4b698064 feat: Add webhook endpoint for auto-deploy on git push
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:38:00 +00:00
eric
c3438beed1 docs: Add CLAUDE.md for Claude Code context
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:32:11 +00:00
eric
83b1842392 feat: Add password login system and upgrade agent models
- App-level password auth via Flask session (APP_PASSWORD in .env)
- login_required decorator on all routes
- Login page, logout button in navbar, 7-day session lifetime
- Upgrade musik_rechte_advisor and negotiator from Opus 4.0 to Opus 4.6
- Fix orchestrator session cookie overflow (kb/prompts no longer stored in session)
- Change app port from 5000 to 5050 (5000 occupied by Zou/Kitsu)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:26:10 +00:00
7ee66397e1 feat: Enhanced Orchestrator Chat with notifications and better UX
- Add task creation notifications in Orchestrator Chat
- New messages appear at top (newest first)
- Add Clear Chat button with confirmation
- Improve timestamps: DD.MM.YYYY HH:MM:SS format
- Support for system notifications (task created, sub-agent responses)
- Add add_orchestrator_notification() helper function
- Auto-notify when agents create sub-tasks
- Clear Chat route: POST /orchestrator/clear
- Better visual distinction between messages and notifications
2026-02-21 18:02:01 +01:00
98ff812a82 fix: Centralize all agent work to their work directories
- Move knowledge base from root to agents/orchestrator/knowledge/
- Move orphaned files (AKM, Event-Plan) to orchestrator/work/
- Update all kb_file paths to new location
- Change orchestrator stream to use work_dir instead of root
- Now ALL agents (including orchestrator) work in their own folders
- No more files created in project root
- Consistent work directory behavior across all agents
2026-02-21 17:48:30 +01:00
4c03663418 fix: Reload AGENTS dict when agent is deleted
- Add global AGENTS reload after agent deletion
- Ensures agent immediately disappears from all dropdowns/UIs
- Matches agent creation behavior (which already reloads)
- Fixes issue where deleted agents still appeared in chat/task forms
2026-02-21 17:42:54 +01:00
e2a853ffde feat: Add live streaming to Chat page
- Replace blocking execute_agent_task() with live subprocess streaming
- Use Popen() to read opencode output line-by-line in real-time
- Send 'chunk' events to frontend as agent thinks
- Frontend appends chunks incrementally for live response
- Matches Orchestrator's streaming UX
- No more waiting for complete response before seeing output
2026-02-21 17:32:37 +01:00
d620f496a8 feat: Make footer app name dynamic
- Replace hardcoded 'Frankenbot' in footer with {{ app_name }}
- Footer now reflects custom app name from settings
- Consistent branding across navigation, title, and footer
2026-02-21 17:28:46 +01:00
4f5e3dcd34 fix: Improve form-text readability in Dark Mode
- Override Bootstrap default color for .form-text
- Use var(--text-secondary) for better visibility
- Ensures help text under form fields is readable
2026-02-21 17:25:57 +01:00
b218d111b6 feat: Redesign Dark Mode with balanced purple theme
- Change Dark Mode accent from blue to purple (#a855f7)
- Balance dark backgrounds to match Light Mode structure
  - bg-base: #1a1a1a (was #0f0f0f - too dark)
  - bg-surface: #212121 (more balanced)
  - Improved contrast and readability
- Update borders to be more visible (12% vs 8% opacity)
- Adjust agent colors for purple theme:
  - Orchestrator: Purple
  - Researcher: Green
  - Negotiator: Orange
  - AR Manager: Yellow
- Update Settings description: 'Violett' instead of 'Blau'
- Dark Mode now mirrors Light Mode balance (just inverted)
2026-02-21 17:19:32 +01:00
85976afa09 fix: Use theme-aware code color in file modal
- Replace hardcoded #a5f3fc (bright blue) with var(--code-text)
- Now respects dark mode (#d4d4d4) and light mode (#404040)
- Fixes unreadable text in file preview modal
2026-02-21 17:14:06 +01:00
559eca4d61 fix: Improve code/pre readability in both themes
- Dark Mode: Use soft light gray (#d4d4d4) instead of bright blue
- Light Mode: Use dark gray (#404040) for good contrast
- Add subtle border for better code block definition
- Remove hacky bright blue color that was unreadable in light mode
2026-02-21 17:06:48 +01:00
2a9941f35f feat: Material Icons, customizable app name & dark/light mode toggle
- Add Google Material Icons integration with smart_toy robot icon
- Implement app_settings database table for persistent configuration
- Add App Name customization in Settings (changes navigation & title)
- Add Dark/Light Mode theme switcher
  - Dark Mode: Lightened black (#0f0f0f) with blue accents (#0a84ff)
  - Light Mode: Clean white/gray with red accents (#ef4444)
- Create context_processor for global app_settings injection
- Redesign Settings page with new App Design section
- Optimize CSS: 724 additions, reduced complexity
- Remove outdated agent reminders (70 lines cleanup)
2026-02-21 16:59:18 +01:00
f43bf1646d feat: Modern professional design overhaul
From 'Russian hacker site' to 'Tech startup' aesthetic 🎨

Color Palette:
- Switched from dark purple (#7c6fff) to elegant indigo (#6366f1)
- Softer backgrounds with better contrast
- Professional teal accent (#14b8a6) instead of neon green
- Vibrant but tasteful status colors

Typography:
- New font: Plus Jakarta Sans (modern, professional)
- Better letter-spacing and line-height
- Improved hierarchy with font weights

Components:
- Cards: Soft shadows, subtle gradients, hover lift effect
- Buttons: Gradient backgrounds, prominent shadows, smooth animations
- Inputs: Backdrop blur, focus glow effects, refined borders
- Badges: Rounded corners, glow shadows, better contrast
- Navbar: Enhanced glass effect, professional spacing

Visual Effects:
- Smooth transitions (.25s cubic-bezier)
- Hover animations (translateY, shadows)
- Multi-layer radial gradients for depth
- Subtle glow effects on interactive elements

Agent Colors (brighter):
- Orchestrator: Vibrant purple (#8b5cf6)
- Researcher: Modern teal (#14b8a6)
- Negotiator: Bold red (#f43f5e)
- AR Manager: Warm amber (#f59e0b)

Result: Clean, modern, professional interface
2026-02-21 16:00:03 +01:00
d48537b1fd fix: Handle orchestrated tasks without sub_tasks
Problem:
- Task #1 was stuck in 'in_progress' status
- TaskBeat expects 'sub_tasks' array for orchestrated tasks
- Tasks created via old API didn't have sub_tasks defined
- TaskBeat only processes 'pending' tasks, so in_progress tasks stay stuck

Solution:
- Added validation: if orchestrated task has no sub_tasks, mark as completed with error message
- Prevents infinite loop with stuck tasks
- Manually completed Task #1 in database

Note: This handles legacy tasks from deprecated /api/orchestrate endpoint.
2026-02-21 15:44:00 +01:00
dc2ea07621 feat: Complete UX cleanup - Agent colors & streamlined navigation
Agent Color System:
- Added unique colors for each agent (orchestrator: purple, researcher: teal, negotiator: red, ar_manager: yellow)
- CSS variables and utility classes (.agent-*, .agent-badge-*, .agent-border-*)
- Tasks table now shows colored left border per agent
- Agent names displayed in their brand color

Navigation Simplification:
- Removed 'Email Log' from main menu (reduced clutter)
- Email Log now accessible via link in Emails page
- Active state for both /emails and /email-log on Emails nav item

Visual Improvements:
- Agent assignments now visually distinct at a glance
- Cleaner, more focused navigation menu
- Better information architecture
2026-02-21 15:06:32 +01:00
50c1a0315b feat: UX Cleanup & Critical TaskBeat Fix
UX Improvements:
- Tasks page: Remove 'Create new task' form (orchestrator handles all)
- Orchestrator: Simplified to single 'Prompt' section, removed 'Tasks verteilen'
- Orchestrator: Removed 'Klassisch senden' button (live-only responses)
- Orchestrator: Removed 'Aktive Agenten' display (redundant with dashboard)

Critical Fix:
- TaskBeat now reads pending tasks from DATABASE instead of in-memory array
- All status updates (pending→in_progress→completed) now persist to DB
- Fixes issue where tasks created via API/UI were not being processed
- Agent_key updates also synced to DB

This fixes the bug where Task #1 was stuck in pending status.
2026-02-21 15:04:22 +01:00
c949c04a5c chore: Update agent work files and documentation
Agent updates:
- AR Manager: Add memory tasks.json, performance log
- Negotiator: Update reminders, systemprompt, add strategy doc
- Orchestrator: Update reminders, add performance & budget reports
- Researcher: Remove test file

New content:
- Diversity Ball sponsor research documentation
- Email template for beverage sponsor inquiry
- Sponsor strategy tracking

Cleanup:
- Remove old Location Report (outdated)
2026-02-21 14:47:25 +01:00
1970abf487 fix: Correct url_for endpoint for file deletion routes
Changed all 'files_page' to 'files' in redirect calls:
- delete_agent_file() - 4 occurrences
- delete_project_file() - 4 occurrences

Fixes Internal Server Error (500) when deleting files.
Error was: BuildError: Could not build url for endpoint 'files_page'
2026-02-21 14:38:01 +01:00
57a6ffc046 fix: Update init_default_team_members() to match correct DB data
Corrected team member roles and responsibilities:
- Eric Fischer: Programmer → Funktionserweiterung
- Georg Tschare: CEO → Personalmanagement, Kundenkommunikation, Kommunikation mit Behörden
- Piotr Dyderski: Tech, 3D Art, RnD → Technische Infrastruktur, AI-Agenten, Automatisierung, 3D Avatare, Research and Development

DB data is the source of truth, code now matches.
2026-02-21 14:27:20 +01:00
4ca5132391 feat: Add edit functionality for team members
- Edit modal with Bootstrap for inline editing
- Update name, email, role, responsibilities, telegram_id
- Form validation and error handling
- Success/error flash messages
- Team member data passed to frontend via JSON
2026-02-21 14:22:38 +01:00
0e02611c87 feat: Add Team-Members management page
- New /team route to view all team members
- Add/activate/deactivate team members via UI
- Display name, role, email, responsibilities, telegram_id
- Integrated into main navigation
- Self-learning system info displayed
2026-02-21 14:20:07 +01:00
320a1d4d87 feat: Complete DB migration - Command parsing & task persistence
- Add command parsing for @SEND_EMAIL, @SEND_TELEGRAM, @UPDATE_TEAM_MEMBER, @ADD_TEAM_MEMBER
- Migrate all tasks.append() calls (13 occurrences) to use create_task() for DB persistence
- Update task routes to read from database instead of in-memory array
- Orchestrator beat now executes parsed commands (email/telegram notifications)
- Maintain legacy task_queue compatibility for email processing
- All tasks now persist across app restarts
2026-02-21 14:13:24 +01:00
42a84141d9 docs: README v2.0 - Self-Learning System & neue Features
Neue Features dokumentiert:
- Task-Persistierung in SQLite mit Auto-Cleanup (7 Tage)
- Self-Learning Team-Management System
- Orchestrator Beat (30 Min Intervall)
- Telegram-Integration mit QR-Code
- Automatische Vorstellung neuer Team-Members
- Team-Member Update-Kommandos (@UPDATE_TEAM_MEMBER, @ADD_TEAM_MEMBER)
- Intelligente Eskalation bei blockierten Tasks

Kommandos erweitert:
- @SEND_EMAIL - Team-Member kontaktieren
- @SEND_TELEGRAM - Telegram-Benachrichtigung
- @UPDATE_TEAM_MEMBER - Team-Daten aktualisieren
- @ADD_TEAM_MEMBER - Neues Mitglied hinzufügen

Use Cases:
- Neuer Team-Member Workflow (automatisches Lernen)
- Orchestrator Beat Monitoring (proaktive Eskalation)
- Email-basierte Tasks
- Event-Planung

Tech Stack Updates:
- SQLite: Emails, Tasks, Team-Members
- python-telegram-bot, QR-Code
- 5 Background Threads (inkl. OrchestratorBeat)

Security:
- Telegram User-Whitelist
- Path Traversal Protection
- XSS-Schutz verbessert

Version: 2.0.0
Status: Production-Ready 
2026-02-21 14:06:20 +01:00
632a6c253a feat: Team-Member Lernsystem & Automatische Vorstellung
Team-Member Updates:
- Korrigierte Rollen und Verantwortlichkeiten:
  * Eric Fischer: Lead Programming & Tech
  * Georg Tschare: CEO & Kundenkommunikation
  * Piotr Dyderski: SysAdmin, TechLead, 3D Artist & R&D

Neue Funktionen:
- update_team_member() - Aktualisiert Team-Member-Daten per Email/Name
- is_known_team_member() - Prüft ob Email in Team-DB existiert
- @UPDATE_TEAM_MEMBER Kommando für Orchestrator
- @ADD_TEAM_MEMBER Kommando für Orchestrator

Intelligentes Lernsystem:
- Erkennt neue Email-Absender automatisch
- Leitet unbekannte Absender automatisch an Orchestrator
- Orchestrator bittet um Vorstellung (Name, Rolle, Aufgaben)
- Informationen werden in Team-DB gespeichert
- Verbessert zukünftige Koordination

Email-Workflow für neue Absender:
1. Email von unbekanntem @diversityball.at kommt an
2. System erkennt: "Nicht in Team-DB"
3. Orchestrator übernimmt automatisch
4. Fragt freundlich nach Vorstellung
5. Beantwortet auch die eigentliche Anfrage
6. Speichert Infos mit @ADD_TEAM_MEMBER

Vorteile:
✓ Orchestrator baut automatisch Wissensdatenbank auf
✓ Bessere Koordination durch bekannte Verantwortlichkeiten
✓ Keine manuellen Team-Member Einträge nötig
✓ Freundlicher, professioneller Erstkontakt
✓ Lernfähiges System das besser wird

Context-Weiterleitung:
- extra_context aus Tasks wird jetzt durchgereicht
- Kombiniert Email-Kontext + Team-Member-Status
- Agents haben volle Informationen über Absender
2026-02-21 14:01:41 +01:00
5b0cf6e640 feat: Task-Persistierung, Team-Members & Orchestrator Beat
Database:
- Tasks-Tabelle für persistente Task-Speicherung
- Team-Members-Tabelle für reale Mitarbeiter
- Auto-Cleanup: Löscht completed Tasks älter als 7 Tage
- Helper-Funktionen: get_tasks(), create_task(), update_task_db(), delete_task()

Team-Management:
- Standard Team-Members (Eric, Georg, Piotr) beim Start initialisiert
- get_team_members() - Lädt aktive Team-Members
- add_team_member() - Fügt Team-Member hinzu
- get_team_member_summary() - Zusammenfassung für Orchestrator

Orchestrator Beat:
- Läuft alle 30 Minuten automatisch
- Prüft Tasks ohne Fortschritt (>2h pending)
- Prüft blockierte Tasks (>4h in_progress)
- Fragt Orchestrator bei Problemen
- Orchestrator kann Team-Members kontaktieren

Neue Kommandos für Orchestrator:
- @SEND_EMAIL - Email an Team-Member senden
- @SEND_TELEGRAM - Telegram-Nachricht an Team-Member

Integration:
- Team-Member-Info wird in Orchestrator-Systemprompt eingefügt
- Orchestrator kennt jetzt reale Verantwortlichkeiten
- Kann bei Bedarf echte Menschen kontaktieren

Background Threads:
- EmailPoller (alle 2 Min)
- TaskWorker (on-demand)
- TaskBeat (alle 10 Sek)
- OrchestratorBeat (alle 30 Min)  NEU
- TelegramBot (wenn konfiguriert)

TODO:
- Tasks-UI auf DB umstellen
- Delete-Button für Tasks
- Team-Members Verwaltungs-UI
2026-02-21 13:53:51 +01:00
11352d2ca5 feat: Files-Seite verbessert - View, Download & Delete für alle Dateitypen
UI Improvements:
- Agent Work Files: View-, Download- und Delete-Buttons hinzugefügt
- Projektdokumente: Download- und Delete-Buttons hinzugefügt
- Konsistentes UI über alle Datei-Kategorien
- View-Modal für Agent-Dateien (wie Projektdokumente)

Backend:
- /files/agent/<agent_key>/view/<filename> - Agent-Datei anzeigen
- /files/agent/<agent_key>/delete/<filename> - Agent-Datei löschen
- /files/agent/<agent_key>/<filename>?download=1 - Force Download
- /files/project/<filename>?download=1 - Projektdatei Download
- /files/project/delete/<filename> - Projektdatei löschen

Security:
- Path traversal protection für alle Routes
- Whitelist-basierte Dateityp-Validierung
- Agent-Zugriff nur auf eigene work-Verzeichnisse

Features:
- 👁 View: Datei im Modal anzeigen (Markdown, TXT)
- ↓ Download: Force download statt Browser-Ansicht
- ✕ Delete: Datei löschen mit Bestätigung
2026-02-21 13:25:37 +01:00
73c36785e2 feat: Telegram Bot Integration mit QR-Code
Features:
- Telegram Bot mit python-telegram-bot Library
- Bidirektionale Kommunikation (Anfragen → Tasks → Antworten)
- QR-Code auf Settings-Seite für einfache Bot-Verbindung
- User-ID Whitelist für Sicherheit
- Automatische Task-Erstellung aus Telegram-Nachrichten
- Agent-Antworten werden zurück zu Telegram gesendet

Implementation:
- Neue Telegram-Handler in app.py (start, message)
- QR-Code Generator mit qrcode Library
- Settings-Seite erweitert mit Telegram-Konfiguration
- .env.example mit Telegram-Setup-Anleitung
- Background Thread für Telegram Polling
- Integration mit bestehendem Task-System

Configuration:
- TELEGRAM_BOT_TOKEN: Bot Token von @BotFather
- TELEGRAM_BOT_USERNAME: Bot Username für QR-Code
- TELEGRAM_ALLOWED_USERS: Komma-getrennte User-IDs

Usage:
1. Bot via @BotFather erstellen
2. Token + User-IDs in .env eintragen
3. App starten
4. QR-Code auf /settings scannen
5. /start im Bot senden
2026-02-21 13:17:04 +01:00
4c123d5f0f docs: Umfassendes README-Update mit allen Features
- Multi-Agent Orchestrierung System beschrieben
- Alle Features dokumentiert (Chat, Tasks, Email, Memory, etc.)
- Agent-Kommandos (@ASK_ORCHESTRATOR, @CREATE_SUBTASK, etc.)
- Projekt-Struktur und Technologie-Stack
- Installation, Konfiguration, Debugging
- Security-Maßnahmen und Performance-Optimierungen
- Use Cases und Entwickler-Dokumentation
2026-02-21 12:38:34 +01:00
ca820d20db fix: Code-Quality und Security-Verbesserungen
Security Fixes:
- Fix XSS vulnerability in orchestrator.html (escapeHtml für user input)
- Verbesserte Error-Handling: 4 bare except clauses mit spezifischen Exception-Typen

Code Quality:
- Logging für alle Exception-Handler hinzugefügt
- Timeout für Agent-Tasks von 300s auf 600s erhöht (10 Min)
- Bessere Kommentare für Exception-Handling

Performance:
- Wissensdatenbank aus Systemprompt entfernt
- Agents nutzen @READ_KNOWLEDGE für on-demand Zugriff
- Reduziert Prompt-Größe um ~15KB pro Task

UI Improvements (aus vorherigem Work):
- Tasks: Auto-Refresh Info statt Toggle
- Tasks: Status-Anzeigen statt manuelle Buttons
- Konsistentes Auto-Refresh (15s) wenn Tasks aktiv
2026-02-21 12:36:24 +01:00
93eb8c6d47 feat: Dynamische KI-Modelle, verbessertes Memory-System und Chat-Überarbeitung
🎯 KI-Modellverwaltung
- Dynamisches Laden verfügbarer Modelle via opencode models
- 29 Modelle verfügbar (opencode, anthropic, ollama)
- Gruppierung nach Anbieter in UI
- Cache-Mechanismus (1h TTL) für Performance
- API-Endpoint /api/models für Modellabfrage

🧠 Memory-System komplett überarbeitet
- JSON-basierte strukturierte Erinnerungen statt Markdown-Chaos
- Separate Memory-Typen: tasks.json, notes.json, research.json
- Automatische Memory-Zusammenfassung im Systemprompt
- Limitierung auf letzte 100 Einträge pro Typ
- Vollständige Task-Ergebnisse statt abgeschnittener Texte

📁 Agenten-Ordnerstruktur
- work/ Verzeichnis für Agent-Dateien
- memory/ Verzeichnis für strukturierte Erinnerungen
- Agenten arbeiten nur in eigenem work-Verzeichnis
- Absolute Pfade werden übergeben
- Dateien-UI zeigt Agent-Work-Folders

💬 Chat-System überarbeitet
- Echte Agent-Ausführung statt Mock-Responses
- Server-Sent Events für Live-Streaming
- Session-basierte Chat-History
- Loading-Spinner und Status-Anzeigen
- Automatisches Speichern in Session

🎭 Personality Integration
- personality.md wird jetzt geladen
- Persönlichkeit vor Systemprompt eingefügt
- Gilt für alle: Chat, Tasks, Orchestrator, Email-Poller

 Weitere Verbesserungen
- Alle Agenten nutzen execute_agent_task() zentral
- Memory-Speicherung nach jedem Task
- Work-Files in Datei-Verwaltung sichtbar
- System-Dateien ausgeblendet
- API-Route für Agent-Work-Dateien
2026-02-21 11:44:06 +01:00
84b2fe3dd7 Add agent reminders, model selection, task distribution and delete functionality 2026-02-20 22:37:58 +01:00
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