Перейти к содержанию

Собственный продукт

News Bot + News Hub — платформа автоматизации многоязычного контента

Система автоматизации полного цикла работы с контентом: от получения материалов из внешних источников до перевода, редакционной обработки, модерации и публикации в социальные сети.

Проект начался как небольшой News Bot для обработки RSS-лент. Работающий MVP был собран за три дня.

По мере реальной эксплуатации система выросла в набор связанных сервисов: источниками стали RSS, X и TikTok, появился централизованный News Hub, браузерный клиент для ручного сбора материалов, мобильное приложение и отдельный модуль обработки и перевода видео.

3 дня
от идеи до первого MVP News Bot
RSS + X + TikTok
автоматические источники контента
Telegram + MAX + VK + Битрикс24
каналы публикации
Web + Browser + Mobile
единый редакционный контур

Задача

Поддержание новостных и тематических сообществ требует большого количества повторяющейся работы:

  • следить за десятками источников;

  • находить новые материалы;

  • отсеивать нерелевантный контент;

  • переводить публикации;

  • проверять имена и терминологию;

  • редактировать текст под формат конкретной площадки;

  • скачивать изображения и видео;

  • проверять дубли;

  • отправлять материалы на модерацию;

  • публиковать их в разные социальные сети.

Первоначальной задачей было максимально быстро автоматизировать этот процесс и проверить идею на работающем MVP.

После запуска выяснилось, что одной схемы «RSS → перевод → публикация» недостаточно. Для реальной работы нужны разные источники, собственные правила обработки, ручная редакционная очередь, несколько пользователей и безопасная доставка контента в разные каналы.

Так небольшой бот постепенно превратился в модульную платформу.

Архитектура

Система разделена на несколько независимых компонентов.

News Bot — сбор, обработка и доставка

Python-сервис отвечает за автоматические потоки контента.

Он получает материалы из RSS, X и TikTok, сохраняет состояние обработки и применяет правила конкретного источника.

Для разных потоков можно отдельно задавать:

  • источники;

  • ключевые слова;

  • расписание;

  • язык;

  • правила перевода;

  • редакторские промпты;

  • глоссарии имён и терминов;

  • каналы публикации.

Один поток может почти дословно переводить короткие публикации из X, другой — делать краткий пересказ большой статьи из RSS, третий — автоматически обрабатывать публикации с изображениями или видео.

News Bot поддерживает повторные попытки после временных ошибок, восстановление после перезапуска, постоянный кэш медиаданных и защиту от повторной публикации одного материала.

Публикация может выполняться непосредственно в Telegram, MAX, VK либо через централизованный News Hub.

News Hub — редакционный единый центр управления

По мере развития проекта управление контентом было вынесено в отдельный Laravel-сервис News Hub.

Hub становится единой точкой управления редакционным процессом:

источник → материал → редакция → модерация → публикация → статус

В нём хранятся материалы, их ревизии, медиа, история действий и задания на публикацию.

Добавлена модель рабочих пространств и ролей пользователей. Клиентские приложения не получают токены VK, Telegram или других площадок — все секреты и фактическая публикация остаются на серверной стороне.

Это позволяет подключать к одной системе разные интерфейсы: административную панель, мобильное приложение и браузерные расширения.

Ручной сбор материалов из браузера

Не весь интересный контент удобно получать автоматически.

Для таких сценариев создано Chrome-расширение News Bot Capture.

Пользователь может открыть статью или публикацию на любом сайте и прямо из браузера:

захватить материал → получить текст и изображения → при необходимости обработать его AI → отредактировать → отправить в News Hub

Поддерживается локальное подключение собственного AI-провайдера: OpenAI-compatible API, OpenRouter, DeepSeek, Gemini, Claude и другие.

Ключ AI остаётся в браузере пользователя, а решение об отправке материала в Hub принимается явно.

Таким образом автоматический и ручной контент попадает в одну редакционную систему.

Мобильное приложение

Отдельно развивается Flutter-клиент для iOS и Android.

Приложение строится как тонкий клиент News Hub: оно не хранит credentials социальных сетей и не публикует контент напрямую.

Уже реализованы:

авторизация через Hub, безопасное хранение сессии, автоматическое обновление access token, выбор рабочего пространства и базовая структура редакционного интерфейса.

На серверной стороне уже работает API чтения материалов, ревизий, истории. Следующий этап — полноценное подключение редакционной очереди и операций модерации в мобильном клиенте.

Работа с видео

Проект получил отдельный сервис Video Worker для автоматизации многоязычного видеоконтента.

Конвейер строится независимо от News Bot:

видео → анализ → распознавание речи → перевод → субтитры → рендер → проверка → готовые артефакты

Для распознавания речи используется faster-whisper. Перевод выполняется через OpenAI-compatible LLM API.

Система работает не просто с последовательным переводом отдельных субтитров. Для модели формируется контекст видео, соседние реплики и глоссарий имён и терминов. Для сомнительных фрагментов рассчитывается уровень достоверности и материал может быть отправлен на ручную проверку.

Результатом становятся:

  • исходная расшифровка;

  • перевод;

  • SRT;

  • ASS;

  • MP4 с вшитыми субтитрами;

  • manifest с характеристиками и checksum файлов.

Перед тем как признать результат готовым, модуль проверяет структуру и параметры полученного видео.

Video Worker интегрирован с News Hub: готовые результаты могут сохраняться в общем хранилище и далее проходить тот же процесс проверки и публикации, что и остальные материалы.

Контур активно развивается и сейчас проходит финальные этапы проверки качества и production-подготовки.

Надёжность

Важная часть проекта — не только автоматизировать обычный сценарий работы, но и обеспечить устойчивость системы при сбоях внешних сервисов.

News Bot сохраняет состояние обработки материалов, поэтому после перезапуска может продолжить работу с того места, на котором остановился.

Для временных ошибок предусмотрены повторные попытки с увеличивающимися интервалами. При этом система различает временные и окончательные ошибки и не пытается бесконечно повторять заведомо невозможную операцию.

Отдельные механизмы защищают от повторной обработки и публикации одного материала. Если внешний сервис вернул неоднозначный результат, система сначала проверяет фактическое состояние публикации и только после этого решает, требуется ли повторная отправка.

История изменений материалов сохраняется в виде отдельных версий, а операции модерации и публикации выполняются с проверкой актуального состояния. Это снижает риск конфликтов при одновременной работе нескольких пользователей или фоновых процессов.

Новые функции включаются постепенно и независимо друг от друга. Поэтому добавление нового источника, канала публикации или интерфейса не требует сразу менять уже работающую систему.

Такой подход позволяет развивать проект поэтапно, не останавливая существующие автоматические потоки.

Технологии

Backend и automation:
Python, Laravel, Filament, PostgreSQL, SQLite, Redis, REST API.

AI:
OpenAI-compatible LLM API, faster-whisper, собственные prompts, contextual translation, glossary и semantic QA.

Источники:
RSS, X, TikTok, web pages.

Клиенты:
Filament Web UI, Flutter, Chrome Extension Manifest V3.

Media:
yt-dlp, FFmpeg, ffprobe, SRT, ASS.

Интеграции:
Telegram API, VK API, MAX API, Bitrix24 REST API.

Infrastructure:
Docker, systemd, CI/CD.

Результат

News Bot вырос из небольшого сервиса автоматизации RSS в платформу, которая закрывает значительную часть полного жизненного цикла контента:

получение → перевод → обработка → дедупликация → редакция → модерация → публикация → контроль результата

При этом компоненты остаются независимыми.

Для небольшого проекта можно использовать только News Bot и автоматическую публикацию.

Для редакционного процесса подключается News Hub.

Для ручного поиска контента — расширение браузера.

Для работы с телефона — мобильный клиент.

Для многоязычного видео — отдельный Video Worker.

Пример реальной эксплуатации

Один из тестовых проектов — фанатское сообщество с иностранным контентом.

News Bot следит за заданными аккаунтами в X и TikTok и одновременно получает новости из RSS-потоков по ключевым словам.

Материалы автоматически переводятся и подготавливаются к публикации.

В Telegram поток работает полностью автоматически: публикации из X, TikTok и RSS могут выходить без участия редактора.

В VK публикации из X и TikTok также отправляются автоматически, а RSS-материалы проходят премодерацию контент-менеджером.

Поддерживаются текст, несколько изображений и видео.

Это уже не демонстрационный проект на тестовых данных, а система, которая используется на реальном постоянно обновляющемся контенте.

На данный момент перевод в указанных пабликах осуществляется с помощью модели GPT-6 Luna.

VK: https://vk.ru/akb48_news

TG: https://t.me/akb48_news

MAX: https://web.max.ru/channel_akb48

Развитие проекта

Архитектура изначально сделана так, чтобы новые источники, интерфейсы и каналы не требовали переписывать работающую систему.

Сейчас развитие идёт сразу по нескольким направлениям: редакционный API News Hub, мобильный интерфейс, браузерное расширение для сбора материалов, обработка многоязычного видео и постепенная унификация доставки контента.

При этом уже работающие автоматические потоки продолжают использоваться независимо от экспериментальных компонентов.

NEWS BOT

Новости и обновления: https://msk.onl/blog?tag=news-bot

Технологии

Python Laravel (Filament) PostgreSQL Docker REST API LLM API Telegram API VK API

Хотите такой же результат?

Расскажите о вашем проекте

Обсудить проект

Мы используем файлы cookie для улучшения работы сайта. Продолжая пользоваться сайтом, вы соглашаетесь с их использованием.