别再重复扫描 Claude Code 的转录记录

dev.to 2026-07-29T11:10:54.993205

别再每次重新扫描 Claude Code 的全部记录了

转录监控器可以频繁轮询而不变得昂贵。问题本身不在于定时器,而在于把整个存档当作每次触发的热路径。当开发者积累了数月的 Claude Code 历史记录,每次重新打开每个转录文件、从每个文件里解析尾部内容,会让稳定状态下的工作量与存档大小成正比。这还会带来正确性问题:尾部可能从 JSON 行的中间开始,较早的完成证据可能盖过较新的交接,多个会话可能被压缩成一个全局答案。

将发现与摄取分开

使用轻量级的发现遍历来保留文件标识、大小和修改时间。只有新文件或发生变更的文件才应进入解析队列。对于已知的转录文件,应从其上次完整的字节偏移处继续读取,而不是从头重新读取。

感知追加的游标需要五种行为

只有恢复正确的时候,游标才是一种优化。较小的文件、发生变更的标识或无效的连续读取,应该触发有限范围的重建,而不是静默丢弃记录。

保持状态语义独立于 I/O 节省

少读几个字节并不意味着可以猜测。保留提供者和会话标识,比较有序的时间戳,区分工作、等待、你的回合、错误、完成和过时证据。静默描述新鲜度,但不能证明成功完成。

衡量指标

测量:检查的文件数、读取的字节数、解析失败数、队列深度和扫描耗时。用大型存档进行测试。健康的稳态开销应随变更文件和追加字节而增长,而不是与总历史记录成正比。

Agent Island

Agent Island 是一个免费、开源的状态伴侣工具,适用于 macOS 和 Windows 上的 Claude Code 和 Codex。它读取本地会话记录,显示状态和「你的回合」提醒,无需 Agent Island 账户,也不会将会话数据上传到 Agent Island。

停止重复扫描每个 Claude Code 转录记录

我协助运营 Agent Island;这里有份详细的工程指南:高效监控大型 Claude Code 转录存档。

别再重新扫描每一个 Claude Code 会话记录

查看原文