转录监视器可以频繁轮询而不会产生高昂成本。问题不在于定时器本身,而在于每次滴答时将整个归档视为热路径。
当开发者拥有数月的 Claude 代码历史记录时,重新打开每个转录文件并从每个文件中解析尾部数据,会使稳态工作量与归档大小成正比。这还会带来正确性风险:尾部读取可能从 JSON 行的中间开始,较旧的完成证据可能优先于较新的交接记录,且多个会话可能被合并为一个全局答案。
将发现与摄入分离
使用轻量级的发现阶段来保留文件标识、大小和修改时间。只有新增或变更的文件才应进入解析队列。已知的转录文件应从其最后一个完整的字节偏移量处恢复,而不是从头重新读取。
一个支持追加感知的游标需要具备五种行为:
- 保留每个转录文件的最后一个完整偏移量;
- 当文件增大时,仅读取追加的范围;
- 将不完整的尾行带入下一次读取;
- 检测截断或替换并安全地重新引导;
- 为确切会话保留最新的语义证据。
只有在恢复正确的情况下,游标才是一种优化。如果文件变小、身份变更或续传无效,应触发有限制的重建,而不是静默丢弃记录。
保持状态语义与输入/输出节省独立
读取更少的字节并不能成为猜测的理由。应保持提供者和会话身份,比较有序的时间戳,并区分工作中、等待中、轮到你、错误、已完成和过时的证据。沉默描述的是新鲜度;它并不能证明成功完成。
衡量检查的文件数量、读取的字节数、解析失败次数、队列深度和扫描持续时间。使用大型归档进行测试。健康的稳态成本应随变更文件和追加字节数扩展,而非随历史总量扩展。
Agent Island 是一款适用于 macOS 和 Windows 系统的 Claude 代码和 Codex 的免费开源状态 companion 工具。它读取本地会话记录以显示状态和“轮到你”提醒,无需 Agent Island 账户,也不会将会话数据上传至 Agent Island。我参与运营 Agent Island;详细的工程指南如下:
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。