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.
This commit is contained in:
pdyde 2026-02-21 15:04:22 +01:00
parent c949c04a5c
commit 50c1a0315b
3 changed files with 34 additions and 100 deletions

View file

@ -8,50 +8,7 @@
</div>
<div class="row g-4">
<div class="col-lg-4">
<div class="card mb-3">
<div class="card-header bg-success">
<h5 class="mb-0">Neuen Task erstellen</h5>
</div>
<div class="card-body">
<form method="POST" action="/tasks">
<div class="mb-3">
<label for="title" class="form-label">Titel</label>
<input type="text" class="form-control" id="title" name="title" placeholder="Task-Titel" required>
</div>
<div class="mb-3">
<label for="description" class="form-label">Beschreibung</label>
<textarea class="form-control" id="description" name="description" rows="3"
placeholder="Optionale Beschreibung"></textarea>
</div>
<div class="mb-3">
<label for="assigned_agent" class="form-label">Agent (optional)</label>
<select class="form-select" id="assigned_agent" name="assigned_agent">
<option value="">— Agent wählen —</option>
{% for key, agent in agents.items() %}
<option value="{{ key }}">{{ agent.name }}</option>
{% endfor %}
</select>
</div>
<button type="submit" class="btn btn-success w-100">Task erstellen</button>
</form>
</div>
</div>
<div class="card">
<div class="card-header bg-info">
<h5 class="mb-0"> Info</h5>
</div>
<div class="card-body">
<p class="mb-0" style="font-size:0.875rem;color:var(--text-muted);">
Tasks werden automatisch alle 10 Sekunden vom TaskBeat verarbeitet.
<br>Diese Seite aktualisiert sich automatisch alle 15 Sekunden wenn Tasks aktiv sind.
</p>
</div>
</div>
</div>
<div class="col-lg-8">
<div class="col-12">
<div class="card">
<div class="card-header bg-primary d-flex justify-content-between align-items-center">
<h5 class="mb-0">Alle Tasks</h5>