zoetrope CLI
Рисует сессию Claude Code или Codex как граф с агентами и вызовами инструментов, показывает ее вживую или в записи
- 1 142 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- Только читает журналы сессий, ничего не пишет и не ходит в сеть
- Журналы содержат промпты и вывод команд, поэтому не передавайте открытые записи третьим лицам
Установка
- Работает в
Ручная установка
brew install furkankly/tap/zoetropeПодходит для macOS и Linux. Программа запускается командой zoe.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Только читает журналы сессий, ничего не пишет и не ходит в сеть
- Журналы содержат промпты и вывод команд, поэтому не передавайте открытые записи третьим лицам
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
zoetrope читает журнал сессии Claude Code или Codex и превращает его в граф прямо в терминале. На графе виден главный агент, субагенты, которых он запустил, и инструменты каждого из них. Блок агента показывает статус, текущий инструмент, число вызовов и выходные токены, а вызовы повисают чипами под карточкой и получают отметку успеха или ошибки. Запущенную сессию zoetrope отслеживает вживую. Законченную проигрывает с темпом, который задают метки времени самой сессии, и скорость меняется флагом `--speed`. По шкале времени можно перематывать назад: агенты снова становятся незавершенными, счетчики вызовов уменьшаются, граф сжимается до состояния на выбранный момент. Клик по агенту открывает промпт, который его породил, модель и все вызовы с таймингами. Программа запускается командой `zoe`. Команда `zoe inspect` печатает дерево сессии без интерфейса, поэтому ее можно вызвать в скрипте или по SSH. Та же программа, собранная в WebAssembly, работает в браузере: журнал открывают с диска или перетаскивают на страницу, и он остается на вашем компьютере.
Для кого. Для разработчиков, которые запускают Claude Code или Codex с субагентами и хотят видеть, кто что делал и почему сессия растянулась.
Подходит, если
- Claude Code запустил несколько субагентов, и по журналу в текстовом виде не понять, какой из них потратил время и токены
- Нужно разобрать законченную сессию Codex по шагам: `zoe <файл.jsonl>` проиграет ее с темпом оригинала
- Вы ведете долгую задачу и хотите следить за ней сбоку, не мешая агенту: `zoe` без аргументов подключается к текущей сессии проекта
- Для отчета нужно показать дерево агентов без интерфейса: `zoe inspect <файл или id>` выводит его в консоль
- Вы работаете в мультиплексоре Herdr и хотите открывать граф сессии из панели с агентом одной клавишей
Не подходит, если
- Вам нужен подсчет стоимости по токенам и дням: zoetrope рисует структуру сессии и стоимость не считает
- Вы пользуетесь другим агентом, например Gemini CLI или Cursor: формат журнала распознается только у Claude Code и Codex
- Нужен инструмент, который меняет ход сессии: zoetrope только читает журнал и ничего не отправляет агенту
Пример запроса к агенту
Поставь zoetrope и покажи граф моей последней сессии Claude Code с субагентамиОграничения
- Форматы журналов Claude Code и Codex не документированы и могут измениться без предупреждения. zoetrope пропускает незнакомые записи, но новый релиз агента способен испортить отображение, тогда автор просит завести issue.
- Поддержаны два агента: Claude Code и Codex, причем у Codex читаются журналы и CLI, и настольного приложения.
- Сборка из исходников требует набор инструментов Rust. Homebrew и готовые бинарники для macOS, Linux и Windows этого не требуют.
Как отключить. zoetrope не прописывает хуков и ничего не меняет в настройках агентов, поэтому достаточно удалить программу: `brew uninstall zoetrope` для Homebrew или `cargo uninstall zoetrope` для установки через Cargo. Готовый бинарник `zoe` можно просто убрать из PATH.
Частые вопросы
Как посмотреть сессию Claude Code в виде графа?
Установите zoetrope и запустите `zoe` в папке проекта. Без аргументов программа находит самую свежую сессию проекта и следит за ней вживую. Конкретную запись открывает `zoe <файл.jsonl>`, а по идентификатору сессии или его началу ее находит `zoe <id>`.
Работает ли zoetrope с Codex?
Да, Codex CLI и приложение Codex поддержаны наравне с Claude Code: журналы берутся из `~/.codex/sessions/`. Формат zoetrope определяет по содержимому файла, а флаг `--provider codex` включает его принудительно.
Уходят ли данные сессии в сеть?
Нет. По словам автора, в дереве зависимостей нет HTTP-клиента, а tokio подключен без возможности `net`, и это проверяется командой `cargo tree`. Браузерная версия тоже читает журнал локально.
Как ускорить или замедлить проигрыш записи?
Задайте скорость флагом `--speed`, например `zoe <файл.jsonl> --speed 16`. По умолчанию значение равно 8.0. Клавиша `s` включает сжатие пауз, а `space` ставит проигрыш на паузу.
Можно ли открыть сессию, не устанавливая программу?
Можно. Страница zoetrope.furkankly.dev/app запускает ту же программу в браузере через WebAssembly. Перетащите на нее журнал сессии, и граф откроется без установки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыПросмотр журналов Claude Code в читаемом виде: вызовы инструментов, токены и живой хвост сессии.
agentplay превращает локальные сессии Claude Code, Codex и Cursor в карту файлов и таймлайн с повтором шагов.
Три плагина для Claude Code: оркестратор savvy-flow с субагентами по уровням и два мода с панелью прогресса и таймером кэша
Монитор сессий Claude Code, Cursor, Codex и еще шести агентов в терминале, окне или через HTTP API, с чисткой и поиском по чатам
Терминальный клиент claude-rs на Rust для Claude Code: сессия остается в истории терминала, вывод не мерцает, работает в tmux.
Десктопное GUI-приложение для Claude Code: управление сессиями, кастомные агенты и панель расходов на токены
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| zoetrope (эта карточка) | нет | 1 142 | |
| opcode | нет | 22 433 | графическое приложение для управления сессиями Claude Code, граф субагентов в терминале оно не рисует |
| Coding Agent Session Search (cass) | нет | 1 200 | ищет по истории сессий разных агентов, структуру одной сессии оно не рисует |
Коротко о README
Страница репозитория сразу показывает три способа установки: Homebrew, Cargo и готовые бинарники. Дальше идут таблица поддержанных агентов, описание плагина для Herdr, список команд запуска и раздел о том, что умеет граф, перемотка и панель сведений об агенте. Закрывают страницу принципы устройства: ядро без ввода-вывода, которое собирается и под WebAssembly, предупреждение о недокументированных форматах журналов и правила для вкладов.