Skip to content

fix(ai): purge deep agent checkpoints by account namespace - #164

Open
qq666666qq wants to merge 1 commit into
LifeArchiveProject:mainfrom
qq666666qq:fix/agent-checkpoint-purge
Open

qq666666qq wants to merge 1 commit into
LifeArchiveProject:mainfrom
qq666666qq:fix/agent-checkpoint-purge

Conversation

@qq666666qq

Copy link
Copy Markdown
Contributor

问题原因与表现

在前端执行“删除当前账号的项目数据”后,AI 对话和运行记录已删除,但 DeepAgents v3 的检查点可能仍留在本地。旧清理逻辑依赖现存的 agent_run 记录拼接检查点 ID:当前格式的 ID 包含对话 ID,旧格式及失去运行记录的孤儿检查点也无法完整覆盖。

结果是已删除账号的部分 AI 运行快照(可能包含处理过程中的聊天内容)仍保存在 deepagents_checkpoints.sqlite3。

修复

  • 删除账号时先阻止新 Agent 执行,取消并等待正在运行的 Agent,避免清理后再次写入。
  • 对 checkpoints 和 writes 按账号命名空间清理,兼容当前格式、旧格式与孤儿记录,并保留其他账号的数据。
  • 补充以上场景的回归测试。

该修复在执行账号删除时生效;不增加启动时全库迁移或 SQLite 文件级安全擦除。

验证

  • python -m pytest tests/test_ai_services.py tests/test_ai_deepagents.py -q:52 passed
  • git diff --check:通过

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant