feat/agent-trace-persistence
main
第一阶段 Agent Run 和 Event 只保存在进程内存中。服务重启后历史运行记录会丢失,SSE 连接中断后也无法从指定位置继续消费事件,无法满足第二阶段 Agent Trace 可视化和 Benchmark 对稳定运行事实的需求。
本次改动将 Agent Run/Event 接入 SQLite,并建立可分页、可恢复、可供前端与 Benchmark 共用的 Trace 数据链路。
AgentTraceRepository
agent_runs
agent_events
run_id + sequence
AGENT_PROCESS_RESTARTED
id: sequence
Last-Event-ID
after_sequence
TRACE_CURSOR_INVALID
新增:
GET /api/agent/runs/{run_id}/trace
支持:
limit
next_sequence
has_more
新增事件:
ModelCallStarted
ModelCallCompleted
ModelCallFailed
PermissionResolved
Tool Call 和 Tool Result 增加:
parent_model_call_id
duration_ms
sk-
AgentTraceResponse
将 docs 按用途拆分为:
docs
architecture
contracts
development
guides
retrospectives
同时新增:
仓库内旧文档路径和交叉引用均已更新。
本次新增 v3 migration,只增加 Agent Trace 相关表和索引,不删除或修改现有 Note、Block、Task、FTS 和 Vector 数据。
backend compileall passed backend pytest 81 passed frontend vitest 11 files / 27 tests passed frontend type-check passed frontend build passed Markdown links passed git diff --check passed
本分支基于当前 main,没有分叉或合并冲突。相关测试、类型检查、生产构建和文档检查均已通过,建议合并。
No dependencies set.
The note is not visible to the blocked user.
背景
第一阶段 Agent Run 和 Event 只保存在进程内存中。服务重启后历史运行记录会丢失,SSE 连接中断后也无法从指定位置继续消费事件,无法满足第二阶段 Agent Trace 可视化和 Benchmark 对稳定运行事实的需求。
本次改动将 Agent Run/Event 接入 SQLite,并建立可分页、可恢复、可供前端与 Benchmark 共用的 Trace 数据链路。
主要改动
Agent Trace 持久化
AgentTraceRepositoryagent_runsagent_eventsrun_id + sequence作为事件幂等键AGENT_PROCESS_RESTARTEDSSE 断点恢复
id: sequenceLast-Event-ID请求头after_sequence查询参数TRACE_CURSOR_INVALIDTrace 接口
新增:
支持:
after_sequencelimitnext_sequencehas_moreAgent Event 扩展
新增事件:
ModelCallStartedModelCallCompletedModelCallFailedPermissionResolvedTool Call 和 Tool Result 增加:
parent_model_call_idduration_ms持久化安全与完整性
sk-和 Bearer 内容入库前脱敏前端契约
AgentTraceResponse和统计 DTO文档整理
将
docs按用途拆分为:architecturecontractsdevelopmentguidesretrospectives同时新增:
仓库内旧文档路径和交叉引用均已更新。
数据库影响
本次新增 v3 migration,只增加 Agent Trace 相关表和索引,不删除或修改现有 Note、Block、Task、FTS 和 Vector 数据。
验证结果
已知边界
合并建议
本分支基于当前
main,没有分叉或合并冲突。相关测试、类型检查、生产构建和文档检查均已通过,建议合并。