Files
researchChat/.env.example
T
nico ab4f8e8570 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
2026-08-28 09:17:13 +02:00

38 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# --- Pflicht ---
# DeepSeek API Key (https://platform.deepseek.com/api_keys)
DEEPSEEK_API_KEY=sk-xxxx
# OpenRouter API Key für zusätzliche Modelle (https://openrouter.ai/keys),
# z.B. GLM 5.3 Flash (z-ai/glm-5.3-flash, Vision/Bilderkennung)
OPENROUTER_API_KEY=sk-or-xxxx
# Gemeinsames Login-Passwort für die App (hinter NGINX mit IP-Prüfung)
APP_PASSWORD=ein-sicheres-passwort
# --- Optional (werden automatisch erzeugt wenn fehlend) ---
# Geheimer Schlüssel zum Signieren der Login-Cookies
SESSION_SECRET=
# Port der App (NGINX proxied auf diesen; in Docker per EXPOSE/PORTS)
PORT=3000
# DeepSeek Modell
MODEL=deepseek-v4-flash
# Thinking-Mode des Modells: enabled | disabled (gilt für DeepSeek)
THINKING=enabled
# 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=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=
VAPID_PRIVATE_KEY=
# Login-Schutz: Fehlversuche pro IP bevor gesperrt wird, und Sperrdauer
LOGIN_MAX_ATTEMPTS=5
LOGIN_LOCK_MINUTES=5
# Tour-Feature: E-Mail für Nominatim (Fair-Use, optional) und OSRM-Server
NOMINATIM_EMAIL=
OSRM_URL=https://router.project-osrm.org