Devotd Github
新发现AI 智能体

neatlogs/neatroots 4f0b3ad — quiet-run 扫描索引与启动恢复分离

neatlogs/neatroots 在 2026 年 11 月 2 日的提交中为 quiet-run 扫描查询加了索引,并把启动恢复与后台重新确认分离开来。

仓库信息neatlogs/neatroots ↗

neatlogs/neatroots 在 2026 年 11 月 2 日的提交中为 quiet-run 扫描查询加了索引,并把启动恢复与后台重新确认分离开来。

GitHub 项目说明: neatroots: see, check and replay your AI agent's runs on your machine while you build it. Local-first, by Neatlogs.

星标
★ 73
复刻
45
语言
TypeScript
许可证
Apache-2.0
最新版本
v0.2.8
查看原始来源 ↗在 GitHub 查看 ↗

neatroots 是一款在本地运行的 AI 智能体执行记录工具。它可以查看智能体产生的执行并原样重放(replay);其最新提交 4f0b3ad(2026 年 11 月 2 日,#675)同时处理了内部 quiet-run 扫描的查询性能与启动恢复的顺序。quiet-run 扫描的任务是周期性地找出那些没有收到终止信号的执行,将其标记为 interrupted 状态并重新确认。

该提交同时改动了两点。首先,每 60 秒运行一次的扫描查询原本会遍历整个 runs 表,现在改为使用 (status, doctor, complete, updated_ms) 索引。提交信息称,在累积了 10 万条 run 的存储中,耗时从 7.1 毫秒降到 0.52 毫秒。其次,扫描会先用一次快速的数据库遍历认领(claim)待处理的 run,并把重新确认交给后台处理,从而使启动时的恢复(resumeUnfinished)不必为每个旧 run 等待一次模型重新确认。认领上限通过 SQL LIMIT 在查询内部生效,不再采用先读完所有行再截断的方式。

不过,单次扫描同步认领的数量存在上限,因此在长时间停滞期间积累下来的剩余部分会由下一次扫描代为处理。重新确认失败时只留下警告,同一批次的其余部分继续进行;但连恢复也失败的 run 会保持 interrupted 状态,直到下一次扫描将其作为被丢弃的认领回收。已完成的扫描会记录在 runs 表新增的 quiet_sweep_done 列中。性能数字是提交信息中所记的值,未给出许可证和 star 数。测试文件 quiet-run.test.ts 增加了 467 行并同时涵盖失败路径,但整体回归测试是否通过无法仅凭提交信息判断。