Activity Publisher Botv0.2.1
Windows-бот для автоматической публикации активности разработки в блог. Мониторит Claude Code, Cursor AI, Git-коммиты, генерирует посты через Claude AI с новостями, шутками и обложками. v0.2.1: оптимизация токенов (50-66% экономия LLM-вызовов), система ретроспективы обогащения.
О проекте
Activity Publisher Bot — Windows-приложение для автоматического ведения блога разработчика. Бот непрерывно мониторит активность в IDE и системах контроля версий, собирает события, обогащает их контекстом и публикует готовые посты на сайт через Strapi CMS.
Что нового в v0.2.1
- Оптимизация токенов LLM: системный промпт сжат с 5 предложений до 2 (~100 токенов экономии на вызов). Контент и заголовок генерируются в одном LLM-вызове вместо двух.
- Сокращение LLM-вызовов: было 6 вызовов на заметку — стало 2-3 (экономия 50-66%)
- Опциональная вычитка: proofreading можно отключить в конфиге для экономии токенов
- Система ретроспективы: автоматический сбор метрик каждого цикла обогащения (refusals, swap языков, расход токенов) с агрегацией в insights
- CLAUDE.md: правила проекта для AI-агентов — оптимизация промптов, протокол ретроспективы, конвенции кода
- 57 новых тестов: полное покрытие нового функционала с мокированным LLM
Основные возможности
- Сбор из 4 источников: Claude Code логи, Cursor AI логи, Git-коммиты из всех проектов, буфер обмена
- Инкрементальное чтение логов — обрабатывает только новые данные, не дублируя записи
- Фильтрация секретов: регулярные выражения + энтропийный анализ (порог 4.5) для автоматического удаления токенов, ключей и паролей
- Категоризация через Claude AI: 10 категорий активности (coding, debugging, devops, research и др.)
- Генерация постов: Claude AI создаёт блог-пост с заголовком, вычиткой и адаптацией под формат блога
- Новости по теме: SearXNG находит релевантные новости для каждого поста
- Обложки: автоматический подбор и скачивание изображений через Unsplash API
- Шутки + Wikipedia: программистский юмор и дополнительный контекст из Wikipedia
- Мультиязычность: автоматическая генерация контента на русском и английском языках
- Дайджесты: агрегация мелких событий в единый обзорный пост
- Отложенные позиции: deferred scheduling для коротких сессий, ожидание накопления данных
- System Tray: Windows-уведомления о публикациях, иконка в трее с логом активности
Как это работает
- Бот запускается и мониторит указанные директории (Claude Code, Cursor, Git)
- Новые события фильтруются от секретов и категоризируются через Claude AI
- Группируются по проектам с дедупликацией заголовков
- Для каждого события генерируется блог-пост с обложкой, новостями и шуткой
- Готовый пост публикуется на сайт через Strapi CMS API
- Мелкие события накапливаются и выходят как ежедневный дайджест
Установка
- Скачайте ZIP-архив
- Распакуйте в любую папку
- Настройте
config.yaml(пути к проектам, API-ключи) - Создайте файл
.envс токенами (STRAPI_TOKEN, UNSPLASH_ACCESS_KEY) - Запустите
ActivityPublisherBot.exe
Системные требования
- Windows 10/11
- Интернет-соединение (для Claude AI, SearXNG, Unsplash, Strapi API)
- Claude Code CLI (
npm i -g @anthropic-ai/claude-code) с активной подпиской
Архитектура
Backend: Python 3.12 + asyncio + structlog
LLM: Claude AI (через CLI, модель haiku)
Поиск: SearXNG (self-hosted) для новостей
Изображения: Unsplash API
CMS: Strapi v5 REST API
Хранилище: SQLite (события, дедупликация, буфер дайджестов, ретроспектива)
Сборка: PyInstaller (onedir, portable)
CI/CD: GitLab CI + Windows Runner