root ae53ffe451 UI overhaul + adaptive pipeline + response cache + image generation + ComfyUI
Layout & UX:
- Full-screen composer on load, full-screen output on run (no split view)
- Output scrolls within container (flex-shrink:0 fix), no page scroll
- Progress panel: fixed position above output, collapses to thin bar, fades on completion
- Output cards edge-to-edge in output mode (no panel border/padding/max-width)
- Modern theme as default, theme persists across all pages (CSS injection fix)
- Reddit theme renamed to Coral (copyright)

Markdown & Typography:
- Marked.js + DOMPurify for proper markdown rendering in response cards
- Editorial typography: custom numbered list counters, gold bullet dots, blockquote styling
- Table striping, code blocks with purple syntax, link underlines
- Text normalization: strips excessive indentation, collapses blank lines between list items
- Removed mermaid.js (unreliable with LLM output, caused visible errors)

Response Cache:
- DB tables: response_cache + response_cache_history
- Cache key: SHA256(prompt + mode + sorted models)
- Instant return on cache hit, auto-upgrade when better score arrives
- Full version history for training data export
- "Fresh Run" button to bypass cache
- API: /api/cache/stats, /cache/history, /cache/export, /cache/clear

Adaptive Pipeline (new mode):
- Self-evaluating models: answer + confidence score + limitations
- Quality gates: below threshold triggers RAG retrieval + model escalation
- Knowledge base: successful responses embedded and stored for future retrieval
- Flywheel: system gets smarter with every run
- DB tables: knowledge_base + adaptive_runs
- API: /api/knowledge-base/stats, /search, /entries, /adaptive-runs

Model Error Handling:
- Full HTTP error code coverage (429, 402, 404, 401, 403, 500-504, timeouts)
- safe_query_with_fallback: failed model's role taken by next available model
- Runners updated: debate, pipeline, validator use fallback system
- UI shows "model X failed, model Y took over" notices

Image Generation:
- SDXL Turbo via diffusers (fallback) + ComfyUI + DreamShaper XL Turbo (primary)
- ComfyUI on :8188 with DPM++ SDE Karras sampler, 8 steps
- Abstract editorial style: 8 rotating prompts, forced no-people/no-text
- Disk cache for generated images
- "Illustrate" button on every response card
- Imagegen proxy at :3600, API endpoint /api/imagegen
- 1024x512 at ~3.5s per image (ComfyUI) or ~1s (diffusers fallback)

Prompt Effects:
- Sample chip animations: click-to-swap with exit/enter transitions
- Shuffle icon on hover to cycle prompts without typing
- Typewriter spam-click protection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 09:33:46 -05:00
Description
LLM Team UI - Full-stack local AI orchestration platform
9.2 MiB
Languages
Python 97.4%
Shell 2.6%