Open WebUI fuer VF — Build-Sprint 1

Eine sehr lange Session. Stack ist live, MCPs sind angebunden, Andre + Christoph noch nicht onboarded, RDS-Migration ist Pflicht-Followup. Plus diverse Pre-Work: mcp-vf-hosted-Migration auf Fargate-Tunnel, Security-Audit, Christoph-Onboarding-Doku, DSGVO-Briefing.

Was live ist (2026-05-12 abends)

  • https://vf-chat.agenticventures.de — Open WebUI v0.9.5 auf AWS Fargate (eu-central-1, av-production)
  • 3 Container im Task: open-webui + litellm + cloudflared
  • LiteLLM-Sidecar bridged Bedrock-API zu OpenAI-Format (Open WebUI hat kein natives Bedrock)
  • 3 Bedrock-Modelle: Sonnet 4.6, Haiku 4.5, Opus 4.7 (Opus aktuell nicht im Account aktiviert → Marvin muss Modell-Access klicken)
  • Custom Model vf-sonnet (Sonnet 4.6 + MCP-Tools attached + System-Prompt mit {{CURRENT_DATE}})
  • mcp-vf-hosted (Papierkram + TicketPAY + M365) eingebunden via OAuth-2.1-Streamable-HTTP
  • Tunnel db84013f-3ab3-4ac6-bdbf-eca5b137a5ea
  • CloudWatch-Dashboard open-webui-vf
  • 1 User: Marvin (hello@marvinkuehlmann.com, Admin)

Was NICHT live ist

  • Andre + Christoph User-Onboarding (Phase 4)
  • RDS-PostgreSQL-Migration (Phase 6, Pflicht — SQLite-EFS-Hangs siehe Lessons)
  • Auto-Restart-Lambda fuer Hang-Mitigation (Phase 5)
  • Cloudflare-Edge-Rate-Limit (Phase 5)
  • Opus-4.7-Bedrock-Account-Access (1 UI-Klick fuer Marvin)
  • Pricing-Entscheidung formalisiert in AVV-Anhang

Zeitstrahl der Session

ZeitWas
Vormittagmcp-vf-hosted: ECS Express → Fargate + cloudflared-Sidecar (siehe separate Run-Akte security-audit-mcp-vf-hosted)
VormittagSecurity-Audit + Fixes auf mcp-vf-hosted (C1 Prompt-Injection, H1+H2 PII-Filter, H3 RateLimit-TTL, H4 Image-Digest-Pin)
VormittagDSGVO-Briefing fuer Christoph + Christoph-Onboarding-Anleitung
MittagLibreChat-Alternativen-Recherche → Open WebUI als Empfehlung
NachmittagOpen WebUI Pattern-File + Projekt + Launch-Prompt + Sprint-Roadmap geschrieben
NachmittagBuild-Sprint gestartet: Repo, CDK-Stack, Tunnel-Setup
NachmittagErster Bug: Mongo-Sidecar wegen LibreChat-Pattern-Carryover (Open WebUI nutzt SQLite, kein Mongo!) — Mongo raus, EFS-Volume fuer SQLite
NachmittagZweiter Bug: Open WebUI hat kein natives Bedrock → LiteLLM-Sidecar dazu
AbendTunnel-Token-Setup via CF-API + Service hochgefahren
AbendMarvin als Admin registriert, API-Key holen → ENABLE_API_KEYS=true Stack-Fix
AbendMCP-Tool-Server registriert (URL-vs-Path-Bug behoben)
AbendOAuth-Authorize-Flow geklappt — Tools live
AbendSmoke-Test: Sonnet 4.6 nutzt ticketpay_list_events erfolgreich (59 Events, 4968 Tickets)
AbendDate-Context-Problem: Claude antwortet „Juli 2025” weil kein System-Prompt
AbendCustom Model vf-sonnet mit System-Prompt + MCP-Tools angelegt via API
AbendUI-Hangs (2×): SQLite-Lock-Contention auf EFS bei Browser-Request-Storm
AbendUVICORN_WORKERS=2 + DEFAULT_MODELS=vf-sonnet als Sofort-Mitigation deployed
AbendCost-Diskussion + Pricing-Variante A/B/C
AbendMarvin: Self-Cost-Pricing fuer VF (Freunde) entschieden

Verlinkte Files (entstanden in dieser Session)

Followups (in Reihenfolge der Wichtigkeit)

  1. PFLICHT: RDS-Migration (1 Tag, +14 €/Mo) — Phase 6. SQLite-EFS-Hangs werden sonst regelmaessig auftreten
  2. Phase 4: Andre + Christoph einladen — sobald Setup stabil
  3. Auto-Restart-Lambda + Cloudflare-Edge-Rate-Limit (Phase 5) — Hang-Mitigation
  4. Opus-4.7-Bedrock-Account-Access aktivieren (UI-Klick im Bedrock-Console)
  5. tmp/owui-admin-key Secret loeschen nach Sprint-Abschluss
  6. Pricing-AVV-Anpassung mit VF formalisieren (Self-Cost-Konditionen + Bedrock-Pass-Through + Sunset-Clause)
  7. Default-System-Prompt-Frage klaeren: aktuell nur in Custom-Model vf-sonnet. Wenn User stattdessen claude-sonnet-4-6 nackt waehlt, hat er keinen Date-Context
  8. Sprint 2 starten (mcp-replicate-hosted fuer Image-Gen) wenn VF nach Image-Gen fragt
  9. mcp-m365 v0.3 delegated OAuth wenn Multi-User-SharePoint-Audit kritisch wird

Wichtige Cost-Punkte

  • Fix-Cost aktuell: ~55 €/Mo (Open WebUI-Stack + mcp-vf-hosted + Misc)
  • Fix-Cost nach RDS-Migration: ~65 €/Mo
  • Bedrock variabel (mit LiteLLM-Caching + Modell-Mix Sonnet/Haiku): 30-150 €/Mo bei Pilot-Use
  • Pricing an VF: Self-Cost (Marvin’s Entscheidung 2026-05-12) — siehe decisions.md fuer Schutzklauseln

Cross-Refs

2 Dateien in diesem Ordner.