# Open Novel Writing

> 中文长篇小说创作助手。支持从想法到成书的完整创作流程：世界观设定、故事大纲、章节规划、正文生成、质量评审。 使用场景：创作中文小说、辅助构思情节、生成章节正文、评审改进文稿。 特点：模块化设计，可单独使用任意模块；分级红线机制，区分必须避免和建议优化；对话式引导，非CLI驱动。

- Skill: `penghang1223/open-novel-writing` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add penghang1223/open-novel-writing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/penghang1223/open-novel-writing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: penghang1223 (https://skillmd.com/u/penghang1223)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/penghang1223/open-novel-writing

---


# open-novel-writing

中文长篇小说创作助手。帮助用户从想法到成书的完整创作。

## 核心能力

| 能力 | 说明 | 触发方式 |
|-----|------|---------|
| 设定管理 | 世界观、人物卡、势力、伏笔 | "帮我设定..."、"创建人物" |
| 大纲生成 | 故事结构、卷章规划、高潮设计 | "生成大纲"、"帮我规划" |
| 章节规划 | 生成章节spec、连贯性检查 | "规划第X章"、"生成规格" |
| 正文生成 | 基于spec生成正文 | "写第X章"、"生成正文" |
| 评审反馈 | 质量评审、改进建议 | "评审这章"、"看看怎么样" |
| **自动化推进** | **批量连续写作N章** | **"推进10章"、"写5章"** |

## 工作流

```
用户想法 → 意图理解 → 选定模块 → 执行 → 反馈循环
```

各模块可独立使用，也可串行：
1. **设定 → 大纲 → 章节 → 评审** 完整流程
2. **设定** 单独使用（扩展世界观）
3. **大纲** 单独使用（规划故事结构）
4. **章节 + 评审** 迭代（生成→评审→修改）

## 模块详情

### 1. 设定管理

**功能**：创建和管理小说的世界观、人物、势力、伏笔

**输入**：
- 用户描述的想法/灵感
- （可选）已有的设定文件

**输出**：
- `设定/世界观.md` - 世界观文档
- `设定/人物/` - 人物卡片目录
- `设定/势力.md` - 势力/组织设定
- `设定/伏笔.md` - 伏笔追踪表

**操作**：
- 创建新设定
- 扩展已有设定
- 查询设定一致性

### 2. 大纲生成

**功能**：基于设定生成故事大纲

**输入**：
- 设定文件
- 用户想要的风格/长度

**输出**：
- `大纲/故事大纲.md` - 完整大纲
- `大纲/卷规划.md` - 分卷结构
- `大纲/高潮点.md` - 关键爆点

**结构**：
```
故事大纲/
├── 核心设定（一句话卖点）
├── 主线（起承转合）
├── 支线（辅助主线）
├── 人物弧光（主角成长）
└── 高潮/结局设计
```

### 3. 章节规划（Spec生成）

**功能**：生成单章或批量章节的规格

**输入**：
- 前3章规格（自动查找）
- 大纲/设定

**输出**：
- `规格/第XXX章.yaml` - 章节规格

**规格字段**：
```yaml
chapter: 101
title: "章节标题"
summary: "200字以内摘要"

before_state:
  characters:
    - {name: "角色", state: "状态", location: "位置"}
  plot_hooks: ["未回收伏笔"]

after_state:
  characters:
    - {name: "角色", state: "新状态", location: "新位置"}
  plot_advances: ["伏笔回收", "新伏笔埋下"]

must_happen:
  - "关键事件1"
  - "关键事件2"

tension_curve:
  - {position: 0, value: 3, note: "铺垫"}
  - {position: 50, value: 8, note: "高潮"}
  - {position: 100, value: 5, note: "收尾"}

key_scenes:
  - "场景1"
  - "场景2"

new_hooks:
  - "结尾钩子"
```

**连贯性检查**：
- 读取前3章规格
- 验证人物状态、场景位置一致性
- 检测剧情冲突/重复

### 4. 正文生成

**功能**：基于规格生成章节正文

**输入**：
- 规格文件 (yaml)
- 设定文件

**输出**：
- `正文/第XXX章.txt` - 纯中文正文

**字数**：3000-5000字/章

**写作原则**（参考 [references/writing_principles.md](references/writing_principles.md)）：

| 原则 | 要求 |
|-----|------|
| 声音 | 叙事者有话说，不是摄像头记录 |
| 层次 | 情绪有起伏，不是单一色调 |
| 细节 | 动作具体化，有画面感 |
| 呼吸 | 长短句交替，张弛有度 |
| 活性 | 动词有力，删不必要的"的" |

### 5. 评审反馈

**功能**：质量评审和改进步

**输入**：
- 待评审章节
- 对应规格

**输出**：
- `评审/第XXX章.md` - 评审报告

**评审维度**（精简为5种角色）：

| 角色 | 关注点 | 权重 |
|-----|-------|-----|
| 阅读者 | 开篇吸引力、节奏、画面感 | 25% |
| 编审 | 错别字、病句、一致性 | 25% |
| 故事家 | 剧情逻辑、伏笔、钩子 | 25% |
| 文学顾问 | 语言艺术、人物刻画 | 15% |
| 毒舌读者 | 套路化、水文、毒点 | 10% |

**评分**：
- 90-100：精品
- 85-89：优秀，可发布
- 75-84：良好，小改可发
- 60-74：合格，需修改
- 60以下：不合格，重写

## 红线规则（分级）

### P0 - 绝对禁止

| 禁止项 | 说明 |
|-------|------|
| 明显AI词汇 | "众所周知"、"不言而喻"等 |
| 感悟式结尾 | "他明白了..."、"她终于懂得..." |
| 感叹式结尾 | "真是太..."、"多么..." |
| 上帝视角 | "所有人没想到..."、"全书第x章..." |
| 抄袭级错误 | 与经典作品高度重复 |

### P1 - 建议避免

| 避免项 | 说明 |
|-------|------|
| 套路化表达 | 网文老梗堆砌 |
| 流水账 | 无意义的情节推进 |
| 抽象心理 | "他感到很..."、"她觉得..." |
| 排比句 | 连续相同句式 |
| 代词开头 | 连续"他/她/它"开头 |

### P2 - 可选优化

| 优化项 | 说明 |
|-------|------|
| 细节打磨 | 动词更精准 |
| 画面强化 | 更多感官描写 |
| 节奏调整 | 张力起伏更明显 |

## 目录结构

小说项目建议结构：
```
我的小说/
├── 设定/
│   ├── 世界观.md
│   ├── 人物/
│   │   ├── 主角.md
│   │   └── 反派.md
│   ├── 势力.md
│   └── 伏笔.md
├── 大纲/
│   ├── 故事大纲.md
│   ├── 卷规划.md
│   └── 高潮点.md
├── 规格/
│   ├── 第001章.yaml
│   └── 第002章.yaml
├── 正文/
│   ├── 第001章.txt
│   └── 第002章.txt
└── 评审/
    └── 第001章.md
```

## 使用示例

**示例1：从想法开始**
```
用户：我想写一个仙侠小说，主角从凡人流开始
AI：好的，让我帮你设计世界观。你想要：
  1. 传统的修真体系（练气→金丹→元婴）
  2. 创新的修炼方式
  3. 其他设定偏好？
```

**示例2：生成章节**
```
用户：帮我写第50章
AI：好的，先读取第47-49章的规格来确保连贯性...
  第50章规格已生成（见规格/第050章.yaml）
  开始生成正文...
  已生成：正文/第050章.txt（3200字）
```

**示例3：评审章节**
```
用户：评审一下第50章
AI：开始评审...
  阅读者：88/100 ✓
  编审：92/100 ✓
  故事家：85/100 ✓
  文学顾问：89/100 ✓
  毒舌读者：90/100 ✓
  
  最终得分：85/100 ✓ 通过
  
  发现1个P1问题：
  - 第3段有抽象心理描写，建议外化为动作
  
  需要查看详细报告吗？
```

## 配合技能

- **image-creator**: 生成小说封面、插图
- **novel-image-generation**: 生成小说场景图

---

## 6. 自动化推进（批量写作）

**功能**：自动连续生成多章，包含规划→生成→评审→修订的全流程

**触发方式**：
- "推进10章"
- "写第5-15章"
- "继续往下写5章"

### 工作流程

```
用户: "推进N章"
    ↓
1. 确定起始章节（自动查找最新已完成的章节+1）
2. 循环执行以下步骤N次：
   ├─ 2.1 更新设定（从spec中提取新伏笔/人物）
   ├─ 2.2 章节规划（生成下一章spec）
   ├─ 2.3 正文生成（基于spec生成正文）
   ├─ 2.4 评审反馈（质量检查）
   ├─ 2.5 自动修订（如果评审不通过）
   └─ 2.6 达标则进入下一章
3. 输出完成报告
```

### 自动化流程详解

#### 步骤1：确定起始章节

自动查找：
1. `正文/` 目录下最新的章节号 + 1
2. 如果没有正文，则从第1章开始

#### 步骤2：更新设定

从上一章的 spec 中提取：
- 新出现的角色 → 提示用户补充人物卡
- 新埋下的伏笔 → 更新伏笔追踪表
- 场景变化 → 更新世界观

#### 步骤3：章节规划

基于前3章规格，生成下一章的 spec：
- 延续人物状态
- 回收/埋下伏笔
- 设计节奏曲线

#### 步骤4：正文生成

基于 spec 生成 3000-5000 字的正文

#### 步骤5：评审反馈

执行质量检查：
- P0问题：AI词汇、感悟式结尾等 → 必须修改
- P1问题：套路化、流水账等 → 建议修改
- 评分标准：≥85分通过

#### 步骤6：自动修订

如果评审不通过（<85分或存在P0问题）：
- 根据评审反馈进行修订
- 重新评审
- 最多修订2次
- 2次仍不通过 → 标记问题，继续下一章

### 修订策略

| 问题类型 | 修订方式 |
|---------|---------|
| AI词汇 | 替换为更自然的表达 |
| 感悟式结尾 | 删除或改为悬念式结尾 |
| 抽象心理 | 外化为具体动作 |
| 节奏问题 | 调整长短句比例 |
| 水文 | 删除冗余描写 |

### 输出报告

```markdown
# 批量写作完成报告

## 执行摘要
- 目标章节：5章（第6-10章）
- 成功完成：4章
- 跳过：1章（问题过多）

## 详细结果

### 第6章 ✓
- 评分：88/100
- 字数：3200
- 评审通过

### 第7章 ✓
- 评分：86/100
- 字数：3100
- 评审通过

### 第8章 ⚠️
- 评分：82/100 → 修订后87/100
- 字数：3400
- 1次修订后通过

### 第9章 ✓
- 评分：90/100
- 字数：3300
- 评审通过

### 第10章 ❌
- 评分：65/100
- 跳过原因：2次修订后仍存在P0问题（AI词汇过多）
- 建议：手动处理

## 伏笔追踪
- 已回收：3个
- 新增埋下：5个

## 文件位置
- 规格：规格/第6-10章.yaml
- 正文：正文/第6-10章.txt
- 评审：评审/第6-10章.md
```

### 使用示例

```
用户：继续往下写10章

AI：开始自动化写作流程

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第1章（共10章）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[1/5] 更新设定...
  - 上一章结尾新出现"黑袍人"，已添加到待补充人物列表

[2/5] 章节规划...
  - 已生成：规格/第011章.yaml
  - 本章目标：主角与黑袍人对峙

[3/5] 正在生成正文...
  - 已生成：正文/第011章.txt（3200字）

[4/5] 评审中...
  - 阅读者：88/100 ✓
  - 编审：91/100 ✓
  - 故事家：85/100 ✓
  - 文学顾问：89/100 ✓
  - 毒舌读者：90/100 ✓
  - 最终：88/100 ✓ 通过

[5/5] 章节完成！

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第2章（共10章）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
...
```

### 配置选项

| 选项 | 说明 | 默认值 |
|-----|------|-------|
| 每章字数 | 目标字数范围 | 3000-5000 |
| 评审阈值 | 通过分数 | ≥85 |
| 最大修订次数 | 不通过时的修订次数 | 2 |
| 章节间隔 | 每章完成后等待用户确认 | 否（自动） |

### CLI 使用

```bash
# 自动推进10章（从最新章节继续）
python3 scripts/auto_write.py 10

# 从第100章开始写5章
python3 scripts/auto_write.py 5 100

# 指定小说项目目录
python3 auto_write.py 10 --path /path/to/novel
```

### 注意事项

1. **进度保存**：每完成一章自动保存，即使中断也不会丢失
2. **冲突检测**：自动检测与前文的人物状态/时间线冲突
3. **伏笔提醒**：新伏笔会提示用户补充细节
4. **可中断**：用户可以说"暂停"停止自动写作

---

