Storage

SDK Session 布局

本地 SDK Agent 的 session 为什么会落在 .downcity/agents/<agentId>/... 下

SDK Session 布局

SDK 本地 Agent 的 session 默认落盘到:

<projectRoot>/.downcity/agents/<agentId>/sessions/<sessionId>/messages/messages.jsonl

为什么有 agentId

因为同一个项目目录中,可能同时存在多个 SDK Agent。

agentId 用来隔离它们的 session 数据。

你能在这里看到什么

  • messages.jsonl
  • inflight.json
  • meta.json
  • archive 目录

meta.json 中包含持久化 title。首条用户消息出现后,SDK 会写入标题;如果模型标题生成失败,就使用首条用户消息的截断文本。

inflight.json 用来保存当前还在生成中的 assistant UIMessage 快照。这样在多 step tool 执行过程中,即使中途中断,也不会把已经产生的 text / tool parts 全部丢掉。运行完成后,SDK 会把最终 assistant 收口进 messages.jsonl,并清理 inflight.json

当你在做多 session 或多 agent 调试时,这套目录结构会非常关键,因为它决定了不同执行单元之间的数据隔离方式。

相关文档