- Modell-Registry (DeepSeek direkt + OpenRouter z-ai/glm-5.3-flash), Modellwahl pro Session, Reasoning-Effort max (env-konfigurierbar) - Bild-Upload für Vision-Modelle (User) + Agent-screenshot()-Tool (nur Vision) - Tour-Planung: geocode + save_tour mit GPX-Export und Karten-Sektion - Fix: System-Prompt wird jetzt wirklich an die API gesendet, inkl. aktuellem Dashboard-Dateinamen für Folge-Updates - Fix: History-Sanitizer gegen 400-Fehler (nie mitten in Tool-Gruppen kürzen) - Fix: reasoning_content-Roundtrip (Pflicht bei DeepSeek mit tools) - Fix: Dashboards ohne Browser-Cache ausliefern
35 lines
1.3 KiB
Bash
35 lines
1.3 KiB
Bash
# --- 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: Pflicht, max Default)
|
|
DEEPSEEK_REASONING_EFFORT=max
|
|
GLM_REASONING_EFFORT=max
|
|
# Maximale Antwort-Tokens pro API-Aufruf (Dashboards sind große HTML-Dateien)
|
|
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
|