# 2026-08-13:AgentState 与待答交互持久化
# 目标
保留 JSONL 会话历史兼容性,同时为可演进状态和浏览器刷新后的待答表单提供持久化。
# 变更
- 新增
AgentState旁车文件agent-state.json,保存摘要、权限规则、任务和待答交互; SessionStore在上下文压缩后同步摘要,并提供待答交互保存/清理接口;ask_user触发时保存requestId、toolCallId、表单 payload、过期时间;- 新增
GET /api/interactions/pending;前端进入/切换会话时恢复待答卡; - 服务重启时以
resumable: false明示不可继续,避免伪恢复。
# 验证
mvn -pl pi-agent-v1 test通过;web/npm run build通过(保留原有大包告警);- Mock API 已验证:触发 → pending 查询 → 提交 → pending 清理。
# 边界
当时的实现仍依赖 JVM 内的 Future 等待;服务重启后无法继续原 Agent 调用。下一次迭代应以可持久化暂停/继续状态机消除该限制。