Игорь Градов
Игорь Градов
6 мин
ai

Автосводка новостей дня из 4 источников: как Python-скрипт заменил ручные отчёты

Компания или автор запустили не коммерческий продукт, а личный скрипт-автоматизацию. Источник — авторский пост-разбор без названия компании-разработчика, без даты релиза, без цены. Это не классический launch в смысле «продукт вышел на рынок», а практический кейс: автор три с половиной месяца использует самописную систему автосводки рабочего дня и показывает, как она устроена.

Автосводка новостей дня из 4 источников: как Python-скрипт заменил ручные отчёты

Строю новость строго по фактам из источника.


Разработчик с пятью-семью параллельными направлениями собрал скрипт, который каждый вечер в 22:00 автоматически генерирует PDF-отчёт о рабочем дне и кладёт его на Яндекс-диск, и после трёх с половиной месяцев ежедневного использования показал, как всё устроено.

Почему это важно

Автосводка новостей дня снимает проблему, знакомую любому, кто ведёт несколько проектов одновременно: вечером невозможно вспомнить, что именно делал. Скрипт не доверяет памяти, он собирает факты из четырёх независимых источников и отдаёт готовый документ.

Проблема знакома всем, кто работает руками и головой одновременно. Автор описывает типичное утро: коллега спрашивает «что вчера делал по платформе клиента», а в голове только обрывки. Раньше он садился в десять вечера и писал сводку сам. Получалось сухо: «работал над X, исправил Y, начал Z». Через неделю сам не понимал, что имелось в виду. Скрипт заменил эту рутину полностью.

Что Когда Кто сделал Цена
Скрипт автосводки рабочего дня (два Python-файла: collect_day.py и make_summary.py) Используется три с половиной месяца, запускается ежедневно в 22:00 Автор поста, разработчик и владелец компании Автор не называет стоимость; упоминает Gemini 2.5 Flash через OpenRouter как «дёшево и достаточно»

Четыре источника вместо одной памяти

Ключевая идея автора: один источник данных врёт. Четыре, перепроверяющие друг друга, уже почти не врут. Вот что собирает скрипт.

  • ActivityWatch (AW) — приложение, которое в фоне записывает, какое окно сейчас активно и двигается ли мышь. Автор ставит жёсткое окно с 6:00 до 22:00 и исключает системные процессы вроде экрана блокировки. Без этой фильтрации «топ приложений дня» возглавляет окно логина.

  • Журналы ИИ-сессий. Claude Code и Codex CLI (инструменты для написания кода с помощью ИИ) пишут каждый чат в JSONL-файл с временными метками. Скрипт разрезает длинные сессии по датам, фильтрует служебный мусор и считает реальные запросы. Скриншоты, отправленные ИИ, тоже идут в счёт.

  • Git-коммиты (сохранённые изменения в коде) — и локальные, и с удалённых серверов по SSH (протокол защищённого удалённого подключения). Автор приводит пример: за один из дней июня вышло 27 коммитов в трёх проектах, из них 18 на серверах. Без серверной части отчёт показывал «работал в одном проекте», а на деле в трёх.

  • Файлы, изменённые за день. Скрипт проходит папку проектов, смотрит дату изменения каждого файла. Это ловит работу, где не было ни коммита, ни ИИ-сессии: концепции, мокапы, заметки, сценарии видео.

Как устроена автосводка новостей внутри?

Архитектура состоит из двух Python-файлов.

Первый, collect_day.py, собирает сырые данные из четырёх источников и выводит один большой JSON. Никакой интерпретации, только факты: дата, имя устройства, метрики времени, счётчики ИИ-сессий, коммиты по проектам, список изменённых файлов.

Второй, make_summary.py, читает этот JSON и отправляет его языковой модели Gemini 2.5 Flash через сервис OpenRouter. Модель пишет содержательную часть: фокус дня, что сделано по проектам, наблюдения, победы, сложности, что попробовать иначе. Промпт (текстовая инструкция для модели) строгий: модель возвращает JSON с фиксированными полями.

Все цифры, часы, проценты, количество коммитов, автор считает программно, минуя языковую модель. ИИ занимается только описанием. Автор подчёркивает: «Цифры должны совпадать с тем что в данных, ни одного знака не должна модель уточнить от себя».

Готовый отчёт собирается в HTML с брендированием компании, рендерится в PDF через headless Chrome (браузер без интерфейса, который умеет «печатать» страницу в файл) и ложится в папку на Яндекс-диске. Имя файла по дате: открыл папку и видишь хронологию.

Как попробовать самому?

  1. Поставьте ActivityWatch на свой компьютер. Приложение бесплатное, работает в фоне. Дайте ему системные разрешения и забудьте.

  2. Если вы работаете с кодом, убедитесь, что ваши ИИ-инструменты пишут журналы сессий в файлы. Claude Code и Codex CLI делают это по умолчанию в формате JSONL.

  3. Составьте список удалённых серверов, на которых вы коммитите напрямую. Для каждого настройте SSH-доступ с ключом (без интерактивного пароля), чтобы скрипт мог собирать git log автоматически. Автор использует параметры BatchMode=yes и ConnectTimeout=8: если сервер недоступен, скрипт молча пропускает его, не ломая весь сбор.

  4. Настройте запуск по расписанию на 22:00 (или позже, через переменную SUMMARY_DAY_END_HOUR). Выходной файл кладите в папку Яндекс-диска, чтобы он синхронизировался автоматически.

Есть ли аналоги в России?

Готового продукта с таким же подходом, четыре источника, детерминированные метрики, ИИ только для описания, на российском рынке автор не упоминает, и мне такой неизвестен. Но отдельные компоненты доступны.

Задача Что использует автор Доступный в РФ вариант
Трекинг активности ActivityWatch ActivityWatch (работает локально, не зависит от региона)
Языковая модель для описания Gemini 2.5 Flash через OpenRouter YandexGPT или GigaChat через API; качество для задачи «опиши мой день по JSON» стоит проверить самостоятельно
Хранение отчётов Яндекс-диск Яндекс-диск (автор и сам его использует)
Сбор коммитов с серверов SSH + git log Работает одинаково на любой инфраструктуре

Для российских разработчиков, работающих с локальной инфраструктурой, подход автора подходит напрямую: сбор коммитов по SSH с удалённых серверов и синхронизация готовых отчётов через API Яндекс-диска не требуют зарубежных сервисов. Единственная внешняя зависимость — языковая модель, и её можно заменить.

Мнение редакции dzen.guru

Подход подкупает честностью инженерного решения. Автор не просит ИИ «вспомнить» или «придумать» рабочий день. Он собирает цифровые следы из четырёх мест, считает метрики сам, а модели отдаёт только то, что она умеет: пересказать структурированные данные человеческим языком. Галлюцинации (когда ИИ уверенно выдумывает то, чего не было) при таком подходе ограничены: модель работает с конкретным JSON, а не с открытым вопросом.

Оговорка: это решение для человека, который умеет писать на Python и настраивать SSH. Автору Дзена или маркетологу без технического фона повторить «как есть» будет сложно. Но идея переносима: даже если вы просто копируете историю браузера и список изменённых файлов в промпт YandexGPT с просьбой «опиши мой рабочий день», результат будет точнее, чем попытка вспомнить вечером.

Что сделать сегодня: поставьте ActivityWatch. Через неделю у вас будет реальная картина, сколько времени вы проводите в каком приложении. Это первый шаг к собственной автосводке новостей рабочего дня, даже без единой строчки кода.

Частые вопросы

Нужно ли уметь программировать, чтобы сделать такую автосводку?

В том виде, как описывает автор, да. Решение состоит из двух Python-скриптов, настройки SSH-доступа к серверам и работы с API языковой модели. Но сам принцип, собрать цифровые следы дня и отдать их ИИ для пересказа, можно реализовать проще: вручную скопировать данные в чат с YandexGPT или GigaChat.

Не опасно ли отправлять рабочие данные в языковую модель?

Автор использует Gemini 2.5 Flash через OpenRouter. В JSON попадают названия проектов, темы коммитов, имена файлов. Если вы работаете с конфиденциальными данными клиентов, стоит либо использовать локальную модель с открытыми весами, либо обезличивать содержимое перед отправкой. Автор эту тему в посте не затрагивает.

Можно ли использовать вместо Gemini российскую модель?

Технически да. Скрипт отправляет JSON и получает JSON в ответ. YandexGPT и GigaChat умеют работать с промптами такого типа. Качество описательной части нужно проверять: задача нетривиальная, модель должна понять контекст разработки и сгруппировать действия по проектам. Автор выбрал Gemini 2.5 Flash как баланс цены и качества, но архитектура позволяет заменить модель одной строкой конфигурации.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

AI-агенты пишут 15% кода Block: как устроен Builderbot и его открытая основа Goose
ai

AI-агенты пишут 15% кода Block: как устроен Builderbot и его открытая основа Goose

Block сделала одну полезную вещь: рассказала не просто «мы используем ИИ-агентов» (ИИ-агент, программа, которая сама выполняет задачи по цепочке, а не ждёт…

5 мин
ai

Google DeepMind описала 4 пути от AGI к ASI: искусственный интеллект ждут барьеры на каждом

Исследователи Google DeepMind 10 июня 2026 года опубликовали отчёт, в котором разобрали четыре конкретных пути перехода от AGI (искусственного общего…

5 мин
Алгоритм MinHash за 30 минут: сжимаем миллиарды векторов до коротких сигнатур
ai

Алгоритм MinHash за 30 минут: сжимаем миллиарды векторов до коротких сигнатур

Алгоритм MinHash (алгоритм минимальных хэшей) позволяет сжать огромный разреженный вектор из нулей и единиц в компактный набор целых чисел, сохранив при этом…

6 мин