bifroest/.env.example
2026-10-27 08:34:17 +01:00

90 lines
3.2 KiB
Text

# Kopieren nach .env und anpassen. Alle Variablen beginnen mit AIW_.
AIW_DATABASE_URL=postgresql+psycopg://aiw:aiw@127.0.0.1:55433/aiw
# Gemeinsames Demo-Passwort für Nutzer ohne eigenes Passwort (z. B. aus seed-demo).
# Leer = abgeschaltet; dann nur eigene Passwörter (erster Admin: uv run aiw create-admin <name>).
AIW_DEMO_PASSWORD=demo
# Lokal ohne HTTPS: Cookie auch über http senden
AIW_COOKIE_SECURE=false
# Git: erlaubte Hosts (kommagetrennt); file:// nur für lokale Test-Repositories
AIW_GIT_ALLOWED_HOSTS=bitbucket.intern
AIW_GIT_ALLOW_LOCAL=true
# Commits für Änderungsvorschläge und Ablauf von Freigaben
AIW_GIT_AUTHOR_NAME=AI Workspace
AIW_GIT_AUTHOR_EMAIL=ai-workspace@localhost
AIW_APPROVAL_HOURS=24
# Zentrale MCP-Server: erlaubte Hosts; http://localhost nur für die Entwicklung
AIW_MCP_ALLOWED_HOSTS=
AIW_MCP_ALLOW_LOCAL=true
# Datenbanken der Workspaces (über Datenbank-Treiber = DB-Dienste aus services/db-mcp): erlaubte
# Datenbank-Hosts, kommagetrennt; localhost nur mit ALLOW_LOCAL. Die Treiber registriert ein Plattform-Admin
# unter Administration → Datenbank-Treiber.
AIW_DB_ALLOWED_HOSTS=
AIW_DB_ALLOW_LOCAL=true
# Währung der Modellpreise (nur Anzeige)
AIW_COST_CURRENCY=USD
# Papierkorb: Tage bis zur endgültigen Löschung eines Workspace
AIW_WORKSPACE_TRASH_DAYS=14
# Benachrichtigungen per E-Mail (leer = aus) und Webhooks (Teams/Slack)
AIW_PUBLIC_URL=
AIW_SMTP_HOST=
AIW_SMTP_PORT=587
AIW_SMTP_USER=
AIW_SMTP_PASSWORD=
AIW_SMTP_FROM=
AIW_SMTP_STARTTLS=true
AIW_WEBHOOK_ALLOWED_HOSTS=hooks.slack.com,.webhook.office.com,.logic.azure.com
# Uploads mit DuckDB-Analyse (Konzept 7.7)
AIW_UPLOAD_DIR=data/uploads
AIW_UPLOAD_MAX_MB=200
# Speicherkontingent je Workspace (Summe der DuckDB-Dateien), je Workspace anpassbar
AIW_WORKSPACE_STORAGE_MB=500
# Abgeglichene Ordner: Größe je Datei, Dateien je Ordner, gespeicherter Text je Datei, Zeit je Auslese
AIW_DOC_MAX_MB=25
AIW_DOC_MAX_FILES=2000
AIW_DOC_MAX_TEXT_KB=2048
AIW_DOC_EXTRACT_TIMEOUT_SECONDS=120
AIW_QUERY_TIMEOUT_SECONDS=20
AIW_QUERY_MAX_ROWS=200
AIW_QUERY_MEMORY_MB=512
# Hugin (Konzept 7.9): Host unter Administration → Hugin (muss in AIW_MCP_ALLOWED_HOSTS stehen), Key je Workspace;
# diese Adresse füllt das Formular nur vor
AIW_HUGIN_URL=
AIW_HUGIN_TIMEOUT_SECONDS=15
# Abgleich im Hintergrund durch den Worker (nur melden, nie übernehmen); 0 = aus
AIW_HUGIN_CHECK_HOURS=24
# Größtes Paket (ZIP im Quellformat), das ein Workspace festschreibt
AIW_HUGIN_MAX_PACKAGE_KB=1024
# Master-Key für API-Keys und Git-Tokens in der Datenbank: uv run aiw gen-key
AIW_SECRET_KEY=
# Betrieb: Logs (text | json), /metrics nur mit Token, Worker-HTTP für /live, /ready, /metrics (0 = aus)
AIW_LOG_LEVEL=INFO
AIW_LOG_FORMAT=text
AIW_METRICS_TOKEN=
AIW_WORKER_HTTP_HOST=0.0.0.0
AIW_WORKER_HTTP_PORT=9101
AIW_WORKER_STALE_SECONDS=120
# Worker
AIW_MAX_RUNS_PER_TEAM=3
AIW_RUN_LEASE_SECONDS=60
# Offene Pull Requests der Chat-Branches so oft abfragen (Sekunden)
AIW_PR_POLL_SECONDS=300
# Tool-Schritte je Antwort (Standard) und Obergrenze für die Einstellung im Workspace
AIW_MAX_TOOL_ROUNDS=12
AIW_MAX_TOOL_ROUNDS_LIMIT=40
# Verlauf je Anfrage höchstens so viele Tokens (geschätzt); Älteres geht als Arbeitsnotiz mit
AIW_HISTORY_MAX_TOKENS=60000