Run 2026-05-13 — Open WebUI Production-Tuning Recherche

Trigger

Nach 2 Tagen VF Open-WebUI Production-Use sind mehrere Settings-Luecken aufgefallen, die wir alle in Schmerz gelernt haben:

  • ENABLE_API_KEYS=true ist Pflicht aber Default false
  • ENABLE_OLLAMA_API=false noetig (sonst 500 auf Admin)
  • WEBUI_SYSTEM_PROMPT ENV existiert nicht
  • SQLite-on-EFS unbrauchbar → RDS Pflicht
  • MCP-Streamable-HTTP path Feld wird ignoriert
  • LiteLLM Default max_tokens=4096 cuttet Code-Interpreter
  • Code-Interpreter-Pfad /mnt/uploads/, nicht /tmp/

Proaktive Recherche durch die offiziellen Docs (docs.openwebui.com) plus GitHub-Issues, um weitere Luecken VOR dem naechsten Schmerz zu finden.

Ausfuehrung

  • Agent: compound-engineering:research:best-practices-researcher
  • Quellen: offizielle Open-WebUI-Docs, GitHub-Issues (Top-Reactions), LiteLLM-Docs, AWS-Bedrock-Caching-Doc, Community-Refs (taylorwilsdon-Guide)
  • Dauer: ~15 Min, 60 Tool-Calls
  • Vollstaendiger Report: findings.md

Wichtigste Korrektur aus vorheriger Recherche

In _index hatte ich /tmp/... als Code-Interpreter-Pfad empfohlen + display(FileLink(...)) als Pflicht. Beides falsch. Offiziell:

  • Pfad: /mnt/uploads/<name>.<ext> — Open-WebUI-File-Browser greift dort automatisch
  • display(FileLink(...)) ist Jupyter-Pattern, in Pyodide unnoetig
  • Korrigiert in vf-sonnet v2.3 (2026-05-13 18:00)

Wichtigste Action-Items (Tier 1, alle umgesetzt)

#ActionStatus
1vf-sonnet v2.3: Pfad-Korrektur /mnt/uploads/, FileLink raus✅ live
2Stack-ENV: DEFAULT_MODEL_PARAMS (max_tokens=8192, function_calling=native fuer ALLE Modelle)✅ deployed
3Stack-ENV: THREAD_POOL_SIZE=2000, ENABLE_REALTIME_CHAT_SAVE=false, CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE=5✅ deployed
4Stack-ENV: AIOHTTP_CLIENT_TIMEOUT=600, _TOOL_SERVER=600 (Cloudflare-100s-Falle teilweise mitigated)✅ deployed
5Stack-ENV: ENABLE_DIRECT_CONNECTIONS=false, USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS=false (Security)✅ deployed
6Stack-ENV: LOG_FORMAT=json, AUDIT_LOG_LEVEL=METADATA, ENABLE_AUDIT_STDOUT=true✅ deployed
7Open WebUI Version verifiziert: v0.9.5 (nicht v0.6.31, Agent-Annahme war veraltet)✅ kein Upgrade-Bedarf akut

Offene Action-Items (Tier 2-3)

  • Cloudflare-Tunnel-Side: connectTimeout + tcpKeepAlive in cloudflared-Config hochziehen (Issue #16747 fuer Long-Running-Tool-Calls)
  • Prompt-Cache-Verifikation: Outlet-Filter-Function die cache_read_input_tokens pro Call loggt
  • Filter-Functions: Audit/Cost-Tracker, PII-Maskierung (DE-IBAN/Telefon/Steuer-ID), Source-Citation-Injector
  • RAG: VECTOR_DB=pgvector + Bedrock Titan Embeddings via LiteLLM (spart ~500MB RAM/Worker)
  • 2FA fuer Compliance (Issue #1225, 59 Upvotes — Roadmap)
  • Cost-Tracking pro User via LiteLLM-success-Callbacks

Weitere wichtige Findings (Details in findings.md)

  • Cloudflare-Tunnel-100s-Falle (Issue #16747) — bei langem Sonnet-Reasoning cuttet CF die Stream-Verbindung. Stack-Side teilweise mitigated (AIOHTTP_TIMEOUT=600 + Delta-Chunk-Size=5), Tunnel-Side noch offen.
  • Prompt-Caching Mindesttoken 2048 fuer Sonnet 4.5/4.6 — unter Schwelle greift Caching gar nicht. vf-sonnet v2.3 ist bei ~3300 Tokens, sicher drueber.
  • Function-Calling Native ist Pflicht — Legacy-Mode invalidiert KV-Cache jede Runde, versteckte Kosten. Global jetzt via DEFAULT_MODEL_PARAMS={...,"function_calling":"native"}.
  • Top-10 GitHub Pain-Points ausgewertet — relevant fuer VF: #16747 (CF-Timeout), #13718 (KB-Loeschung-Bug), #1225 (2FA-Wunsch).
  • Custom-Branding lizenzlich begrenzt — bei <50 Usern in 30 Tagen darf „Open WebUI”-Logo nicht entfernt werden ohne Enterprise-License. WEBUI_NAME ist OK (haben wir).

Quellen

Siehe findings.md fuer vollstaendige Quellen-Liste mit Frische-Bewertung. Primaerquellen:

Follow-Ups

  • vf-sonnet v2.3 deployed (Pfad-Korrektur)
  • Stack-ENV-Patch deployed (DEFAULT_MODEL_PARAMS + 10 weitere)
  • Cloudflare-Tunnel cloudflared-Config: connectTimeout: 600s + tcpKeepAlive: 30s
  • Filter-Function „Audit + Cost-Tracker” anlegen, in Admin/Functions
  • Filter-Function „PII-Maskierung” anlegen
  • Prozess-File open-webui-production-tuning schreiben (= Pattern-Destillat aus diesem Run)
  • In 1-2 Wochen: A/B-Vergleich Verhalten vs. heute (vor Patches)

1 Datei in diesem Ordner.