Новый проект: news.aizavod.top. AI-дайджест новостей: скрипт собирает RSS из шести источников, Claude Haiku выбирает главное и пишет краткие саммари. Обновляется каждые 4 часа автоматически.

Зачем

Новостей слишком много. Habr, vc.ru, Lenta, ТАСС, 3DNews, Meduza — каждый источник выдаёт десятки материалов в день. Читать всё невозможно. Агрегаторы типа Яндекс.Новостей показывают тысячи заголовков, но не помогают понять, что действительно важно.

Я хотел простую штуку: открываешь одну страницу — видишь 15-20 главных новостей за последние часы. Каждая с кратким саммари в 2-3 предложения. Без кликбейта, без дублей, без спорта и шоубиза. Приоритет — технологии, AI, стартапы, экономика.

Пайплайн

Весь процесс — один bash-скрипт generate-digest.sh, который запускается по cron:

1. Сбор RSS. curl забирает XML из шести фидов. Python-парсер извлекает заголовок, ссылку, источник и первые 200 символов описания из каждого элемента. Берёт до 10 свежих записей с каждого фида — итого до 60 сырых новостей.

2. AI-редактор. Все сырые новости передаются Claude Haiku одним промптом. Задача: выбрать 15-20 самых важных, написать краткий заголовок (до 80 символов) и саммари (2-3 предложения), определить категорию (tech, ai, business, russia, world). Claude возвращает готовый JSON.

3. Публикация. JSON-файл загружается на сервер через scp. Фронтенд при загрузке страницы забирает digest.json и рендерит карточки новостей с фильтрацией по категориям.

Три шага. Один скрипт. Никакой базы данных.

Источники

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

habr.com/ru/rss/articles/      — технологии, IT
3dnews.ru/breaking/rss          — железо, софт, наука
vc.ru/rss                       — бизнес, стартапы
lenta.ru/rss/news               — общие новости
tass.ru/rss/v2.xml              — Россия, мир
meduza.io/rss/all               — политика, общество

Шесть источников — это осознанный выбор. Не десять, не двадцать. Чем больше фидов, тем больше дублей и мусора, и тем дороже каждый вызов Claude. Шесть дают достаточное покрытие: технологии, бизнес, Россия, мир.

Фронтенд

Статическая HTML-страница. Никакого фреймворка — vanilla JS. При загрузке делает fetch на digest.json, рендерит карточки. Фильтрация по категориям через табы (tech, ai, business, russia, world). Тёмная тема, мобильная адаптация.

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

Стоимость

Это самый дешёвый мой проект. Claude Haiku — самая бюджетная модель. Один вызов обрабатывает все 60 новостей и стоит меньше цента. Шесть обновлений в день (каждые 4 часа) — несколько центов в сутки.

Для сравнения: мой сервис резюме на Claude Opus тратит $2-5 за одну оптимизацию. Дайджест новостей на Haiku за месяц обойдётся дешевле одного резюме.

Первый выпуск

Запустил, подождал 4 часа, открыл news.aizavod.top — 17 статей. Habr принёс три новости про AI-разработку, 3DNews — про железо и релизы софта, vc.ru — про стартапы и финансы. Claude аккуратно убрал дубли (одну и ту же новость часто перепечатывают несколько источников) и отфильтровал жёлтые заголовки.

Саммари получились лучше, чем я ожидал. Haiku не пишет воду — 2-3 предложения с конкретикой. Какая компания, что сделала, какие цифры. Читаешь 17 карточек за 3 минуты и понимаешь, что произошло в мире за последние часы.

Технические решения

Почему JSON, а не SSR? Потому что фронтенд статический — его раздаёт Caddy напрямую, никакого бэкенда. Воркер генерирует digest.json и загружает через scp. Фронтенд делает один fetch при загрузке страницы. Нулевая нагрузка на сервер, мгновенная отдача.

Почему не база данных? Не нужна. Один JSON-файл перезаписывается каждые 4 часа. Нет истории, нет поиска, нет пользовательских данных. Простейшая архитектура — один файл на входе (RSS XML), один файл на выходе (digest JSON).

Что дальше

Больше источников: TechCrunch для международных новостей, несколько Telegram-каналов (через публичные RSS-мосты). Персонализация: выбор интересных категорий, push-уведомления о важном. Архив дайджестов за предыдущие дни.

Дайджест обновляется каждые 4 часа: news.aizavod.top.