BorisovAI
Все проекты

Activity Publisher Botv0.2.1

Windows-бот для автоматической публикации активности разработки в блог. Мониторит Claude Code, Cursor AI, Git-коммиты, генерирует посты через Claude AI с новостями, шутками и обложками. v0.2.1: оптимизация токенов (50-66% экономия LLM-вызовов), система ретроспективы обогащения.

PythonasyncioPyInstallerClaude AIStrapiaiosqlitestructlogpystray

О проекте

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-уведомления о публикациях, иконка в трее с логом активности

Как это работает

  1. Бот запускается и мониторит указанные директории (Claude Code, Cursor, Git)
  2. Новые события фильтруются от секретов и категоризируются через Claude AI
  3. Группируются по проектам с дедупликацией заголовков
  4. Для каждого события генерируется блог-пост с обложкой, новостями и шуткой
  5. Готовый пост публикуется на сайт через Strapi CMS API
  6. Мелкие события накапливаются и выходят как ежедневный дайджест

Установка

  1. Скачайте ZIP-архив
  2. Распакуйте в любую папку
  3. Настройте config.yaml (пути к проектам, API-ключи)
  4. Создайте файл .env с токенами (STRAPI_TOKEN, UNSPLASH_ACCESS_KEY)
  5. Запустите 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

Скриншоты

Activity Publisher Bot

Оцените материал

0/1000