# ТЗ: Веб-интерфейс для Snowbike RAG ## Общее описание Одностраничное веб-приложение для семантического поиска по базе знаний сноубайков. Тёмная тема, адаптивный дизайн, минималистичный интерфейс. **URL:** `https://openclaw.mva154.duckdns.org/snowbike-rag/` **Стек:** Flask (порт 5557) + HTML/CSS/JS (без сборщиков) **Бизнес-требования:** `docs/BRD-UI.md` --- ## Архитектура ``` Браузер ↓ Flask server.py (порт 5557) ↓ GET /snowbike-rag/ → index.html GET /snowbike-rag/api/search?q=... → JSON ответ GET /snowbike-rag/api/stats → статистика ``` **Nginx:** `location /snowbike-rag/ → proxy_pass http://172.19.0.2:5557/` (уже настроен) --- ## Файлы ``` tasks/snowbike-rag/ ├── templates/ │ └── index.html — единственная страница (HTML + CSS + JS) ├── static/ │ └── style.css — кастомные стили (если нужно, иначе inline) ├── server.py — обновить: добавить роуты / и /api/search, /api/stats └── docs/ ├── BRD.md — бизнес-требования (API) ├── BRD-UI.md — бизнес-требования (UI) └── TZ-UI.md — это документ ``` --- ## Страница: index.html ### 1. Заголовок • Иконка снежинки или снегохода (emoji: 🏔️) • Название: **Snowbike Поиск** • Подзаголовок: «База знаний по 155 000 сообщений» ### 2. Поле ввода • `