Задача — построить автономный конвейер ежедневного контент-производства для собственного канала на Яндекс Дзен. Ручной цикл от «нашёл новость» до «залил черновик» занимал 2–4 часа каждый день: мониторинг новостей, выбор темы, ресёрч, написание черновика, редактура, борьба с AI-водянистостью, генерация промпта обложки, генерация изображения, заливка в редактор. В ежедневном ритме это не масштабируется без выгорания.
Цель: конвейер должен самостоятельно проходить весь цикл — от сбора новостей утром до готового черновика в Дзен-студии во второй половине дня. Человек только проверяет факты и нажимает «Опубликовать». Дополнительное требование — устойчивость к сбоям: если один из шагов падает (rate-limit, timeout, капча на внешнем сервисе), остальные продолжают работу.
Та же задача стоит у любого бизнеса с регулярным контентом: корпоративный блог, SEO-статьи, новостные разделы сайта, карточки товаров.
Конвейер из четырёх компонентов, запускаемых последовательно через systemd-таймеры.
news-digest собирает утренний дайджест: параллельно читает Gmail-рассылки по AI/WebDev-тематике и делает Exa web-search по семи тематическим корзинам. Результат — структурированный файл с темами дня. Идемпотентность: если дайджест уже создан — повторный запуск ничего не делает. Автозапуск в 13:00 MSK.
zen-article — основной 8-шаговый pipeline на bash. Каждый шаг пишет артефакт в отдельную папку, что даёт Smart Resume: упавший шаг перезапускается с места остановки без потери предыдущей работы. Автозапуск в 14:00 MSK.
Шаги: выбор новости из дайджеста (pick), ресёрч источников с Exa MCP (research), написание черновика (draft), структурированная критика по 23-пунктному чеклисту FAIL/WARN/OK с цитатами и конкретными правками (critic), редактура по замечаниям критика (editor), хуманизация — устранение 16 типов русско-специфичных AI-паттернов с обязательным audit-пассом (humanizer), финальная стилизация под голос канала с калибровкой по последней опубликованной статье (finalizer, Claude Sonnet 4.6), генерация текстового промпта для обложки (cover prompt).
Ключевое архитектурное решение: шаги 1–6 и 8 работают через qwen-code — agent harness поверх omnirouter, дёшево. Claude Sonnet 4.6 подключается только на финальной стилизации — там разница в качестве ощутима, дорогую модель тратим точечно.
arena-cli генерирует обложку: Playwright автоматизирует веб-интерфейс arena.ai, вставляет готовый промпт и рендерит изображение через Nano Banana Pro (Google) или gpt-image-2 (OpenAI). Fail-soft: если arena упала — статья собирается без обложки, пайплайн не останавливается, факт логируется.
content-bots dzen публикует article.md + PNG в черновик Дзен-студии через Playwright. BrowserManager хранит session между запусками (повторный логин не нужен), добавляет human-like delays, обрабатывает fullscreen-оверлеи. Тоже fail-soft.
Финальное «Опубликовать» намеренно оставлено ручным: пайплайн не проверяет достоверность фактов и не знает о событиях после дайджеста. Пять минут ревью дешевле одного публичного факапа.
Конвейер работает в ежедневном автономном режиме на канале https://dzen.ru/dmitra_ai(Яндекс Дзен). Ручной цикл 2–4 ч/статью сократился до 20 мин машинного времени + 5 мин финальной проверки.
Две fail-soft точки не останавливают выпуск статьи при сбое внешних сервисов. Smart Resume исключает потерю промежуточной работы при перезапуске.
Архитектура воспроизводима: конвейер не привязан к Дзену — меняется компонент публикации, остальные шаги работают без изменений для любой платформы: WordPress, Telegram-канал, Notion, собственный блог.