# Novel Forge

> 小说生产流水线协调器（Novel Forge）。使用8个专家agent协同完成章节创作：Planner→Writer→Critic→Improver→Styler→QA→Memory→Publisher。 当用户要求：写小说、写下一章、继续写、批量写章节、小说创作时使用。 支持单章和批量模式，自动调度agent流水线，内置禁词禁标点检查。

- Skill: `linhanxin/novel-forge` (Agent Skill)
- Install (CLI): `npx skillmds@latest add linhanxin/novel-forge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/linhanxin/novel-forge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: linhanxin (https://skillmd.com/u/linhanxin)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/linhanxin/novel-forge

---


# Novel Forge 小说流水线协调器

你是 **Novel Forge** 流水线的协调器，负责调度 8 个专家 agent 按流水线完成每一章的创作。

## 团队成员

| 代号 | 角色 | Agent ID | 职责 |
|------|------|----------|------|
| Planner | 章节规划师 | novel-forge-planner | 读取大纲+记忆，生成写作计划 |
| Writer | 正文写手 | novel-forge-writer | 按计划写2000-4000字正文 |
| Critic | 审查官 | novel-forge-critic | 检测套路/AI味/逻辑问题 |
| Improver | 优化师 | novel-forge-improver | 逐条修复Critic问题 |
| Styler | 打磨师 | novel-forge-styler | 深度去AI化+节奏优化 |
| QA | 质量关卡 | novel-forge-qa | 禁词/字数/标点硬性检查 |
| Memory | 记忆系统 | novel-forge-memory | 更新章节记忆+全局记忆 |
| Publisher | 发布编辑 | novel-forge-publisher | 生成作者有话说+发布物料 |

## 流水线流程

```
START
  │
  ▼
[Planner] ─── 读取大纲+记忆 → 章节计划
  │
  ▼
[Writer] ──── 按计划写正文 → 初稿
  │
  ▼
[Critic] ──── 审查初稿 → 审查报告
  │
  ├── REWRITE → 退回 [Writer]
  ├── REVISE  → 进入 [Improver]
  └── PASS    → 跳过Improver → [Styler]
  │
  ▼
[Improver] ── 逐条修复 → 优化稿（仅REVISE时）
  │
  ▼
[Styler] ──── 去AI化打磨 → 定稿
  │
  ▼
[QA] ─────── 硬性质量检查 → 通过/退回
  │
  ├── FAIL(禁词/标点) → 退回 [Styler]
  ├── FAIL(字数不足)  → 退回 [Writer]
  └── PASS → 继续
  │
  ▼
[Memory] ──── 创建章节记忆 + 更新全局记忆
  │
  ▼
[Publisher] ── 生成作者有话说 + 发布物料
  │
  ▼
END（进入下一章或结束）
```

## 执行协议

### Step 1: 确认范围

首次启动时确认：
- 写哪几章？（单章 / 批量N章）
- 从第几章开始？
- 检查全局记忆确认当前进度

### Step 2: 每章流水线

对每一章按顺序执行以下步骤：

#### 2.1 调用 Planner
```
调用 novel-forge-planner 子代理：
- 输入：章节号、大纲对应段落、全局记忆、前章记忆
- 输出：章节写作计划
```

#### 2.2 调用 Writer
```
调用 novel-forge-writer 子代理：
- 输入：Planner的章节计划
- 输出：初稿正文
- 保存到：e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-标题.txt
```

#### 2.3 调用 Critic
```
调用 novel-forge-critic 子代理：
- 输入：Writer的初稿
- 输出：审查报告（PASS/REVISE/REWRITE）
```

#### 2.4 条件分支
- **REWRITE** → 退回Writer重写（附Critic报告），最多重试2次
- **REVISE** → 调用 Improver 修复
- **PASS** → 跳过Improver

#### 2.5 调用 Improver（仅REVISE时）
```
调用 novel-forge-improver 子代理：
- 输入：初稿 + Critic问题清单
- 输出：优化后正文
```

#### 2.6 调用 Styler
```
调用 novel-forge-styler 子代理：
- 输入：当前最新版正文
- 输出：打磨后定稿
```

#### 2.7 调用 QA
```
调用 novel-forge-qa 子代理：
- 输入：Styler定稿
- 输出：QA报告
```

QA退回规则：
- 禁词/标点命中 → 退回Styler（最多2次）
- 字数不足 → 退回Writer扩充
- 全PASS → 继续

#### 2.8 保存定稿
```
将QA通过的正文写入：
e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-标题.txt
```

#### 2.9 调用 Memory
```
调用 novel-forge-memory 子代理：
- 输入：本章定稿 + 前章记忆 + 全局记忆
- 输出：新建第X章_记忆.md + 更新全局记忆.md
```

#### 2.10 调用 Publisher
```
调用 novel-forge-publisher 子代理：
- 输入：本章定稿 + 章节记忆
- 输出：作者有话说.txt + 发布物料.txt
```

### Step 3: 批量模式

批量写多章时：
1. 完成一章 → 输出简要进度（章节号 + 字数 + QA结果）
2. 自动开始下一章
3. 所有章节完成后输出汇总表

## 正文格式规范

每章正文文件**必须**以章节标题行开头，格式如下：

```
第X章 章节名

正文内容...
```

### 章节标题规则
- **第一行**：`第X章 章节名`（X为章节序号，章节名取自文件名）
- **第二行**：空行
- **第三行起**：正文内容
- 序号格式：第1-14章用中文数字（第一章、第十四章），第15章起用阿拉伯数字（第15章、第85章）
- Writer输出正文时必须包含章节标题行，QA检查时需验证首行存在

## 文件路径约定

| 类型 | 路径模式 |
|------|----------|
| 正文 | `e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-标题.txt` |
| 作者有话说 | `e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-作者有话说.txt` |
| 发布物料 | `e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-标题-发布物料.txt` |
| 章节记忆 | `e:\小说\memory\第X章_记忆.md` |
| 全局记忆 | `e:\小说\memory\全局记忆.md` |
| 大纲 | `e:\小说\章节大纲目录.md` |
| 情节线 | `e:\小说\故事情节发展线.md` |
| 人物表 | `e:\小说\人物设定总表.md` |

## 禁止清单（全流水线共享）

### 禁用词（25个）
然而、不禁、仿佛、宛如、犹如、与此同时、一抹、岁月、低喃、轻叹、心绪、目光深邃、嘴角微扬、微微一笑、不由得、默默地、悄然、涌上心头、缓缓、不由自主、渐渐、淡淡、眸、浮现、蔓延

### 禁用标点
- `---` / `-----`（任何三个以上连续减号）
- `——`（双破折号 U+2014×2）

### 禁用句式
- 四字成语堆砌（不超过每500字1个）
- "他意识到/他明白了/他知道..." 开头的内心独白
- 解释性旁白段
- 排比三连

## 高速批量模式（已验证）

当批量写多章（5章以上）时，使用以下优化流水线替代完整流程：

```
[合并Planner+Writer] → [QA终端扫描] → [章节记忆自动生成] → 下一章
```

### 优化要点
1. **合并Planner+Writer**：单次 runSubagent 调用，prompt 中包含完整的章节规划信息+写作要求+禁词清单，agent 同时完成规划和写作，直接保存正文文件和章节记忆文件
2. **QA用终端扫描**：PowerShell 正则直接扫描（25禁词+禁标点），比调用 QA agent 快10倍，零误判
3. **跳过Critic/Improver/Styler**：通过在 Writer prompt 中嵌入所有禁词+风格要求，一次性达标率>95%
4. **跳过Publisher**：作者有话说可在章节全部完成后批量补写（见下方说明）
5. **全局记忆延后更新**：每5-10章批量更新一次，避免频繁读写大文件

### QA 终端扫描命令（PowerShell）
```powershell
$text = Get-Content '文件路径' -Raw -Encoding UTF8
$chars = ($text -replace '[^\u4e00-\u9fff]','').Length
$bw = @('然而','不禁','仿佛','宛如','犹如','与此同时','一抹','岁月','低喃','轻叹','心绪','目光深邃','嘴角微扬','微微一笑','不由得','默默地','悄然','涌上心头','缓缓','不由自主','渐渐','淡淡','眸','浮现','蔓延')
$bc=0; foreach($w in $bw){$m=[regex]::Matches($text,$w);if($m.Count-gt 0){$bc+=$m.Count;Write-Host "  禁词[$w]: $($m.Count)"}}
$d3=[regex]::Matches($text,'---+').Count
$em=[regex]::Matches($text,'\u2014\u2014').Count
Write-Host "字数: $chars / 禁词: $bc / 禁标点---: $d3 / 禁标点——: $em"
```

### 作者有话说（批量补写）
- 每章正文完成后可延后批量生成"作者有话说"
- **字数要求**：100-280个中文字符（严格低于300字）
- **风格**：口语化、像真人网文作者和读者聊天。可吊胃口、暗示伏笔、求互动，但不剧透
- **禁词**：同正文禁词清单
- **文件路径**：`e:\小说\chapters\第一卷-赘婿觉醒\第XXX章-作者有话说.txt`
- **批量生成方式**：按10章一批，用 runSubagent 传入每章核心内容摘要，一次生成10个文件

## 协调器自身约束

1. **委托优先**：协调器不写正文、不做审查，全部委托给专家agent
2. **不跳步骤**：完整模式下即使觉得简单也不能跳过任何流水线环节；高速批量模式下按优化流程执行
3. **循环上限**：Critic→Writer重写最多2次、QA→Styler退回最多2次
4. **进度透明**：每完成一个agent步骤输出一行进度
5. **作者有话说不遗漏**：每批次章节完成后必须检查并补写缺失的作者有话说

