agentplay - 把编码智能体的会话回放成地图与时间线
agentplay 是 Entelligence-AI 开源的本地会话回放工具,读取 Claude Code、Codex、Cursor、Copilot、OpenCode、Kiro 等智能体留在本机的会话记录,生成脱敏后的地图与时间线,用来看清智能体读过什么、改过什么、哪里失败。
agentplay 是一个把编码智能体的会话记录变成可读视图的本地工具。据项目自述,智能体的 transcript 里其实已经记录了它做过的事:编辑某个文件之前读过哪些文件、同一条命令重试了几次、哪个 MCP 服务器出错、上下文窗口在哪里被填满、子智能体返回了什么。这些数据散落在 ~/.claude、~/.codex、~/.cursor 一类目录里,几乎没人回头去看。agentplay 做的事情就是把这些记录解析成一张「会话地图」和一条可播放的时间线,让开发者能回答「它改这个文件之前读了什么」「哪些命令失败了、重试了几次」「这次会话产出了哪些 commit、PR 和工单」这类问题。它适合日常使用编码智能体、希望复盘智能体行为或排查失败原因的开发者,也适合想研究智能体工作方式的人。
维护者与状态
项目由 Entelligence-AI 维护,仓库创建于 2026-10-14,最后一次提交在 2026-10-23。截至 2026-10-23,仓库获得 293 个星标。事实表显示该项目尚无正式 release,也就是说目前没有打出版本号的发行包,使用方式以从仓库或包索引直接运行为主。
主要能力
以下能力均据项目 README 自述,本文未做实际运行验证。
- 会话地图:以放射状树的形式呈现一次会话接触过的所有对象,包括仓库、目录与文件(区分「看到」「读过」「编辑过」)、shell 动词、MCP 服务器与工具、skills、子智能体、网络主机、错误类别、模型,以及产出的 commit、PR、工单。
- 时间线回放:支持 1x、4x、16x 倍速播放,可拖动进度,也可在「步骤轴」和「墙钟时间」之间切换。泳道覆盖提示词、错误、延迟、产出、编辑、探索、MCP、skills、工具、模型、成本、token、子智能体与上下文大小,并标出上下文压缩点。
- 作用域筛选:可以按任务、按模型或按单个子智能体(README 称为 agent lens)重新聚焦整个视图。
- 任务切分:一次会话通常按用户给出的每条提示词切成若干任务,用提示词开头作为标签;据 README 说明,这些标签只存在于本地索引,在查看器加载会话时生成,不会写进地图文件。
- 错误视图:Errors 标签页按类别归组列出会话中的全部错误,并按同一条失败命令的最长连续重试次数排序,点击某一行即可把回放定位到该处。
- 可分享的视图链接:每个视图都对应一个 URL,在同样的数据上运行查看器的人可以通过链接直接打开会话中的某个时刻。
- 键盘操作:空格播放/暂停,方向键单步、Shift 加方向键一次走 10 步,
E、X、D、O、R分别跳到下一个编辑、错误、延迟、产出或重试。
在支持的智能体方面,README 列出了 Claude Code、Codex(CLI 与 IDE)、Cursor(agent CLI 与 IDE composer)、GitHub Copilot CLI、VS Code 中的 GitHub Copilot、OpenCode 与 Kiro,并说明各来源的默认读取路径。其中 Claude Code 的保真度最高,直接读取 JSONL,包含 hooks、压缩、停止原因与延迟;其余多数来源只呈现主泳道,子智能体工作不会单独拆成泳道。README 建议用 agentplay agents 查看本机实际找到了哪些。
使用入口
仓库地址:https://github.com/Entelligence-AI/agentplay;项目主页:https://entelligence.ai/agentplay。
据 README,运行需要 Python 3.11 或更高版本,除标准库外没有运行时依赖。最简方式是一条命令:
uvx agentplay
README 称该命令会找到本机已有的智能体会话,为每个会话构建脱敏回放,并打开本地查看器,无需账号和 API key。也可以用 pipx run agentplay 直接运行,或 pip install agentplay 安装到环境中。从源码构建时需要 make setup、make viewer、make run 三步;Windows 下默认会话目录会被自动发现,make 可在 Git Bash、MSYS2 或 WSL 中使用,README 也给出了不依赖 make 的 PowerShell 等价步骤。查看器构建需要 viewer/package.json 中锁定的 pnpm 10.x 版本,较旧的 pnpm(如 8)会拒绝该 lockfile。若只想单独试用查看器,可在 viewer/ 下运行 pnpm dev,它会加载三个合成的演示会话,也可以把任意 agentplay/v1 文件拖到页面上。
许可与限制
许可证为 Apache-2.0。
README 中写明的限制与边界包括:
- Cursor 的 token 用量未被记录,因此相关统计缺失;部分来源的 token 数据也只在「有记录时」才有。
- 除 Claude Code 外,多数智能体只呈现主泳道,子智能体工作不会拆分为独立泳道。
- 会话数据不出本机:查看器从
127.0.0.1提供服务,不加载远程字体或脚本,也不上传会话或地图。README 说明唯一可能发生的网络请求是用户主动填写邮箱订阅,可用DO_NOT_TRACK=1或AGENTPLAY_NO_NETWORK=1关闭。 - 地图文档按设计不包含提示词文本、助手文本或推理内容,也不含工具输入输出、文件内容与命令参数,shell 命令只记录动词。
- 从源码构建查看器需要 Node 侧工具链与指定版本的 pnpm,属于额外的前置条件。
以上隐私与数据范围描述均来自项目自述,实际行为建议以仓库代码与文档为准。