Skip to content

prostonik94/testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

HN AI News Automation — n8n Workflow

Автоматический pipeline для сбора, обработки и публикации AI/tech новостей из Hacker News с генерацией контента через LLM.

Что делает workflow

  1. Запуск по расписанию — cron 0 9,18 * * * (дважды в день: 9:00 и 18:00 МСК)
  2. Сбор данных — 8 параллельных запросов к Hacker News Algolia API по ключевым темам: AI, LLM, GPT, agent, automation, API, startup, open source
  3. Фильтрация — дедупликация по objectID, сортировка по points, отбор топ-5 статей
  4. Генерация контента — GPT-4.1-mini создаёт анонс 150–200 символов на английском и арабском языках
  5. Сохранение — запись в Google Sheets (appendOrUpdate по заголовку, без дублей)
  6. Уведомление — отправка в Telegram с inline-кнопками для быстрых действий

Почему Hacker News

Hacker News — наиболее релевантный публичный источник для AI/tech тематики:

  • Algolia API бесплатный, без авторизации, стабильный
  • Поле points позволяет фильтровать качественный контент (points > 10)
  • Поле num_comments даёт сигнал о вирусности материала
  • Высокая плотность постов по выбранным темам (AI, LLM, agents) — гарантирует результат при каждом запуске

Стек

Компонент Решение
Автоматизация n8n (self-hosted)
Источник данных Hacker News Algolia API
LLM OpenAI GPT-4.1-mini
Хранение Google Sheets
Уведомления Telegram Bot API

Структура workflow

Schedule Trigger / Manual Trigger
  → Code: генерация поисковых запросов (8 тем)
  → HTTP Request: запрос к HN Algolia API
  → Aggregate: сбор всех ответов в массив
  → Code: дедупликация + топ-5 по points
  → Basic LLM Chain (GPT-4.1-mini): генерация EN + AR текстов
  → Code: парсинг JSON из LLM + сборка финального объекта
  → Google Sheets: appendOrUpdate
  → Telegram: отправка с inline-кнопками

Узкие места

  • LLM latency — при 5 статьях и batch size 1 суммарное время генерации может достигать 30–60 сек. При увеличении количества статей возможны таймауты
  • Потеря pairedItem через LangChain — LangChain-ноды обрывают цепочку pairedItem, из-за чего данные из предыдущих нод приходится доставать через $('NodeName').all()[$itemIndex]
  • Отсутствие дедупликации между запусками — Google Sheets использует appendOrUpdate по полю title, но при изменении заголовка возможен дубль
  • Нет обработки пустого source — часть HN-постов не имеет внешней ссылки (например, Tell HN:), кнопка «Читать статью» в таких случаях нерабочая

Что улучшить при масштабировании

  • Векторная дедупликация — сравнивать семантическую близость заголовков (embeddings + pgvector), чтобы не публиковать похожие новости
  • Очередь обработки — вынести LLM-генерацию в отдельный workflow с очередью (Redis / n8n Queue Mode) для надёжности
  • Мультиязычность — параметризовать языки через конфиг, чтобы легко добавлять новые направления без правки кода
  • Фильтр по свежести — добавить фильтр created_at > now - 24h, чтобы исключить старые посты при повторных запусках
  • Мониторинг — добавить ноду уведомления об ошибках (отдельный Telegram-алерт при падении любого шага)
  • A/B тест промптов — логировать какие формулировки дают больше кликов по кнопкам для итерации промпта

Файлы

  • workflow.json — экспорт workflow из n8n (credentials заменены на заглушки)

Настройка

  1. Импортируй workflow.json в n8n
  2. Подключи credentials:
    • OpenAI API → нода OpenAI Chat Model
    • Google Sheets OAuth2 → нода Append or update row in sheet
    • Telegram API → нода Send a text message
  3. Укажи свой Google Sheets Document ID и Chat ID в соответствующих нодах
  4. Активируй Schedule Trigger

-

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors