Files
jellybit/docs/specs/review-ux.md
T

7.8 KiB
Raw Blame History

Ревью раскладки человеком

Что происходит, когда система не уверена в распознавании и не раскладывает файлы автоматически. Когда именно наступает ревью — см. recognition.md; конвенции целевых имён — jellyfin-layout.md.

Главный принцип: ревью — это петля «догадка → подсказка человека → перераспознавание», а не статичное «ок/нет». Человек остаётся супервизором, а не оператором ручного ввода.

Когда наступает

Загрузка уходит в review, если сработал любой триггер модели уверенности: низкая самооценка LLM; нет матча в базе (или несколько кандидатов); структурная валидация ругается (у фильма >1 основного файла; число серий не бьётся с базой; дыры/дубли в нумерации S·E). В интерфейсе всегда видна конкретная причина, а не просто «не уверен».

Поверхность решения (едина для всех транспортов)

  1. Источник: имя торрента, переданный контекст, дерево файлов с размерами, (если из бота) распарсенное сообщение.
  2. Догадка системы: тип, название, год, сезон, матч базы и превью целевой раскладки — буквальные пути, которые создадутся.
  3. Причина сомнения.

Действия

  • Применить — сделать хардлинки по плану.
  • Уточнить и перераспознать — добавить подсказку текстом → LLM перезапускается с исходными сигналами и накопленными подсказками → новый план. Главный путь, когда «LLM не справился».
  • Поправить вручную — объём зависит от версии (см. ниже).
  • Выбрать кандидата базы / ввести id / «без базы».
  • Отклонить / Позже.

Подсказка vs override. Подсказка мягкая — LLM её интерпретирует. Ручная правка поля — жёсткий override: система берёт значение как есть и «пиннит» его, перераспознавание не затирает уже поправленное.

Веб-UI — точные правки

Fargo.S02.2015.WEB-DL.1080p.rus.eng                 🟡 review
Причины: нет в TMDB · уверенность 0.46

Контекст: «второй сезон, рус+англ дорожки»  [+ добавить → 🔁 перераспознать]

Тип: ( ) фильм  (•) сериал   Название: Фарго   Год: 2015   Сезон: 02
База: [TMDB поиск…] [TVDB поиск…]   выбрано: — (без базы)   [ввести id]

Файлы → серии:
 # | файл                 | размер | роль   | S  | E
 1 | Fargo.S02E01.rus.mkv | 3.1 GB | эпизод | 02 | 01
 …                                         [нумеровать подряд] [сброс]
 9 | sample.mkv           |  40 MB | игнор  |   |  

Превью:
 series/Фарго (2015)/Season 02/Фарго (2015) S02E01.mkv  ← #1
[ Применить ]   [ Отклонить ]   [ Позже ]

Ядро экрана для сериала — таблица «файл → серия» с живой валидацией дыр/дублей и кнопкой «нумеровать подряд» (частый случай: файлы по порядку, но подписаны криво). Для фильма проще: выбрать основной файл, остальное — extra/sample/субтитры/игнор.

Telegram — быстро, где пользователь и так есть

🟡 Нужно подтверждение
Источник: Fargo.S02.2015.WEB-DL.1080p
Похоже на: 📺 сериал «Фарго», сезон 2 (2015)
База: TMDB не найдено · уверенность низкая
План: 10 видео → series/Фарго (2015)/Season 02/…E01E10

[✅ Применить]   [📺↔🎬 Тип]
[🔢 Выбрать в базе]   [🔁 Уточнить]
[🌐 Открыть в вебе]   [❌ Отклонить]
  • 🔁 Уточнить → бот просит подсказку ответом → перераспознаёт → редактирует то же сообщение новым планом. Петля коррекции прямо в чате.
  • 🔢 Выбрать в базе → кнопки по кандидатам (название · год · id).
  • Точечное переназначение файлов в чат не помещается → 🌐 Открыть в вебе (deep-link на ту же страницу).

Разделение труда

Telegram = одобрить / подсказать / выбрать кандидата / эскалировать в веб. Веб = точные правки. Состояние ревью одно (в SQLite) — действовать можно из любого транспорта, последнее слово побеждает.

Крайние сценарии

  • База неоднозначна → выбор кандидата (часто чинит всё разом: пиннит provider-id и каноническое имя).
  • База пустая (рус/аниме) → «без базы» или ручной id/url. Аниме с абсолютной нумерацией → веб-хелпер «absolute → S·E» (см. drafts/ideas.md).
  • Не тот тип (movie↔series) → переключатель пересобирает форму плана.
  • Мусор (sample/extra/дубли дорожек) → роль «игнор».
  • Полный провал (LLM ничего не вытащил) → веб-«ручной режим»: выбрать тип, ввести название/год, разложить файлы руками; в Telegram — сразу эскалация в веб.

Вход в ревью и откат

  • Переход в review пингует (сообщение в Telegram / бейдж в вебе) — пользователя зовут, а не он опрашивает. Таймера нет, источник продолжает сидировать.
  • После «Применить» показываем, что создано. Undo — убрать созданные хардлинки одной кнопкой (источник цел); страховка от ошибочного подтверждения.

Объём по версиям

  • Ф3 (первая версия): подсказка + перераспознавание; из ручного — переключатель типа, выбор кандидата базы, пометка файла «игнор». Undo — есть.
  • Ф5: полный редактор маппинга «файл → серия», ручной режим, подтверждение в Telegram с reply-подсказкой и эскалацией в веб.