问题描述
执行 zread generate --draft resume --skip-failed 生成文档时,如果 token
耗尽或中途失败,再次执行会:
- ❌ 创建新的 draft 版本(新 wiki.json,页面大纲重置)
- ❌ 从第 1 页开始重新生成
- ✅ 期望:继续从上次中断的页面生成
复现步骤
zread generate --draft resume --skip-failed 开始生成
- 中途 token 耗尽或强制中断
- 再次执行
zread generate --draft resume --skip-failed
- 观察到从第 1 页重新开始,之前生成的 23 页丢失
根因分析
zread 检测到异常退出后,没有继续使用当前 drafts/ 目录,而是:
- 创建了新的 draft id(如
2026-08-04-151741)
- 重新生成 wiki.json 页面大纲(结构变差)
- 从第 1 页开始覆盖
临时解决方案(用户侧)
已编写防护脚本:
- 生成前自动备份
drafts/ 目录
- 生成后检测页面数是否异常减少
- 异常时自动恢复备份
建议修复方向
- ✅ resume 时优先使用
drafts/ 现有的 wiki.json,不要创建新 draft
- ✅ 通过检测 md 文件是否存在来判断生成进度
- ✅ 异常退出后保留当前 draft 状态
- ✅ 添加
--resume-from <page-number> 参数支持
问题描述
执行
zread generate --draft resume --skip-failed生成文档时,如果 token耗尽或中途失败,再次执行会:
复现步骤
zread generate --draft resume --skip-failed开始生成zread generate --draft resume --skip-failed根因分析
zread 检测到异常退出后,没有继续使用当前
drafts/目录,而是:2026-08-04-151741)临时解决方案(用户侧)
已编写防护脚本:
drafts/目录建议修复方向
drafts/现有的 wiki.json,不要创建新 draft--resume-from <page-number>参数支持