Files

3.1 KiB

selected-list: список отобранных между кандидатами и опубликованными

Улучшение

Сейчас пайплайн «кандидаты → опубликованные» без промежуточного шага:

  • Кандидаты (new): куча новых постов, классификация всех через LLM (токены), обработка (comment/approve/reject/reclassify/rewrite) прямо здесь — всё сразу.
  • Пользователь: «репост никому не интересен, подпишутся на первоисточник» — нужен собственный подготовленный пост. Отбираем понравившееся руками, готовим свой пост уже в отобранных.

Изменения

Новый статус selected

  • posts.status: добавляем значение selected («отобранный»).
  • Кандидаты = status='new' (внешние). Отобранные = status='selected' (внешние).
  • Свой контент (is_own=1) — не кандидаты и не отобранные (управляется отдельно).

Веб

  • Кандидаты (/candidates): только «⭐ Отобрать» (single + bulk select). БЕЗ approve/reject/comment/reclassify/rewrite — обработка живёт в отобранных. Кнопки «Обработать моделью/Переписать/Отклонить/Опубликовать/комментарий» — убираем.
  • Отобранные (/selected): новый экран, полный функционал:
    • карточки слева (как кандидаты), статус selected
    • справа: бейджи, комментарий, «✅ Опубликовать», «💾 Сохранить комментарий», «🤖 Обработать моделью» (reclassify), «✍️ Переписать» (rewrite), «💾 Сохранить пересказ», «🚫 Отклонить»
    • bulk: approve / reject / process / select
  • published — без изменений.

Редактор всегда виден

В отобранных рядом с оригиналом поста — поле редактирования (textarea rewritten_text):

  • показывается ВСЕГДА (не только если уже есть пересказ)
  • в него кладётся результат «✍️ Переписать» (rewrite)
  • редактируется вручную
  • при публикации (approve) — body = rewritten_text если есть, иначе оригинал (уже так в card.py)

Экономия токенов

  • Краулер НЕ классифицирует новые (сейчас и так worker не в кроне; classified остаётся 0).
  • Классификация — только по кнопке «🤖 Обработать моделью» В ОТОБРАННЫХ (reclassify на selected).