在终端或浏览器里以实时流程图观看 Claude Code 会话的工具:直播进行中的会话,或像放影片一样回放历史转录。核心能力围绕每个agent一个节点、时间旅行、完整键盘操作展开。Claude Code 的多 subagent 编排过程是个黑盒,用户只能翻 JSONL 日志;zoetrope 把它变成一张可交互的动态图。作者展示了扎实的 Rust 工程:ratatui 终端 UI、自研 rataflow 图组件、经 ratzilla 编译 WASM 的网页版即开即用。

| 项目 | 内容 |
|---|---|
| 仓库 | furkankly/zoetrope |
| 语言 / 许可证 | Rust / MIT |
| 总星标 | ⭐ 565(截至 2026-08-26) |
| 创建时间 | 2026-08-18 |
| 榜单 | 近30天新星榜 第42名 |
在终端或浏览器里以实时流程图观看 Claude Code 会话的工具:直播进行中的会话,或像放影片一样回放历史转录。
Claude Code 的多 subagent 编排过程是个黑盒,用户只能翻 JSONL 日志;zoetrope 把它变成一张可交互的动态图。作者展示了扎实的 Rust 工程:ratatui 终端 UI、自研 rataflow 图组件、经 ratzilla 编译 WASM 的网页版即开即用。"只读、数据不出本机、依赖树零 HTTP 客户端且可用 cargo tree 验证"的安全表述也让技术圈好感倍增。
核心思想是把转录当作追加式事件日志:逐行防御性解析后折叠进模型,模型是"迄今所见事实"的纯函数,因此向后 seek 是精确重现而非近似猜测;父子关系依据 transcript 字段而非字符串启发式。分层清晰:无 IO 的可移植核心可编译到 WASM;原生前端为 zoe 二进制;浏览器前端是独立 crate zoetrope-web,两者仅 IO 与事件循环不同。双时钟设计将内容时间与会话自身时间戳绑定,呈现时间归播放头控制。
macOS/Linux 用 Homebrew:`brew install furkankly/tap/zoetrope`;Rust 用户可 `cargo install zoetrope`;Release 提供 macOS/Linux/Windows 预编译二进制;不想安装可直接访问 zoetrope.furkankly.dev 浏览器版。只需本机有 Claude Code 会话目录即可。
`zoe` 直接跟随当前项目最新 live session;`zoe
所读 JSONL 属 Claude Code 未公开内部格式,策略是降级不崩溃:跳过未知记录、缺失字段兜底。贡献须遵循 Conventional Commits,changelog 由 git-cliff 自动生成;WASM 前端不在根 workspace,需独立脚本编译。docs/DESIGN.md 与 ARCHITECTURE.md 详述模块地图与架构不变量。
生态内的会话工具多为静态导出器或日志 tail;zoetrope 主打"流程图 + 时间旅行 + 直播合一",且同一套代码同时覆盖 TUI 与 Web 双端。对使用 OpenCode/Codex 等其他 CLI 的用户暂不适用,属其边界所在。