Это полнофункциональный AI агент, который собирает новости об искусственном интеллекте из различных RSS источников, обрабатывает их с помощью OpenAI API и предоставляет удобный интерфейс для генерации постов и дайджестов.
- Автоматический сбор новостей из различных RSS источников об ИИ.
- AI обработка новостей через OpenAI API для перевода и выделения ключевых моментов.
- Telegram Bot v2 с поддержкой natural language chat и inline-кнопок.
- Mini App (WebApp) с премиальным дизайном для просмотра новостей, фильтрации и генерации контента.
- Аутентификация для защиты доступа к Mini App по логину и паролю.
- Интеграция с Telegram каналом для прямой публикации сгенерированных постов.
- Расписание - автоматический сбор новостей в 9:00, 16:00 и 20:00 МСК.
- Контейнеризация - микросервисная архитектура на базе Docker Compose.
- Безопасный доступ через Cloudflare Tunnel (HTTPS).
Проект состоит из четырех основных Docker-контейнеров:
- ai-news-bot: Telegram-бот для взаимодействия с пользователем.
- ai-news-agent: Планировщик для регулярного сбора новостей.
- ai-news-webapp: Flask backend для Mini App, предоставляющий API и пользовательский интерфейс.
- cloudflared: Cloudflare Tunnel для обеспечения безопасного HTTPS доступа к WebApp.
- Docker и Docker Compose
- Доступ в интернет
- OpenAI API ключ
- Telegram Bot Token
- Telegram User ID
- Cloudflare Tunnel Token
git clone <repository-url>
cd ai-news-agentСкопируйте файл конфигурации и заполните его:
cp .env.example .env
nano .envНеобходимые переменные описаны в файле .env.example. Обязательно задайте надежные значения для APP_USERNAME, APP_PASSWORD и FLASK_SECRET_KEY.
Для развертывания используйте скрипт:
sudo bash deploy.shЭтот скрипт установит Docker (если необходимо), соберет образы и запустит контейнеры в фоновом режиме.
# Проверка статуса контейнеров
docker compose ps
# Просмотр логов
docker compose logs -f
# Перезапуск сервисов
docker compose restartДмитрий Юдин