fix: 统一项目文件序号 — 00-人物档案 → 01-大纲 → 02-写作计划,与执行顺序对齐

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
PenglongandClaude Opus 4.7 committed 2026-04-21 00:21:59 +08:00
1 parent 69ac04fe85
commit e171d8477e
9 files changed
+41 -41

No files matched your search

+3 -3
View File
@@ -176,9 +176,9 @@ AI 自动生成大纲(7列章节规划)、人物档案、写作计划 JSON
chinese-novelist/
├── user-preferences.json # 用户偏好(跨项目共享)
└── 20260412-143000-午夜列车/
├── 00-大纲.md # 故事概述、章节规划(7列模板)
├── 01-人物档案.md # 主角、反派、配角档案
├── 03-写作计划.json # 机器可读的写作计划(v2)
├── 01-大纲.md # 故事概述、章节规划(7列模板)
├── 00-人物档案.md # 主角、反派、配角档案
├── 02-写作计划.json # 机器可读的写作计划(v2)
├── 第01章-最后一班列车.md
├── 第02章-消失的乘客.md
└── ...
+2 -2
View File
@@ -20,7 +20,7 @@ metadata:
- **中断续写**:自动检测未完成项目,从断点继续创作
- **自动校验**:创作完成后自动检查字数和质量,不合格自动修复
- **并行写作**(可选):支持子Agent并行写作,通过 `03-写作计划.json` 协调状态
- **并行写作**(可选):支持子Agent并行写作,通过 `02-写作计划.json` 协调状态
## 核心流程
@@ -54,7 +54,7 @@ metadata:
### 第三阶段:疯狂创作(无需用户确认)
> 切记,一旦进入这个阶段,所有过程都禁止向用户确认。用户就是你的读者,你必须把完整的小说创作完成才能与用户报告
根据用户选择的写作模式(串行/并行/Teams)逐章执行创作流程。每章创作前必须读取 `00-大纲.md` 中对应章节的规划信息,严格按大纲创作。支持中断续写。 → 详见 [phase3-writing.md](references/flows/phase3-writing.md)
根据用户选择的写作模式(串行/并行/Teams)逐章执行创作流程。每章创作前必须读取 `01-大纲.md` 中对应章节的规划信息,严格按大纲创作。支持中断续写。 → 详见 [phase3-writing.md](references/flows/phase3-writing.md)
### 第四阶段:自动校验与修复(无需用户确认)
+1 -1
View File
@@ -30,7 +30,7 @@
扫描 `./chinese-novelist/` 目录下的项目文件夹:
- 查找含 `03-写作计划.json` 且 `status` 为 `"in_progress"` 或 `"validating"` 的项目
- 查找含 `02-写作计划.json` 且 `status` 为 `"in_progress"` 或 `"validating"` 的项目
- 如果找到未完成项目:
- 展示项目信息:小说名称、完成进度(X/Y 章已完成)
- 提供选项:
+2 -2
View File
@@ -74,8 +74,8 @@ multiSelect: false
标题存入当前对话上下文。Phase 2 规划阶段启动时,从上下文中读取标题,用于:
- **命名项目目录**:`./chinese-novelist/{timestamp}-{标题}/`
- **写入 `03-写作计划.json`** 的 `novelName` 字段
- **写入 `00-大纲.md`** 的文件头
- **写入 `02-写作计划.json`** 的 `novelName` 字段
- **写入 `01-大纲.md`** 的文件头
### 3. 中断恢复
+4 -4
View File
@@ -5,9 +5,9 @@
执行以下步骤:
1. **创建项目文件夹**:`./chinese-novelist/{YYYYMMDD-HHmmss}-{Layer 3 确认的标题}/`(相对当前工作目录,使用用户在 Layer 3 选定的小说标题)
2. **生成人物档案**:创建 `01-人物档案.md`,使用 [character-template.md](../guides/character-template.md) 模板,参考 [character-building.md](../guides/character-building.md) 创建主角、反派、配角档案。**人物档案必须详细**:每个角色的性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、背景故事都要具体到可以直接指导写作的程度
3. **生成大纲**:创建 `00-大纲.md`,使用 [outline-template.md](../guides/outline-template.md) 模板,参考 [plot-structures.md](../guides/plot-structures.md) 填入完整的章节规划。**大纲必须以人物驱动情节**:每章的核心事件应源自角色的性格缺陷、恐惧或内心渴望;悬念设计应利用角色之间的关系和矛盾。在写大纲时反复参照 `01-人物档案.md`,确保情节服务于人物成长弧线
4. **生成写作计划**:创建 `03-写作计划.json`,基于大纲内容填充,结构如下:
2. **生成人物档案**:创建 `00-人物档案.md`,使用 [character-template.md](../guides/character-template.md) 模板,参考 [character-building.md](../guides/character-building.md) 创建主角、反派、配角档案。**人物档案必须详细**:每个角色的性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、背景故事都要具体到可以直接指导写作的程度
3. **生成大纲**:创建 `01-大纲.md`,使用 [outline-template.md](../guides/outline-template.md) 模板,参考 [plot-structures.md](../guides/plot-structures.md) 填入完整的章节规划。**大纲必须以人物驱动情节** 参照 `00-人物档案.md`,确保情节服务于人物成长弧线
4. **生成写作计划**:创建 `02-写作计划.json`,基于大纲内容填充,结构如下:
```json
{
"version": 1,
@@ -52,6 +52,6 @@ Options:
```
用户选择后:
- 更新 `03-写作计划.json` 的 `writingMode` 字段
- 更新 `02-写作计划.json` 的 `writingMode` 字段
- 更新 `status` 为 `"in_progress"`
- 进入第三阶段:疯狂创作 → 详见 [phase3-writing.md](phase3-writing.md)
+20 -20
View File
@@ -7,7 +7,7 @@
## 0. 启动检测与模式读取
开始创作前:
1. 读取 `03-写作计划.json`
1. 读取 `02-写作计划.json`
2. 读取 `writingMode` 字段,进入对应模式流程
3. 如果存在 `status: "in_progress"` 的章节 → 从该章节继续(中断续写)
4. 如果所有章节 `status: "pending"` → 从第 1 章开始
@@ -21,14 +21,14 @@
### 步骤 1: 写前分析(必须执行)
1. 读取 `03-写作计划.json` — 查看各章节状态,确定下一个待创作章节
2. **读取 `00-大纲.md`** — 找到当前章节的规划信息,提取:核心事件、承接上章、悬念钩子、出场人物、场景列表
2.5. **读取 `01-人物档案.md`** — 根据大纲中本章的「出场人物」列表,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
3. 更新 `03-写作计划.json` — 将本章 `status` 设为 `"in_progress"`
1. 读取 `02-写作计划.json` — 查看各章节状态,确定下一个待创作章节
2. **读取 `01-大纲.md`** — 找到当前章节的规划信息,提取:核心事件、承接上章、悬念钩子、出场人物、场景列表
2.5. **读取 `00-人物档案.md`** — 根据大纲中本章的「出场人物」列表,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
3. 更新 `02-写作计划.json` — 将本章 `status` 设为 `"in_progress"`
### 步骤 2: 撰写
4. 创建章节文件 — 文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `03-写作计划.json` 中的 `title` 字段),使用 [chapter-template.md](../guides/chapter-template.md) 模板
4. 创建章节文件 — 文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `02-写作计划.json` 中的 `title` 字段),使用 [chapter-template.md](../guides/chapter-template.md) 模板
5. **基于大纲规划创作** — 严格按照大纲中本章的核心事件和场景列表撰写正文
5.5. **撰写章首引子** — 按大纲中本章的章首引子类型,参考 [hook-techniques.md](../guides/hook-techniques.md)「章首引子七式」,创作 50-150 字的引子文字
6. 撰写正文 — **每章必须达到 3000-5000 字**
@@ -57,8 +57,8 @@
### 步骤 4: 收尾
12. 生成章节摘要 — 在 `00-大纲.md` 的章节摘要区追加(300-500字,保证连贯性参考)
13. 更新 `03-写作计划.json` — 将本章 `status` 设为 `"completed"`,填入 `wordCount`
12. 生成章节摘要 — 在 `01-大纲.md` 的章节摘要区追加(300-500字,保证连贯性参考)
13. 更新 `02-写作计划.json` — 将本章 `status` 设为 `"completed"`,填入 `wordCount`
---
@@ -69,14 +69,14 @@
### 自驱循环
```
WHILE 03-写作计划.json 中存在 status != "completed" 的章节:
WHILE 02-写作计划.json 中存在 status != "completed" 的章节:
执行「逐章创作流程」(步骤 1-4)
⚠️ 完成一章后,立即读取 JSON 认领下一章,不要向用户确认,不要停下来
所有章节完成 → 进入第四阶段:自动校验
```
**关键提醒(每章完成后必须遵守)**:
> 本章已完成。立即读取 `03-写作计划.json`,认领下一个 pending 章节,开始下一章创作。不要使用 AskUserQuestion,不要向用户确认,不要停下来。你必须把所有章节创作完成才能与用户报告。
> 本章已完成。立即读取 `02-写作计划.json`,认领下一个 pending 章节,开始下一章创作。不要使用 AskUserQuestion,不要向用户确认,不要停下来。你必须把所有章节创作完成才能与用户报告。
---
@@ -106,11 +106,11 @@ WHILE 03-写作计划.json 中存在 status != "completed" 的章节:
- 你负责的章节: 第 {start} 章 到 第 {end} 章
## 创作步骤(对每一章依次执行)
1. **首先读取 {projectPath}/00-大纲.md**,找到当前章节的规划信息(核心事件、承接上章、悬念钩子、出场人物、场景列表)
1.5. **读取 {projectPath}/01-人物档案.md**,根据大纲中本章的「出场人物」,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
2. 读取 03-写作计划.json,确认章节状态
1. **首先读取 {projectPath}/01-大纲.md**,找到当前章节的规划信息(核心事件、承接上章、悬念钩子、出场人物、场景列表)
1.5. **读取 {projectPath}/00-人物档案.md**,根据大纲中本章的「出场人物」,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
2. 读取 02-写作计划.json,确认章节状态
3. 将当前章节 status 更新为 "in_progress"
4. 创建章节文件,文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `03-写作计划.json` 的 `title` 字段),基于大纲规划撰写正文(3000-5000字)
4. 创建章节文件,文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `02-写作计划.json` 的 `title` 字段),基于大纲规划撰写正文(3000-5000字)
5. 按大纲中的章首引子类型,参考 hook-techniques.md「章首引子七式」创作章首引子(50-150字)
6. 正文开头第一段必须使用 chapter-guide.md 十种开头技巧之一
7. 全章至少 2 个张力波峰,连续 500 字以上无冲突必须引入新张力
@@ -121,7 +121,7 @@ WHILE 03-写作计划.json 中存在 status != "completed" 的章节:
7. 运行字数检查: python scripts/check_chapter_wordcount.py <文件路径>
8. 深度润色(去除AI味)
9. 再次字数检查
10. 在 00-大纲.md 追加 300-500 字章节摘要
10. 在 01-大纲.md 追加 300-500 字章节摘要
11. 更新 status → "completed",填入 wordCount
12. 立即继续下一章
@@ -168,12 +168,12 @@ WHILE 03-写作计划.json 中存在 status != "completed" 的章节:
## 工作流程
1. 从 TaskList 读取可用任务
2. 使用 TaskUpdate 认领任务(设置 owner 为你的名字)
3. **首先读取 {projectPath}/00-大纲.md**,找到该章节的规划信息(核心事件、承接上章、悬念钩子、出场人物、场景列表)
3.5. **读取 {projectPath}/01-人物档案.md**,根据大纲中本章的「出场人物」,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
4. 读取 03-写作计划.json,获取该章节状态
3. **首先读取 {projectPath}/01-大纲.md**,找到该章节的规划信息(核心事件、承接上章、悬念钩子、出场人物、场景列表)
3.5. **读取 {projectPath}/00-人物档案.md**,根据大纲中本章的「出场人物」,提取每个出场角色的:性格核心、致命缺陷、说话风格/口头禅、恐惧/弱项、与其他角色的关系
4. 读取 02-写作计划.json,获取该章节状态
5. 执行逐章创作流程:
a. 更新 status 为 "in_progress"
b. 创建章节文件,文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `03-写作计划.json` 的 `title` 字段),基于大纲规划撰写正文(3000-5000字)
b. 创建章节文件,文件名格式:`第{XX}章-{章节标题}.md`(标题来自 `02-写作计划.json` 的 `title` 字段),基于大纲规划撰写正文(3000-5000字)
c. 按大纲中的章首引子类型,参考 hook-techniques.md「章首引子七式」创作章首引子(50-150字)
d. 正文开头第一段必须使用 chapter-guide.md 十种开头技巧之一
e. 全章至少 2 个张力波峰,连续 500 字以上无冲突必须引入新张力
@@ -184,7 +184,7 @@ WHILE 03-写作计划.json 中存在 status != "completed" 的章节:
e. 字数检查: python scripts/check_chapter_wordcount.py <文件路径>
f. 深度润色(去除AI味)
g. 再次字数检查
h. 在 00-大纲.md 追加章节摘要
h. 在 01-大纲.md 追加章节摘要
i. 更新 status → "completed",填入 wordCount
6. 使用 TaskUpdate 标记任务完成
7. 回到 TaskList 认领下一个任务
+2 -2
View File
@@ -8,7 +8,7 @@
### 1. 初始化校验
读取 `03-写作计划.json`,将项目 `status` 更新为 `"validating"`。
读取 `02-写作计划.json`,将项目 `status` 更新为 `"validating"`。
### 2. 逐章检查
@@ -33,7 +33,7 @@
1. 将 `status` 设为 `"failed"`,`retryCount` 加 1
2. 回到第三阶段对该章节执行逐章创作流程(写前分析→撰写→润色→收尾)
3. 重写完成后重新检查字数
4. 更新 `03-写作计划.json`
4. 更新 `02-写作计划.json`
循环规则:
- 最多执行 **3轮** 校验-修复循环
+6 -6
View File
@@ -59,7 +59,7 @@
### 错误恢复
- **回退修改**:用户随时可说"回到QX"、"修改XX",AI 回退到指定问题重新询问
- **中途暂存**:通过 `03-写作计划.json` 实现自动暂存;下次触发SKILL时 Phase 0 自动检测未完成项目,询问"继续上次的《XXX》?"
- **中途暂存**:通过 `02-写作计划.json` 实现自动暂存;下次触发SKILL时 Phase 0 自动检测未完成项目,询问"继续上次的《XXX》?"
- **偏好文件损坏**:JSON解析失败时忽略偏好,使用默认值,并在后台修复文件
---
@@ -72,7 +72,7 @@
**传递链路**:
1. Phase 1 Layer 3:用户选择/确认标题 → 标题存入对话上下文
2. Phase 2:从上下文读取标题 → 写入项目目录名、`03-写作计划.json`、`00-大纲.md`
2. Phase 2:从上下文读取标题 → 写入项目目录名、`02-写作计划.json`、`01-大纲.md`
### 中断恢复
@@ -84,7 +84,7 @@
### 存储文件
`03-写作计划.json`(项目文件夹内,Phase 2 创建)
`02-写作计划.json`(项目文件夹内,Phase 2 创建)
### 作用
@@ -96,9 +96,9 @@
### 与大纲的关系
- `00-大纲.md`:章节规划(核心事件、悬念钩子、承接上章、出场人物、场景列表)+ 章节摘要(连贯性参考)
- `03-写作计划.json`:章节状态、字数、重试次数、写作模式(机器可读的进度跟踪)
- Phase 3 创作每章时必须读取 `00-大纲.md` 中对应章节的规划信息,作为创作依据
- `01-大纲.md`:章节规划(核心事件、悬念钩子、承接上章、出场人物、场景列表)+ 章节摘要(连贯性参考)
- `02-写作计划.json`:章节状态、字数、重试次数、写作模式(机器可读的进度跟踪)
- Phase 3 创作每章时必须读取 `01-大纲.md` 中对应章节的规划信息,作为创作依据
- 两者严格对应:JSON 中的 `chapterNumber` 和 `title` 必须与大纲中的章节规划一致
### JSON 损坏处理
+1 -1
View File
@@ -493,7 +493,7 @@
### 写前必读
每次开始写新章节前:
1. 阅读 `00-大纲.md` 中所有已完成章节的摘要
1. 阅读 `01-大纲.md` 中所有已完成章节的摘要
2. 读取上一章文件,了解当前悬念和情绪落点
3. 检查人物状态:位置、情绪、关系、已知信息