Skip to content

18studio/ai-news-agent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI News Agent

Это полнофункциональный 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-контейнеров:

  1. ai-news-bot: Telegram-бот для взаимодействия с пользователем.
  2. ai-news-agent: Планировщик для регулярного сбора новостей.
  3. ai-news-webapp: Flask backend для Mini App, предоставляющий API и пользовательский интерфейс.
  4. cloudflared: Cloudflare Tunnel для обеспечения безопасного HTTPS доступа к WebApp.

Требования

  • Docker и Docker Compose
  • Доступ в интернет
  • OpenAI API ключ
  • Telegram Bot Token
  • Telegram User ID
  • Cloudflare Tunnel Token

Установка и запуск

1. Клонирование репозитория

git clone <repository-url>
cd ai-news-agent

2. Конфигурация

Скопируйте файл конфигурации и заполните его:

cp .env.example .env
nano .env

Необходимые переменные описаны в файле .env.example. Обязательно задайте надежные значения для APP_USERNAME, APP_PASSWORD и FLASK_SECRET_KEY.

3. Развертывание

Для развертывания используйте скрипт:

sudo bash deploy.sh

Этот скрипт установит Docker (если необходимо), соберет образы и запустит контейнеры в фоновом режиме.

4. Управление

# Проверка статуса контейнеров
docker compose ps

# Просмотр логов
docker compose logs -f

# Перезапуск сервисов
docker compose restart

Автор

Дмитрий Юдин

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 51.3%
  • Python 46.9%
  • Shell 1.3%
  • JavaScript 0.5%