Stale-Job-Reset, Ownership-Angleichung, robuste Dashboard-Erzeugung

- Server-Neustart setzt hängengebliebene Jobs (running/queued) zurück
  (markStaleJobs) mit Hinweis-Nachricht; /abort räumt auch verwaiste Sessions auf
- Löschen/Abbrechen/Modellwechsel ohne Owner-Beschränkung (konsistent zur
  offenen Sichtbarkeit im Ein-Nutzer-System)
- Dashboard-HTML wird nicht mehr per Tool-Aufruf übertragen, sondern in der
  finalen Antwort als ```html```-Codeblock gestreamt (GLM scheiterte
  reproduzierbar am riesigen Tool-Call); Extraktion mit klaren Fehlern bei
  fehlendem/unvollständigem Codeblock
- Reasoning-Effort pro Runde: volle Tiefe in Research-Runden, minimales Denken
  in der Dashboard-Liefer-Runde (DeepSeek: thinking aus, GLM: low) –
  Budget gehört dem HTML
- GLM-Reasoning-Default high (max verbrennt das Completion-Budget),
  DeepSeek max_tokens auf 300k
This commit is contained in:
nico committed 2026-08-28 09:17:13 +02:00
1 parent 8a2bf46b09
commit ab4f8e8570
6 files changed
+178 -36

No files matched your search

+6 -3
View File
@@ -18,10 +18,13 @@ PORT=3000
MODEL=deepseek-v4-flash
# Thinking-Mode des Modells: enabled | disabled (gilt für DeepSeek)
THINKING=enabled
# Reasoning-Tiefe je Modell: low | high | max (GLM: Pflicht, max Default)
# Reasoning-Tiefe je Modell: low | high | max
# GLM-Default 'high': effort 'max' verbrennt fast das ganze Token-Budget mit
# Denken – bei langen Recherchen bleibt dann nichts fürs Dashboard-HTML übrig.
DEEPSEEK_REASONING_EFFORT=max
GLM_REASONING_EFFORT=max
# Maximale Antwort-Tokens pro API-Aufruf (Dashboards sind große HTML-Dateien)
GLM_REASONING_EFFORT=high
# Maximale Antwort-Tokens: nur relevant für eigene Modelle aus der Env (MODEL).
# Die eingebauten Modelle (DeepSeek, GLM) nutzen fest 131072 aus der Registry.
MAX_TOKENS=64000
# VAPID-Schlüsselpaar für Web Push (wird automatisch generiert)
VAPID_PUBLIC_KEY=