Telegram
MAX.
Посты.
Модели.
Фильтры.
Посты из папки MAX.
Классификация, фильтры, источник и публикация.
Рабочий обзор · 3 октября 2026 · счётчики на момент съёмки
Что происходит
с постом
Приём
Telethon получает новые сообщения из папки MAX и сохраняет оригинал.
Модель
TF-IDF считает оценки. MiniLM можно запустить отдельно для сравнения.
Фильтры
Условия проверяют оценки и длину. Совпадение назначает лейбл из словаря.
Источник
Добавляется ссылка на исходный пост. Проверяются вложения и актуальность.
MAX
Отправитель выбирает канал по лейблу и сохраняет результат доставки.
В доске пять стадий: «Не готовы», «Отсортирован», «Отфильтрован», «Маркировка», «На публикацию». Не совпавший пост остаётся в «Отсортирован». Успешные отправки видны в отдельной истории.
Отправляется исходный текст с вложениями. Ссылка на оригинал спрятана под словом «Источник». Рерайта и отдельного блока извлечённых ссылок в этом маршруте нет.
Экраны проекта
Снимки рабочего сервиса. В галерее — публичные материалы и состояние обработки. Полный размер открывается по клику.
Каналы
в MAX
Один материал может подходить нескольким темам. Маршрут выбирается по лейблу.
Для новичков и юмора отбор пока экспериментальный. Ошибочные назначения возможны; фильтры я довожу вручную.
Пример опубликованного поста ↗Что где работает
Компьютер
Корпус, разметка Codex, обучение и сравнение TF-IDF / MiniLM. Сырые данные и секреты — вне Git.
VPS
Telethon · FastAPI / Jinja · PostgreSQL · SQLAlchemy · RapidOCR / ONNX · Docker / Nginx.
MAX
Отдельный отправитель: загрузка медиа, публикация, сохранение ID и сверка доставки. Рабочий интерфейс требует пароль.
Code-map
Закреплённый снимок кода · 5f50077b
app/live_collector.pyПриём и сверка новых сообщенийapp/pipeline_coordinator.pyПереходы стадий и постановка заданийapp/taxonomy/jobs.pyОчередь моделей и источник входаapp/taxonomy/inference.pyОценки классификатораapp/ocr/worker.pyОтдельный OCR-workerapp/content/selection_rules.pyДерево условий фильтраapp/content/selection_filters.pyСовпадения, лейблы и основанияapp/publication/worker.pyОтправка и сверка доставкиЧто пока не идеально
- Метки корпуса поставлены Codex. Показатели моделей измеряют согласие с этой разметкой, а не независимую человеческую точность.
- Маршруты для новичков и юмора экспериментальные. Для новичков test: 57/65 совпадений; для OCR-юмора validation: 92/104. Согласованные пороги качества не пройдены.
- OCR не понимает картинку без текста, не слушает звук и не просматривает всё видео. Ошибки чтения требуют разбора.
- Медиа больше 100 МБ и недоступные части альбома блокируют автоматическую готовность. В интерфейсе есть остановленные карточки.
- Счётчики и время на скриншотах — снимок состояния, а не обещание производительности.