# 第四阶段:自动校验与修复 **目标**:确保所有章节完成且字数达标,全程无需用户介入。 --- ## 校验流程 ### 1. 初始化校验 读取 `02-写作计划.json`,将项目 `status` 更新为 `"validating"`。 > 若为子Agent并行/Teams 模式,先确认各批次的状态与章节摘要已合并回 `02-写作计划.json` 和 `99-章节摘要.md`(未合并则先合并),并对每个批次接缝做衔接检查。 ### 2. 逐章检查 对每一章执行以下检查: 1. **文件存在性**:检查 `filePath` 指定的文件是否存在 2. **字数检查**:使用脚本批量检查(`{skillBaseDir}` 为 skill 安装根目录,见 [shared-infrastructure.md](shared-infrastructure.md)): ```bash python {skillBaseDir}/scripts/check_chapter_wordcount.py --all <项目文件夹路径> --json ``` 退出码:0=全部达标,1=有不达标,2=错误。从 `--json` 输出的 `results[]` 读取各章 `word_count` 与 `status` 3. **更新 JSON**:将 `wordCount` 和 `wordCountPass` 写入对应章节记录 ### 3. 汇总结果 - **全部通过**(所有章节文件存在且 `wordCountPass == true`)→ 更新项目 `status` 为 `"completed"`,进入步骤5 - **有不通过** → 进入步骤4 ### 4. 自动修复(最多3轮) 对每个不通过的章节: 1. 将 `status` 设为 `"failed"`,`retryCount` 加 1 2. 回到第三阶段对该章节执行逐章创作流程(写前分析→撰写→润色→收尾) 3. 重写完成后重新检查字数 4. 更新 `02-写作计划.json` 循环规则: - 最多执行 **3轮** 校验-修复循环 - 超过3次仍不合格的章节,保留记录但不阻塞流程 - 所有修复完成后更新项目 `status` 为 `"completed"` ### 5. 完成报告 向用户展示创作完成总结: ``` 📊 《[小说名称]》创作完成 总章数:[X] 章 总字数:[X] 字 完成率:[X]% 各章节状态: ✅ 第1章:[标题]([字数]字) ✅ 第2章:[标题]([字数]字) ... 项目文件夹:./chinese-novelist/[timestamp]-[小说名称]/ ``` 如有不合格章节(超过3次重写仍未通过),在报告中标注: ``` ⚠️ 第X章:字数不足([实际字数]/3000),已重试3次 ```