Session 持久化 · 审计链 · 断点续跑与回放

Session 持久化 · 审计链 · 断点续跑与回放 由 Archify 生成的架构图。 AgentRuntime · 事件源 · MODEL/TOOL 调用 · 架构组件 AgentRuntime 事件源 · MODEL/TOOL 调用 IoCapture 录制 · IoCaptureAgentListener + Sink · 架构组件 · replay IoCapture 录制 IoCaptureAgentListener + Sink replay AgentSession · 上下文 · memory · 状态 · 架构组件 AgentSession 上下文 · memory · 状态 AgentSessionEventLog · HashChainedEventLog · sha256 链 · 架构组件 · audit AgentSessionEventLog HashChainedEventLog · sha256 链 audit AgentSessionStore · save · load · delete · list · 持久化层(snapshot 为唯一恢复载体) · persist AgentSessionStore save · load · delete · list persist 存储后端 · InMemory / File / JDBC · 持久化层(snapshot 为唯一恢复载体) · persist 存储后端 InMemory / File / JDBC persist ResumeCache · prompt/tool 键 → 已完成结果 · 续跑包装与缓存 · replay ResumeCache prompt/tool 键 → 已完成结果 replay Resumable 包装 · ModelClient · ToolExecutor · 续跑包装与缓存 · replay Resumable 包装 ModelClient · ToolExecutor replay NodeReplayer · live 真调 / mock 确定性 · 架构组件 · replay NodeReplayer live 真调 / mock 确定性 replay ① 事件 append ② IO 捕获(listener) ③ snapshot save/load 三后端 NodeIoRecord 落盘 ④ 命中→跳过调用 ⑤ 记录→live/mock live 重放真实调用 持久化层(snapshot 为唯一恢复载体) 续跑包装与缓存 图例 后端 数据库 消息总线

快照即 checkpoint

  • • AgentSessionStore.save/load/delete/listSessionIds——以 AgentSessionSnapshot 为载体整体存取(AgentSessionStore.java:8-16)
  • • InMemoryAgentSessionStore / FileAgentSessionStore / JdbcAgentSessionStore 三后端;Coding 侧另有 CodingSessionCheckpoint 格式化器

哈希链审计

  • • HashChainedEventLog:hash=sha256(prevHash|canonical(event)) 前向链接;verifyChain 从 genesis 重算定位首个不一致 link
  • • 实现 AgentSessionEventLog + AgentListener 双面,可原位替换 InMemoryAgentSessionEventLog 获得可审计能力

续跑与回放的区别

  • • 续跑(crash-resume):ResumableModelClient/ToolExecutor 先查 ResumeCache,命中即返回已完成结果——跳过已执行节点
  • • 回放(replay):NodeReplayer.replayModelLive 真调模型重跑;replayModelMock 用捕获输出确定性重现,不发请求