Автоматизация сбора отраслевых новостей долгое время упиралась в два ограничения: классические RSS-агрегаторы выдавали нефильтрованный поток публикаций, а ручной отбор требовал ежедневных затрат времени. Репозиторий KKKKhazix/AIHOT, вышедший в конце сентября 2026 года и набравший свыше 5000 звёзд на GitHub, предлагает практическое решение этой задачи на базе TypeScript: готовый фреймворк, где языковая модель выступает в роли редактора первичного контура.
Архитектура AIHOT: пайплайн от сбора до генерации статики
В основе системы лежит разделение на три функциональных блока: сборщик данных, блок LLM-фильтрации и генератор фронтенда. Вся кодовая база написана на TypeScript, что упрощает как интеграцию с Node.js-инфраструктурой, так и доработку визуальной части.
Работа фреймворка строится по циклическому сценарию:
- Модуль загрузки опрашивает заданные источники (веб-страницы, новостные ленты, API платформ) с заданной периодичностью.
- Тексты статей и анонсов нормализуются: очищаются от разметки, скриптов и баннеров, превращаясь в структурированный JSON.
- Нормализованный массив передаётся в LLM через API. Модель оценивает каждый материал по шкале релевантности, отсекает дубли и генерирует короткую выжимку на заданном языке.
- Отобранные материалы со статусом высокой важности попадают в базу данных или локальные JSON-файлы, на основе которых движок генерирует статическую версию сайта с дайджестом за конкретную дату.
Настройка фильтрации и логики отбора через промпты
Ключевая ценность фреймворка заключается в отделении механики доставки контента от правил его отбора. Критерии «горячей темы» задаются не программным кодом, а системными инструкциями для языковой модели в конфигурационном файле.
Для настройки отраслевого фокуса в промпте определяются три параметра:
- Границы предметной области. Указывается точный перечень направлений, которые считаются профильными (например, компиляторы, базы данных или локальные LLM), и список стоп-тем (инвестиционные раунды, общие маркетинговые пресс-релизы).
- Шкала оценки важности. Модели задаётся правило ранжирования от 1 до 10, где баллы выше 7 присваиваются только релизам кода, бенчмаркам или технической документации.
- Формат суммаризации. Задаются жёсткие ограничения на длину саммари: суть изменения, технический контекст, ссылка на первоисточник. Без вводных фраз и оценочных суждений.
Такой подход позволяет переориентировать платформу с мониторинга AI-разработки на биотехнологии, материаловедение или финансовые инструменты простым изменением пары текстовых файлов.
Уязвимые места автоматического дайджеста
Несмотря на популярность репозитория, автономная работа с новостным потоком несёт несколько системных ограничений, с которыми сталкиваются при эксплуатации фреймворка:
- Галлюцинации и смысловые искажения. При обработке сложных технических статей модель иногда путает версии библиотек или приписывает релизу функциональность, которой в коде нет. Для снижения риска требуется ограничивать температуру генерации до минимальных значений (0.0-0.2) и требовать цитирования фрагментов из оригинального текста.
- Проблема дублирования инфоповодов. Когда десять изданий перепечатывают один и тот же анонс с небольшими изменениями, базовый семантический поиск может пропустить дубли. Для чистоты ленты требуется внедрять векторизацию заголовков и эмбеддинг-сравнение перед отправкой данных в генеративную модель.
- Зависимость от стоимости API. При мониторинге сотен источников постоянный прогон полного текста статей через контекстное окно коммерческих моделей обходится дорого. Рациональнее использовать двухступенчатую схему: лёгкая локальная модель отсекает явный спам по заголовкам, а мощная модель обрабатывает только финалистов.
Развёртывание и практический запуск
Развёртывание AIHOT выполняется в стандартном серверном окружении с поддержкой Node.js 20+. Для запуска локальной копии потребуется выполнить последовательность шагов:
- Клонирование репозитория и установка зависимостей через пакетный менеджер npm или pnpm.
- Заполнение файла переменных окружения (.env): добавление ключа доступа к LLM API и указание базового URL будущего сайта.
- Настройка списка источников в файле конфигурации feeds.json: добавление адресов RSS-лент или эндпоинтов парсеров.
- Настройка расписания через cron или GitHub Actions для автоматического запуска скрипта сборщика каждые несколько часов.
- Публикация сгенерированной директории со статикой на Vercel, Cloudflare Pages или собственный Nginx-сервер.
Границы применимости: когда автоматизация оправдана
AIHOT не заменяет полноценную редакцию и не создаёт глубокую аналитику с нуля. Его задача - черновая фильтрация большого массива разрозненных публикаций до компактного списка из 5-10 ключевых событий дня.
Фреймворк эффективен как внутренний инструмент для команд разработки, которым необходимо отслеживать релизы инструментов без ежедневного ручного серфинга по десяткам блогов. Использование проекта в качестве публичного сайта имеет смысл только при условии регулярной калибровки промптов и периодического контроля результатов человеком.