| name | novel-new-book |
| description | 初始化新书 — 引导式交互收集创作信息、创建标准目录结构、自动填充初始模板文件、管理多书切换 |
| category | novel |
初始化新书(v2.0)
触发条件
用户说「新开一本书」「创建新书」「开始写《XXX》」「新建小说」时使用本技能。
执行流程
阶段 1:收集创作信息(引导式对话)
按照以下顺序,每次只问一个问题,根据回答自然推进。不要一口气列出所有问题。
Q1:书名确认
话术:
好的,我们来创建一本新书!首先确认一下,书名是什么?
如果用户已经说了书名(如「开始写《修仙从种田开始》」),则跳过此问,直接确认:
书名就用《修仙从种田开始》,对吗?
输出:书名(将用作目录名,将中文标点替换为对应字符,例如《》→无,空格→下划线)
Q2:一句话简介
话术:
棒!用一句话介绍这本书的核心卖点?想想你会在番茄小说封面上写什么——50 字以内,让读者一眼就想点进来。
引导示例:
- 「重生回到末世前 3 天,他带着未来 10 年记忆,这次要成为最强」
- 「系统要我当反派,但我只想种田变强」
- 「穿越成豪门假千金,全网黑的时候,真千金跪求我回家」
输出:一句话简介(≤50 字)
Q2.5:主角年龄
话术:
主角多大?这个很重要——番茄平台要求主角必须 ≥18 岁才能有恋爱线。
输出:主角年龄(≥18)
Q3:小说类型
话术:
选一下类型?常见的番茄热门类型有:
- 都市(重生、鉴宝、官场、商战)
- 玄幻(东方玄幻、高武)
- 仙侠(修真、修仙、洪荒)
- 系统(系统流、数据化、游戏化)
- 末世(丧尸、废土、生存)
- 悬疑(灵异、探案、密室)
- 言情(霸总、甜宠、虐恋)
- 其他——你可以自己描述
输出:类型标签(可以是组合,如「都市+系统」)
Q4:主角设定
话术:
聊聊主角~ 告诉我三件事:
- 姓名
- 核心身份(重生者?穿越者?普通人逆袭?)
- 金手指/核心优势(系统?记忆?特殊能力?)
如果是系统流,追问:
系统叫什么名字?主要功能是?
如果用户回答简略,引导补充:
顺便说说主角的性格?冷静型 / 热血型 / 腹黑型 / 咸鱼型?
输出:主角姓名 + 身份 + 金手指 + 性格
Q5:计划篇幅
话术:
计划写多长?
- 【A】短篇冲量 — 20-30 万字,快速完结
- 【B】中篇连载 — 50-80 万字,稳定更新
- 【C】长篇小说 — 100 万字以上,长期规划
- 【D】还没想好,先写着看
输出:篇幅级别(short/medium/long/flexible) + 估算字数
Q6:创作红线
话术:
最后,有没有绝对不能踩的红线?(为了让 AI 记住底线,避免写出你不想要的内容)
引导示例:
- 「不虐主」—— 主角不能被虐
- 「不后宫」—— 不搞多女主感情线
- 「不写死核心配角」—— 指定哪些角色不能死
- 「不写政治相关」—— 避免敏感内容
- 「主角必须低调」—— 不要过早暴露实力
- 「每章必须有爽点」
输出:红线列表(3-8 条)
阶段 2:创建目录结构
使用 terminal 工具执行以下命令族,一次性创建完整目录:
mkdir -p ~/novels/books/<书名>/{00-大纲细纲/分卷细纲,01-正文存稿,02-设定文档/人物库,03-版本备份,04-错误库}
同时在技能状态目录创建进度文件:
mkdir -p ~/.hermes/skills/novel/_state
首次运行检查:如果 ~/novels/_shared/logs/ 和 ~/novels/_shared/backups/ 不存在,自动创建:
mkdir -p ~/novels/_shared/{logs,backups}
这两个目录供 novel-cron 每日巡检写入日志和全局备份使用。所有脚本统一存放在 ~/.hermes/skills/novel/scripts/(唯一权威位置),~/novels/_shared/ 下不再有 scripts 目录(已去除软链接兼容层,2026-08-01 优化)。
ℹ️ 例外:番茄发布专用脚本(update_chapter.py / qr_login.py / login_browser.py)随 fanqie-publisher 技能存放于 fanqie-publisher/scripts/——这是技能内聚设计,不是漏网文件。
最终目录结构:
~/novels/books/<书名>/
├── 00-大纲细纲/
│ ├── 主线大纲.md # 自动生成
│ ├── 作品简介.md # 自动生成
│ ├── 分卷细纲/ # 空,按需手工创建
│ └── 章节规划.md # 自动生成
├── 01-正文存稿/ # 空
├── 02-设定文档/
│ ├── 书配置.md # ⭐ 自动生成(该书专属规则)
│ ├── 世界观.md # 自动生成
│ ├── 人物库/
│ │ └── 主角_<姓名>.md # 自动生成
│ ├── 伏笔追踪表.md # 自动生成
│ └── 故事线状态.md # 自动生成
├── 03-版本备份/
│ └── 备份日志.md # 自动生成
└── 04-错误库/
└── 修正记录.md # 自动生成
~/novels/_shared/ # 首次运行时自动创建
├── logs/ # novel-cron 每日巡检日志
└── backups/ # cron 每日全量备份
阶段 3:自动填充初始模板
根据阶段 1 收集的信息,使用 write_file 一次性生成以下文件:
3.1 主线大纲.md
# 《<书名>》主线大纲
- **类型**:<类型>
- **计划长度**:<篇幅>(约 <字数> 字)
- **一句话简介**:<简介>
- **创作红线**:<红线列表>
- **创建日期**:YYYY-MM-DD
## 核心设定
- **主角**:<姓名>,<身份>,金手指:<金手指>
- **世界观**:见「02-设定文档/世界观.md」
- **目标读者**:番茄小说 18-35 岁
## 三幕结构
### 第一幕:开局(第 1-X 章)
(请填写:主角出场、金手指获得、初步冲突建立)
### 第二幕:发展(第 X-Y 章)
(请填写:核心冲突展开、实力提升、势力博弈)
### 第三幕:高潮与结局(第 Y-Z 章)
(请填写:终极对决、伏笔回收、结局走向)
## 分卷规划
| 卷号 | 章节范围 | 卷标题 | 核心剧情 |
|------|---------|--------|---------|
| 1 | 1-X | (待填写) | (待填写) |
3.2 章节规划.md
# 《<书名>》章节规划
| 章节 | 章节标题 | 核心事件 | 状态 | 字数 |
|------|---------|---------|------|------|
| 1 | 待填写 | 请填写第1章计划内容 | 待规划 | — |
3.3 作品简介.md
# 《<书名>》作品简介
## 封面简介(50字以内)
<简介>
## 扩展简介(200字以内)
(请填写:用于详情页的完整简介,包含核心卖点、世界观亮点、主角金手指)
## 类型标签
<类型>
## 核心卖点
(请填写:3-5个核心卖点,每个卖点一句话)
3.35 书配置.md(⭐ 核心配置文件)
# 《<书名>》书配置
> 此文件定义本书的所有专属规则,供技能和审查脚本读取。
## 地名白名单
以下地名允许在正文中出现。未在白名单中的地名需检查是否合规。
<根据世界观填写架空地名列表>
## 真实地名黑名单
以下真实中国地名禁止在正文中出现:
北京、上海、广州、深圳、成都、杭州、武汉、南京
(根据小说背景补充需要屏蔽的真实地名)
## 系统面板规范(系统流适用,非系统流删除此区块)
### ⚠️ 系统金手指设计(必填,参考 `references/general/system-golden-finger-design.md`)
> 删系统测试:把系统删掉,故事还能转吗?如果能 → 系统设计不合格,重新设计。
**系统类型**(选一):
- [ ] 感知型:看人心/满意度/忠诚度
- [ ] 预判型:提前感知趋势/对手动作
- [ ] 透视型:看穿商业/金融/权力底层
- [ ] 量化型:把模糊变精确
- [ ] 混合型:____________
**不可替代价值**:没有系统,MC 做不到的事是:________________
**系统情报等级**(随格局升级解锁):
| 格局 | 情报层级 | 示例数据 |
|------|---------|---------|
| <层级1> | <第1层> | 例:个体满意度 |
| <层级2> | <第2层> | 例:区域经济结构 |
| <层级3> | <第3层> | 例:竞品资金链 |
| <层级4> | <第4层> | 例:政策走向预判 |
**系统退化红线**:
- 连续 ___ 章面板后MC不行动 → 系统重构
- 连续 ___ 章无新维度 → 必须弹新维度
### 面板格式
- 格式:【字段:数值】
- 固定字段:<字段1>、<字段2>、<字段3>
- 可选附加(≤2行):<字段4>、<字段5>
- 单次面板最多5行
### 结算公式
- <公式描述>
- 结算时间:每日凌晨 00:00
### 禁止措辞
`检测到` `建议` `任务` `预警` `解锁` `阶段` `宿主` `预估` `预计`
## 方言设置(无方言则删除此区块)
- **方言类型**:<粤语/四川话/东北话/无>
- **使用频率**:每章 3-5 处
- **适用角色**:<角色列表>
- **词表**:<允许使用的方言词列表>
## 作者风格
- **情感风格**:<直接/含蓄>
- **叙述温度**:<冷/热>
- **幽默偏好**:<冷幽默/无>
## 对话格式
- 所有对话用「」,禁止双引号
- 对话占比 ≥40%
- 禁止 Markdown 语法
3.4 世界观.md
# 《<书名>》世界观设定
## 时代背景
(请填写:古代 / 现代 / 未来 / 架空?具体年代或设定)
## 力量体系
(请填写:修真 / 魔法 / 科技 / 系统 / 无?等级划分?)
## 势力分布
(请填写:有哪些势力?各自的目标和关系?)
## 核心规则
(请填写:这个世界的基本法则——什么能做、什么不能做)
## 不可违背的设定
以下是 AI 生成时必须遵守的底线:
<红线列表>
3.5 人物库/主角_<姓名>.md
# 主角:<姓名>
## 基本信息
- **姓名**:<姓名>
- **性别**:(请填写)
- **年龄**:(请填写)
- **身份/职业**:<身份>
## 外表特征
- **身高/体型**:(请填写)
- **标志性外貌特征**:(请填写)
- **常穿服饰**:(请填写)
## 性格
- **核心性格**:<性格>
- **优点**:(请填写)
- **缺点**:(请填写)
- **口头禅**:(请填写)
- **习惯性动作**:(请填写)
## 背景
- **出身**:(请填写)
- **关键经历**:(请填写)
- **内心创伤/执念**:(请填写)
## 能力/金手指
- **核心能力**:<金手指>
- **当前等级/阶段**:(请填写)
- **成长方向**:(请填写)
## 人际关系
- **重要关系人**:(请填写)
## 剧情定位
- **角色定位**:主角
- **成长弧线**:(请填写)
## 对话风格
(请摘录 1-2 句典型对话,体现语气)
3.6 伏笔追踪表.md
# 《<书名>》伏笔追踪表
| ID | 内容 | 铺垫章 | 计划回收章 | 实际回收章 | 状态 | 回收方式 | 回收质量 |
|----|------|--------|-----------|-----------|------|---------|---------|
3.7 故事线状态.md
# 《<书名>》故事线状态
- **主线进度**:0 章
- **当前剧情位置**:未开始
- **最近更新**:—
## 章节梗概
(每完成一章后自动追加)
3.8 备份日志.md
# 《<书名>》备份日志
| 时间 | 章节 | 字数 | 备份类型 | 版本号 |
|------|------|------|---------|--------|
3.9 修正记录.md
# 《<书名>》修正记录
| 时间 | 来源章 | 问题类型 | 问题描述 | 修正措施 |
|------|--------|---------|---------|---------|
阶段 3.5:骨架完整性检查(硬性拦截)
在阶段 3(自动填充初始模板)完成后、用户说「开始写第 1 章」时,执行以下骨架检查。任何一项未通过 → 拦截,不允许开始写作。
3.6.1 检查项
| # | 检查项 | 判定标准 | 拦截提示 |
|---|
| 1 | 主角人物卡 | 02-设定文档/人物库/主角_<姓名>.md 中存在,且「## 基本信息」「## 性格」「## 能力/金手指」三个核心段落均有实质内容(非「(请填写)」) | ❌ 主角人物卡未完成,请先填写基本信息、性格和能力设定 |
| 2 | 核心配角人物卡 | 02-设定文档/人物库/ 下至少存在 3 张配角人物卡(.md 文件),每张卡至少包含角色姓名、身份、与主角关系、基本性格 | ❌ 核心配角人物卡不足 3 张(当前:N 张),请先在 02-设定文档/人物库/ 中创建至少 3 个配角 |
| 3 | 主线大纲 | 00-大纲细纲/主线大纲.md 中「## 三幕结构」的每一幕均有 ≥ 1 行实质描述(非「(请填写)」) | ❌ 主线大纲未完成,请先填写三幕结构(每幕至少一句话) |
| 4 | 第一卷细纲 | 00-大纲细纲/分卷细纲/ 下存在第一卷的细纲文件(如 01_第一卷.md),且包含 ≥ 5 章的章节标题与核心事件描述 | ❌ 第一卷细纲缺失或内容不足,请先在 00-大纲细纲/分卷细纲/ 中创建第一卷细纲(至少 5 章规划) |
| 5 | 系统金手指设计(系统流必检) | 若书配置.md 中无「系统金手指设计」区块且主线大纲中无系统/金手指设定 → 跳过此项(非系统流)。系统流则检查:「系统金手指设计」区块已填写实质内容(系统类型已选、不可替代价值已填、情报等级表已填),且通过删系统测试(把系统删掉故事不能照转) | ❌ 系统金手指设计未完成或未通过删系统测试,请参考 references/general/system-golden-finger-design.md 重新设计 |
3.6.2 拦截话术
🛑 骨架未完成,请先补全以下内容:
<逐项列出未通过的检查项及具体缺失内容>
💡 提示:骨架不全的写作会导致后期反复修改。补全以上内容后说「开始写第 1 章」。
3.6.3 检查时机
- 用户说「开始写第 1 章」「写第一章」「开写」等触发 novel-main 前置检查时
- 此时必须执行本检查,通过后才进入 novel-main 的 7 步循环
- 如果用户说「跳过骨架检查」,不允许跳过。提示:「骨架是质量的底线,不能跳过。请先补全。」
阶段 4:设置活跃书 + 输出确认
更新活跃书
写入 ~/.hermes/skills/novel/_state/current_book.txt:
<书名>
写入初始进度文件 ~/.hermes/skills/novel/_state/<书名>_progress.json:
{
"book_name": "<书名>",
"current_chapter": 0,
"status": "completed",
"steps_completed": [],
"current_step": null,
"last_updated": "<当前时间>",
"retry_counts": {}
}
输出最终确认
✅ 新书《<书名>》已创建!
📁 目录:~/novels/books/<书名>/
📝 已自动生成 9 个初始文件
🔖 已切换活跃书为《<书名>》
### 📋 下一步建议:
1. **填写大纲** → 编辑 `00-大纲细纲/主线大纲.md` 的三幕结构
2. **丰富世界观** → 编辑 `02-设定文档/世界观.md`
3. **创建配角** → 把配角人物卡放到 `02-设定文档/人物库/`
4. **开始写作** → 说「**开始写第 1 章**」
💡 提示:不需要一次性填完,写作过程中可以随时补充设定。
多书管理
查看所有书籍
当用户说「我有哪些书」「小说列表」时:
- 列出
~/novels/books/ 下所有子目录
- 读取每个目录下
02-设定文档/故事线状态.md,提取进度
- 输出:
### 📚 我的书架
| # | 书名 | 类型 | 进度 | 最近更新 |
|---|------|------|------|---------|
| 1 | XXX | 都市 | 12章 | 3天前 |
| 2 | YYY | 玄幻 | 0章 | — |
当前活跃:《XXX》
切换活跃书
当用户说「切换到《XXX》」「写《XXX》」时:
- 确认
~/novels/books/<XXX>/ 目录存在
- 更新
~/.hermes/skills/novel/_state/current_book.txt 为 <XXX>
- 输出:
🔖 已切换到《XXX》
📊 当前进度:第 Y 章(共 Z 章大纲)
删除书籍
当用户说「删除《XXX》」时:
- 二次确认:「确认删除《XXX》?这将永久删除所有章节和设定。(y/N)」
- 确认后:
rm -rf ~/novels/books/<XXX>/
- 删除进度文件:
rm ~/.hermes/skills/novel/_state/<XXX>_progress.json
- 如果是当前活跃书:清除
current_book.txt
- 输出:
🗑️ 《XXX》已删除
错误处理
| 场景 | 处理 |
|---|
| 书名已存在 | 提示「《XXX》已存在」,询问:覆盖 / 换名 / 继续写入 |
| 目录创建失败 | 检查权限,建议用户手工创建 |
| 文件名含特殊字符 | 自动替换:《》 → 移除,: → -,/ → _ |
| 用户中途放弃 | 不创建目录,不写任何文件 |
注意事项
- 引导式对话:一次一问,根据回答自然推进,不要审问式连问
- 宽容输入:用户提供的信息不完整时,用默认值填充 + 标注「(请填写)」
- 书名安全:自动处理文件系统不允许的字符
- 模板填充:阶段 1 收集到的信息直接填入模板,不做二次加工
- 活跃书管理:每次创建新书或切换书后,更新 current_book.txt