界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

chapter-generator

chapter-generator

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

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

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 - 让创作自动流动

我的收藏