L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

chapter-generator

chapter-generator

章节生成子技能。负责循环生成小说章节,管理写作流程,处理选择分支,自动保存发布,维护世界模型一致性。支持断点续写。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: chapter-generator description: 章节生成子技能。负责循环生成小说章节,管理写作流程,处理选择分支,自动保存发布,维护世界模型一致性。支持断点续写。 version: 0.1.0

Chapter Generator - 章节生成器

核心子技能,负责管理小说的持续创作流程。从初始化完成后开始循环调用,直到小说完结或用户主动暂停。

核心职责

  1. 📖 章节撰写 - 基于当前设定生成新情节
  2. 🎯 选择生成 - 提供无倾向性的多重选择
  3. 💾 自动保存 - 强制保存章节文件
  4. 🚀 自动发布 - 保存后立即发布到网站
  5. 🗺️ 模型更新 - 实时更新世界模型和角色档案
  6. 👤 NPC管理 - 生成新NPC并维护档案
  7. 🔄 断点续写 - 支持暂停后恢复写作

调用时机

首次调用

当以下设定全部完成后,开始循环调用 chapter-generator:

  • ✅ 写作风格(writing-style)
  • ✅ 细节程度(低/中/高)
  • ✅ 篇幅长度(短/中/长)
  • ✅ 年代设定(era-generator)
  • ✅ 人物设定(character-generator)
  • ✅ 场景设定(scene-generator)
  • ✅ 小说命名(novel-namer)

后续调用

每一章结束后,根据用户选择继续调用


章节生成流程

Step 1: 读取当前状态

读取以下文件获取当前状态:

# .learnings/books/{书名}/WORLD.md
- 时代背景(公开/隐藏)
- 世界地图(地点列表及状态)
- 势力关系
- 关键物品

# .learnings/books/{书名}/CHARACTERS.md
- 主角当前状态
- 所有NPC档案
- 人际关系网

# .learnings/books/{书名}/PLOT.md
- 篇幅规划
- 当前卷/章节进度
- 关键伏笔
- 待揭示线索

# .learnings/books/{书名}/chapters/
- 历史章节内容(用于回顾)

Step 2: 生成章节内容

写作原则

  1. 遵循设定:严格依据年代背景、人物性格、世界观
  2. 延续情节:承接上一章结尾和选择
  3. 细节程度:根据设定(低/中/高)控制字数和描写
  4. 风格一致:保持选定的写作风格(猫腻风格等)
  5. 开放发展:情节可有多种走向,不预设固定路线

章节结构

## 第X章:{章节标题}

### 【场景回顾/过渡】
- 简要回顾上一章结尾状态
- 过渡描写,进入新场景

### 【情节发展】
- 主角行动/遭遇
- NPC互动
- 新发现/冲突
- 环境描写(根据细节程度决定详略)

### 【选择点】
- 2-4个无倾向性选择
- 每个选择有明确但不同的后果暗示

选择设计原则

  • 无倾向性:不要暗示哪个是"正确"选择
  • 差异化:每个选择导致明显不同的后续
  • 合理性:每个选择都应该是角色可能做出的
  • 后果暗示:让玩家知道选择意味着什么(但不剧透)

示例:

【选择点】

A. 追击逃跑的黑衣人
> 可能获得情报,但可能陷入埋伏

B. 救助受伤的同伴
> 巩固团队信任,但错失追击机会

C. 搜索现场寻找线索
> 获得物品/信息,但敌人可能 reinforce

D. 立即撤退,保存实力
> 安全,但敌人逃脱,后患无穷

Step 3: 生成新NPC(如需要)

如果情节需要新角色,调用 character-generator:

新NPC出现: 姓名:xxx 身份:xxx 初次印象:xxx

已生成NPC档案,保存至 CHARACTERS.md

Step 4: 强制保存章节

章节内容生成后,立即保存:

文件路径: .learnings/books/{书名}/chapters/chapter_{序号}.md
文件名格式: chapter_01.md, chapter_02.md ...

Step 5: 强制发布章节

保存后立即发布:

cd scripts && node cli.js publish "{书名}" "第X章:{标题}" "../.learnings/books/{书名}/chapters/chapter_XX.md"

发布成功后显示:

✅ 章节已发布至 https://time-weaver-782300018128.us-west1.run.app/

Step 6: 更新世界模型

更新以下文件:

# WORLD.md 更新内容
- 新发现的地点
- 地点状态变化
- 势力关系变化
- 关键物品状态更新
- 隐藏线索揭示进度

# CHARACTERS.md 更新内容
- 主角状态变化(健康、精神、位置)
- 人际关系变化
- 新NPC加入
- NPC状态更新
- 性格发展轨迹

# PLOT.md 更新内容
- 当前进度更新
- 新伏笔记录
- 已揭示线索标记
- 待发展剧情规划

Step 7: 显示选择并等待用户

发布完成后,显示章节结尾的选择:

---

## (第X章完)

✅ **本章已保存并发布!**

**📊 本章统计**:
- 字数:约XXXX字
- 新场景:XXX
- 新NPC:XXX
- 关键线索:XXX

**在线阅读**:https://time-weaver-782300018128.us-west1.run.app/

---

**【选择点】**

A. ...
B. ...
C. ...
D. ...

请做出你的选择,进入下一章!

Step 8: 接收选择并循环

用户回复选择后:

  1. 记录选择到 PLOT.md
  2. 根据选择确定下一章发展方向
  3. 重新调用 chapter-generator 开始下一章

断点续写机制

检测断点

当用户说"继续写{书名}"或"回到{书名}"时:

  1. 查找该书目录:.learnings/books/{书名}/
  2. 读取 PUBLISH_STATUS.md 获取最后发布章节
  3. 读取最后一章内容,找到选择点
  4. 显示当前状态和选择

恢复写作示例

用户:"继续写深水盗墓人"

系统响应:

📚 继续《深水盗墓人》

**当前进度**:第4章已完成
**最后场景**:主角在苍梧的石室中,得知子母镜真相

**当前状态回顾**:
- 地点:苍梧的石室(灵穴深处)
- 关键人物:苍梧(守墓人)、铁山(昏迷中)
- 持有物品:子镜、铜钱
- 已知真相:
  - 子母镜是"门"的碎片
  - 你是第柒号,前六人全部失败
  - 集齐七面子镜可打开"门"
  - 三个月内必须做出选择

**上一章结尾选择点**:

A. 追问苍梧"实验"是什么意思
B. 询问如何结束这一切
C. 要求见铁山,确认他的安全
D. 拒绝相信,试图离开

请做出你的选择,进入第五章!

篇幅控制

根据设定的篇幅长度控制整体节奏:

短篇(约10章)

  • 第1-3章:穿越与适应
  • 第4-7章:核心冲突
  • 第8-10章:高潮与结局

中篇(约50章)

  • 第1-10章:第一卷·觉醒
  • 第11-30章:第二卷·成长
  • 第31-50章:第三卷·终局

长篇(100章+)

  • 每20-30章为一卷
  • 每卷有明确的主题和 arc
  • 多条剧情线并行发展

NPC生成触发条件

以下情况触发 character-generator 生成NPC:

  1. 到达新地点 - 生成当地关键人物
  2. 情节需要 - 任务发布者、敌人、盟友
  3. 随机遭遇 - 路人、商人、旅人
  4. 剧情转折 - 新势力的代表

生成后立即:

  • 简要介绍给玩家
  • 保存到 CHARACTERS.md
  • 更新人际关系网

世界模型维护

每次章节结束强制更新

# WORLD.md
世界地图:
  新地点:
    名称: XXX
    发现时间: 第X章
    描述: XXX
    状态: 安全/危险/未知
  
  已有地点更新:
    原地点:
      状态变化: XXX
      新信息: XXX

势力关系:
  新势力: 
    名称: XXX
    关系: 友好/敌对/中立
  
  已有势力:
    关系变化: XXX

关键物品:
  新获得:
    名称: XXX
    来源: 第X章
  
  物品状态更新:
    XXX:
      状态: 已使用/已损坏/升级
# CHARACTERS.md
主角状态更新:
  当前状态:
    健康: XXX
    精神: XXX
    位置: XXX
  
  持有物品更新:
    新增: [XXX]
    消耗: [XXX]
  
  人际关系更新:
    XXX:
      关系: 友好/敌对
      信任度: XX
      变化: +X/-X
  
  性格发展:
    新增特质: XXX
    选择记录:
      - 第X章: 选择A,体现XXX性格

NPC更新:
  新NPC:
    姓名: XXX
    身份: XXX
    与主角关系: XXX
  
  已有NPC:
    XXX:
      状态变化: XXX
      关系变化: XXX

异常处理

用户长时间未选择

  • 不自动推进
  • 保留当前状态
  • 用户可随时回复继续

用户想改变选择

  • 当前章已发布则无法更改
  • 可从当前节点继续,用新选择覆盖

用户想暂停

  • 保存当前状态
  • 记录"待续"标记
  • 可随时"继续写{书名}"恢复

使用示例

完整流程

[初始化完成]
↓
[chapter-generator 第1次调用]
  → 生成第1章
  → 保存 chapter_01.md
  → 发布到网站
  → 更新模型
  → 显示选择
↓
[用户选择 A]
↓
[chapter-generator 第2次调用]
  → 根据选择A生成第2章
  → ...
↓
[循环直到完结或暂停]

断点续写

[用户说:继续写深水盗墓人]
↓
[检测最后章节:第4章]
↓
[读取第4章结尾选择]
↓
[显示状态回顾和选择]
↓
[用户选择后进入第5章]

文件清单

chapter-generator 操作的所有文件:

.learnings/books/{书名}/
├── chapters/chapter_XX.md    # 生成并保存
├── WORLD.md                  # 更新
├── CHARACTERS.md             # 更新
├── PLOT.md                   # 更新
└── PUBLISH_STATUS.md         # 更新

scripts/cli.js                # 调用发布

Chapter Generator - 让创作自动流动

Skills enregistrées