Локальное web-приложение для подбора героя на этапе драфта в Marvel Rivals. Вы отмечаете пики своей команды и баны, нажимаете «Посоветуй героя» — и локальная языковая модель (через Ollama) предлагает топ-3 героев для каждого свободного слота с учётом вашего гайда по героям и тир-листа текущего патча.
-
Node.js (LTS) — для запуска dev-сервера.
-
Ollama — запущенная локально (API на
http://localhost:11434). -
Скачанная модель, по умолчанию используется
qwen3:8b:ollama pull qwen3:8b
npm install # один раз
npm run devПриложение откроется на http://localhost:5173. Запросы к Ollama идут через
прокси dev-сервера (/ollama → http://localhost:11434), поэтому настраивать
CORS (OLLAMA_ORIGINS) не нужно.
- Вкладка «Драфт» — кликните по слоту пика или бана, в открывшемся окне найдите героя (есть поиск и группировка по ролям). Заполнять все слоты не обязательно.
- Нажмите «Посоветуй героя». Пока модель думает, виден таймер; запрос можно отменить.
- Для каждого пустого слота появятся три мини-портрета (топ-3 по приоритету), а ниже — развёрнутый анализ с объяснениями. Клик по мини-портрету сразу ставит героя в слот.
- Вкладка «Настройки» — отладочный экран:
- адрес Ollama и выбор модели (кнопка «Проверить соединение» покажет скачанные модели);
- температура, размер контекста (
num_ctx), режим размышлений (thinking); - редактор системного промпта;
- редактор справки о героях (контекста). Правки сохраняются в браузере (localStorage) и имеют приоритет над файлом — кнопка «Сбросить» возвращает содержимое файла.
| Файл | Назначение |
|---|---|
public/heroes.json |
Ростер героев: id, английское имя, роль (Vanguard / Duelist / Strategist). При выходе нового героя просто добавьте строку. |
public/hero-context.md |
Гайд по героям и тир-лист — целиком подставляется в запрос к модели. |
public/hero-images/ |
Портреты героев: <id>.png / .jpg / .webp (например iron-man.png). Если картинки нет, рисуется плашка с инициалами в цвете роли. |
src/lib/settings.ts |
Настройки по умолчанию, включая системный промпт. |
idгероя вheroes.jsonдолжен совпадать с именем файла картинки вpublic/hero-images/.
- «Не удалось подключиться» — проверьте, что Ollama запущена
(иконка в трее или
ollama serve). - «model not found» — модель не скачана:
ollama pull qwen3:8b, либо выберите другую на вкладке «Настройки». - Ответ обрывается или модель «не видит» гайд — увеличьте размер контекста
(
num_ctx) в настройках: справка должна вмещаться целиком. Учтите, что большой контекст медленнее и требует больше памяти GPU. - Советы стали странными после правок в настройках — кнопки «Сбросить» возвращают промпт и контекст к значениям по умолчанию.
React 18 + TypeScript + Vite. Без бэкенда: всё работает в браузере, обращаясь напрямую к локальному API Ollama.