DeepSeek Harness 源码教程
DEEPSEEK HARNESS · OFFLINE TUTORIAL

09 · Persistence / Compaction

可靠恢复与历史压缩

1. Agent 持久化 ≠ 聊天记录持久化

assistant emits tool call
↓
tool starts
↓
process crashes

恢复时必须区分:工具没开始、已开始但副作用未知、已成功但结果没 flush、结果已持久化但界面没消费。

2. Session 与 Persistence 分工

Session
  │ SessionEvent
  ▼
Persistence seam
  │
  ├─ JSONL
  └─ SQLite

Session 负责“发生了什么”;Persistence 负责“事实怎样可靠保存”。

3. 阅读持久化时重点追

append batching、flush、checkpoint、torn tail、load/replay、interrupted turn、incomplete tool work、repair。

4. Compaction 不能简单删除旧历史

RAW LOG
────────────────
M1
M2
M3
...
M500
...
compaction/start
compaction/summary
checkpoint
...

SURFACE
────────────────
[summary M1..M500]
M501
M502
...
深层思想:不要修改历史;追加一个描述“新解释”的事实。append facts → derive state。