94 lines
3.4 KiB
Text
94 lines
3.4 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
|
|
|
|
# Nur für Rechner/VMs ohne AVX (Absturz mit Exit-Code 132): psycopg ohne Binärpaket, braucht die libpq
|
|
# des Systems (apt install libpq5). Wird von scripts/dev.sh übernommen; sonst in der Umgebung setzen.
|
|
# PSYCOPG_IMPL=python
|