Как я написал инструмент, который превращает мои сессии с Claude Code в сад бонсай
Привет всем!
Решил поделиться небольшим проектом, который изначально собирал под себя. Последнее время я много сижу в Claude Code. Со временем поймал себя на мысли, что мне не хватает наглядности. Вся история взаимодействия, контекст сессий и куча потраченного времени просто растворяются в консоли после закрытия терминала.
Вместо очередного дашборда со скучными графиками я решил превратить историю работы в своеобразный визуальный таймлайн, который наглядно показывает твой прогресс. Так получился Bonsai — локальный визуализатор для Claude Code.
Что умеет
Проект решает несколько простых задач:
Сканирует локальные логи Claude Code и собирает их в интерактивное дерево сессий.
Считает общее время работы и выводит твой текущий streak — серию дней активного кодинга с AI.
Показывает подробную статистику по каждой сессии прямо в браузере.

Как устроено
Под капотом всё просто. Бэкенд: Python 3.11+ с aiohttp для HTTP и SSE, сборка через hatchling, пакетный менеджер uv. Хранилище: SQLite из stdlib. Фронтенд: один HTML‑файл с vanilla JS и inline SVG, без бандлера и фреймворков.
Hook‑client (то, что Claude Code вызывает на каждом событии) написан на чистой стандартной библиотеке — без зависимостей, p99 cold‑start ~63ms, чтобы не тормозить агента.
Дизайн
Делал в эстетике тёплых бежевых и тёмных тонов с оранжевыми акцентами. Есть светлая и тёмная темы, можно переключить любую тему дерева вручную.

Проект полностью открытый (MIT). Если вы тоже активно используете Claude Code в повседневной разработке и хотите видеть свой реальный прогресс — заглядывайте, пробуйте.