ソース情報
- リポジトリ
- cwjdong-design/novel
- ソースの最終更新活動
- 2026年8月12日 17:30
- 検出された SKILL.md の言語
- 中国語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/cwjdong-design/novel --skill novel-mainコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | novel-main |
| description | 番茄小说章节全流程创作 — 统筹调用所有子技能,按7步状态机完成从资料整理到备份的完整流程。支持中断恢复与自动/确认双模式 |
| category | novel |
版本历史见 git 提交记录,不在技能正文维护。
用户说「写第X章」「继续下一章」「生成一章」「续写」时使用本技能。
🚫 硬性约束:用户未明确说"继续""写第X章"时,严禁擅自推进到下一章。写完当前章后必须等待用户确认,不得自动开始新章。
在进入状态机之前,执行以下检查:
确保状态目录存在:mkdir -p ~/.hermes/skills/novel/_state/。此目录用于存储进度文件和活跃书记录。同时确保 ~/novels/_shared/{logs,backups} 存在(为 cron 预留)。
确认工作书:读取 ~/.hermes/skills/novel/_state/current_book.txt,获取当前活跃书名。如果为空或不存在,提示用户选择书籍。
确认目录存在:检查 ~/novels/books/<书名>/ 目录存在(否则先调用 novel-new-book)。
确认目标章节号:
01-正文存稿/ 下最大章节号 + 1尝试恢复中断任务:检查 ~/.hermes/skills/novel/_state/<书名>_progress.json,如果存在且 status != 'completed':
milestone_blocked == true:拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题后再继续。阻塞报告见 00-大纲细纲/里程碑审查_第N章.md」。不允许开始新章节。检查章节规划内容:读取 00-大纲细纲/章节规划.md,查找目标章节号对应行。
00-大纲细纲/章节规划.md 中为该章填写具体章节标题后再开始生成。」00-大纲细纲/章节规划.md 中为第 1 章填写具体核心事件后再开始生成。」不允许从主线大纲自动提取替代——章节规划是硬性底线。00-大纲细纲/章节规划.md 中填写该章计划后再生成。」等待用户补充后重新触发。00-大纲细纲/章节规划.md 中补充该章计划后再生成。」等待用户补充后重新触发。IDLE → PREP → PLOT → DRAFT → REVIEW → POLISH → TRACK → [章节号%5==0 → MILESTONE] → BACKUP → COMPLETED
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
(任意步骤失败可回退至 PREP 或用户取消,MILESTONE 阻塞时须回退修正对应章节后方可继续)
每个步骤有 3 种状态流转:
→ next:正常进入下一步↻ retry:失败后重试(最多 2 次)← rollback:回退至 PREP 重新开始MILESTONE 特殊规则:
current_step 标记 milestone_blocked,状态机暂停。用户必须修正对应问题的章节后重新触发。---
### 步骤 1:PREP(资料整理)
**调用子技能**:`novel-prep` + `novel-character`(人物 Want/Need 追踪)
**传入参数**:
```json
{
"book_name": "<书名>",
"chapter_num": <章节号>
}
🔒 加载书配置(不可跳过):
读取 ~/novels/books/<书名>/02-设定文档/书配置.md,提取以下规则供后续步骤使用:
⚠️ 如果书配置.md 不存在,提示用户先创建(可参考
novel-new-book§3.35 模板)。
人物 Want/Need 更新(加载 novel-character):
期望输出格式:
## 创作上下文(第 X 章)
### 前文关键信息
- 上一章结尾:<文本>
- 章末钩子:<文本>
### 人物当前状态
| 人物 | 状态 | 最近变化 |
|------|------|---------|
| ... | ... | ... |
### 待回收伏笔(优先级排序)
1. [伏笔内容] — 计划第 Y 章回收(⚠️正常 / 🚨超期 Z 章)
### 本章大纲要点
<从章节规划提取>
### 近期修正反馈
<从错误库提取,如无则写「无」>
调用子技能:novel-plot
传入参数:
{
"大纲要点": "<从步骤1 prep_output 中提取的「本章大纲要点」区块>",
"前文上下文": "<从步骤1 prep_output 中提取的完整上下文(人物状态、伏笔、修正反馈)>",
"目标章节号": <章节号>
}
🔒 跨章节奏门控(硬性,不可跳过):进入 PLOT 推演前,必须对最近 4 章(Ch.N-4 至 Ch.N-1)做情绪曲线分析,检测节奏衰退。检测方法:读取最近 4 章正文,逐章标注情绪类型(爽/建设/危机/压抑/调查),然后检查以下阈值:
| 信号 | 阈值 | 触发动作 |
|---|---|---|
| 连续无打脸 | ≥ 3 章 | 🔴 本章 PLOT 必须包含至少 1 次当众打脸(质疑→实力→闭嘴),否则退回重推 |
| 连续无正面胜利 | ≥ 3 章 | 🔴 本章 PLOT 必须包含至少 1 次「赢」(对手退让/围观者认可/问题解决) |
| 连续同情绪类型 | ≥ 3 章 | 🔴 本章情绪类型必须切换(如连续压抑→本章必须有释放/反转) |
| 主角连续被动 | ≥ 3 章 | 🔴 本章 PLOT 必须让主角主动出击(不是应对危机,是制造局面) |
| 反派隔空出手 | ≥ 3 章 | ⚠️ 本章建议让反派或其代理人正面出场 |
来源:
references/general/writing-rhythm.md。MILESTONE 每 5 章才检测一次,但节奏衰退从第 3 章就开始可观测。PLOT 门控把检测前移到每章,防止「写完 5 章才发现无聊」。与 MILESTONE 的分工:PLOT 门控是前瞻性的——看前几章的症状,决定本章该怎么写;MILESTONE 是回顾性的——5章写完后整体验收质量。两者有交叉但不矛盾:PLOT 门控防患于未然,MILESTONE 兜底验收。同一类问题(如「连续重复」),PLOT 门控触发时强制本章变化,MILESTONE 触发时阻塞并要求回退修正。
门控输出格式(PLOT 推演前置区块):
### 跨章节奏诊断(Ch.N-4 ~ Ch.N-1)
| 章节 | 情绪类型 | 有打脸 | 有正面胜利 | 主角主动/被动 |
|------|---------|--------|-----------|-------------|
| Ch.N-4 | 建设/危机/... | ✅/❌ | ✅/❌ | 主动/被动 |
| ... | ... | ... | ... | ... |
**触发阈值**:<列出触发的🔴项及本章强制对策>
**本章情绪目标**:<如:连续3章压抑→本章必须有释放/反转>
🔒 系统退化检测(与节奏门控并行执行):读取最近 5 章面板内容,检查系统是否退化为「计算器」(详见 references/general/system-golden-finger-design.md → 系统退化诊断清单 + references/general/writing-rhythm.md → 系统退化检测)。触发以下任一🔴→ 本章 PLOT 必须让系统做至少一件不可替代的事(弹新维度/数字跳变/情报优势/格局重定义):
🔒 剧情推进速度检测(与节奏门控并行执行):读取章节规划和最近 20 章正文,检查整体推进速度(详见 references/general/writing-rhythm.md → 剧情推进速度检测)。触发以下任一🔴→ 本章 PLOT 必须包含格局升级动作:
期望输出格式:
## 第 X 章剧情推演
### 跨章节奏诊断(Ch.N-4 ~ Ch.N-1)
<门控输出>
### 核心事件
(一句话)
### 情节节点
| # | 阶段 | 字数 | 内容 |
|---|------|------|------|
| 1 | 开场 | 350 | ... |
| 2 | 推进 | 1600 | ... |
| 3 | 高潮 | 450 | ... |
| 4 | 钩子 | 100 | ... |
### 本章涉及的伏笔
- 新增铺垫:XXX(计划第 Y 章回收)
- 回收伏笔:XXX
### 人物情感弧线
- 主角:XXX → XXX
🚫 硬性约束:助理不得直接写正文。DRAFT = 生成骨架(预审) → delegate_task 子智能体写正文 → 主 Agent 验证落盘。
⚠️ DRAFT/POLISH 文字创作通过 Hermes delegate_task 派发子智能体完成(模型为当前会话模型),不调度 Claude Code CLI。子智能体只生成文本返回,主 Agent 负责验证和落盘。
🔒 容量预审(硬性,不可跳过):进入 DRAFT 前必须检查骨架容量:
执行流程:
novel-skeleton 技能规范写骨架,存项目目录 00-大纲细纲/章节骨架/第N章_骨架.md。python3 ~/.hermes/skills/novel/scripts/review_scan.py <骨架路径> --book <书名> — ⛔ 骨有毒肉全烂,必须零违禁。--book 参数用于从 02-设定文档/书配置.md 加载该书的地名白名单/黑名单/系统违禁词。助理禁止:直接写正文、改骨架中数字/地名/面板、不预审派发。
🔒 前置自检(不可跳过):无论 PREP 是否已执行,DRAFT 必须自动收集以下上下文后再构造 prompt:
# 1. 人物卡(如 PREP 未执行,自动拉取)
cat ~/novels/books/<书名>/02-设定文档/人物库/*.md 2>/dev/null || echo "⚠️ 人物库为空"
# 2. 前文时间线速查(如 TRACK 未执行,自动生成基础版)
cat ~/novels/books/<书名>/06-追踪记录/前文时间线速查.md 2>/dev/null || echo "⚠️ 时间线为空"
# 3. 章节规划
grep "第<X>章" ~/novels/books/<书名>/00-大纲细纲/章节规划.md 2>/dev/null || echo "⚠️ 无章节规划"
# 4. 最近3章正文(自动提取)
ls -t ~/novels/books/<书名>/01-正文存稿/第*.md | head -3 | xargs cat 2>/dev/null
以上收集到的内容全部注入 delegate_task 的 goal 中。缺失项标注 ⚠️ 但不阻塞 DRAFT。
派发方式:使用 delegate_task(goal=...) 派发子智能体。goal 包含骨架全文 + 铁律 + 上下文。子智能体返回生成的正文文本,主 Agent 负责验证(字数/对话比/违禁词)和落盘。
骨架模式 goal 模板:
你是番茄小说签约作者。按以下骨架写第N章正文。只填肉不改骨。把正文写入指定文件。不要调用任何其他工具。
【骨架】
<从 00-大纲细纲/章节骨架/第N章_骨架.md 读取>
【铁律 — 只三条,骨架中已固化地名/数字/面板】
1. 禁止任何真实中国地名。只使用书配置中地名白名单字段定义的架空地名。
2. 系统面板原封不动放进去。不加减行。不修改数字。
3. 字数2000—2800(目标2350)。对话38%以上。方言/口语点缀3-5处。冷感叙述。章末无结束标记。
【网文校准(必须遵循)】
- 对话是核心!每个场景至少6-8轮对话交锋。
- 情绪直接给读者。对手被打脸后的反应要写透,围观者要有反应。
- 事件密度高:本章2-3个场景,每个场景都有信息增量和情绪变化。
- 大白话叙述。数字要具体。
- 章末钩子要具体,不要环境描写收尾。
- MC台词短但每句有分量。
- 字数不足只能增加有效冲突回合和对话交锋,禁止用环境描写凑字。
取回正文:从 delegate_task 返回结果中提取生成的正文内容。
验证(主 Agent 执行):
# 字数/对话比/违禁词扫描
python3 ~/.hermes/skills/novel/scripts/review_scan.py <落盘路径> --book <书名>
字数/对话比不达标时,再派一个 delegate_task 扩写子任务(传入当前正文 + 扩写指令)。字数略超(<2800)或对话比例略低(>38%)不算问题,不微调。
取回正文:从 delegate_task 返回结果中提取生成的正文内容。
ℹ️ novel-draft 输出格式为
## 第X章 <章节标题>+ 正文。novel-main 在最终报告中同样会输出章节标题,确保一致性。
字数要求:2000—2800字(番茄标准,弹性区间),目标2350字。容量不足时退回 PLOT/骨架补充有效回合,不得进入 DRAFT。不能靠 POLISH 补环境细节凑字数。
🚫 硬性约束:DRAFT 完成后必须立即执行 REVIEW,不得跳过。未输出审查报告前,禁止进入 POLISH/TRACK/BACKUP 及下一章。
执行方式:三步流水线 + 可选跨文档校验,自动串联。
第 0 步:跨文档一致性检查(每 5 章执行一次,约 2 秒)
python3 ~/.hermes/skills/novel/scripts/consistency_check.py --book "<书名>"
第 1 步:自动扫描(3 秒,DRAFT 完成后立即执行)
python3 ~/.hermes/skills/novel/scripts/review_scan.py ~/novels/books/<书名>/01-正文存稿/第X章.md --book <书名>
扫描通过(零真实问题)后,继续。
第 2 步:爽点注入检查(强制 5 项)
爽点注入检查(强制,加载 novel-writing → references/case-studies/爽点注入方法论.md):
[ ] 系统钱花出去了?花给谁?对方什么反应?
[ ] 有人不理解 MC 的能力/资源?MC 解释了吗?
[ ] 有打脸?(质疑→实力→闭嘴)
- [ ] 有收入对比?(书配置中的对照组 vs 系统收入)
[ ] 系统面板出现时 MC 是「行动」不是「算账」?
任一项「否」→ 该章需注入爽点后再次审查。
跨章爽点衰减检查(强制,与单章5项并行执行): 检查最近 3 章(含本章)的爽点密度,触发以下任一阈值→本章审查结论为 ⚠️ 不通过,必须在 POLISH 中补足:
[ ] 连续 ≥ 3 章无当众打脸?→ 🔴 本章必须补1次打脸场景
[ ] 连续 ≥ 3 章无正面胜利(对手退让/围观认可/问题解决)?→ 🔴 本章必须补1次「赢」
[ ] 连续 ≥ 3 章主角处于被动应对(危机来了→冷静处理→安排下一步)?→ 🔴 本章必须有主角主动出击
[ ] 连续 ≥ 3 章反派只隔空出手、从不正面出场?→ ⚠️ 本章建议让反派代理人正面出场
[ ] 连续 ≥ 3 章同一种叙事结构(如「危机→冷静→拒绝→安排」循环)?→ 🔴 本章结构必须变化
此检查与 PLOT 阶段的跨章节奏门控互为兜底:PLOT 门控在前端拦截,REVIEW 衰减检查在后端验证。如果 PLOT 门控触发了🔴但 DRAFT/正文未体现,REVIEW 必须拦截。
读者视角审查(每 3 章强制执行,references/case-studies/读者审查标准.md):
单章写完后放在上下文中连读 3 章,用 delegate_task 子智能体以 20 年网文读者身份审查。
读者说「想弃」→ 重写,不修。读者说「想追」→ 保留结构,微调。
广告打断点检查(每 3 章,加载 novel-platform):
调用子技能:novel-review
传入参数:
{
"draft_output": "<步骤3 的完整输出>",
"character_cards": "<人物库内容>",
"foreshadow_table": "<伏笔追踪表内容>",
"world_setting": "<世界观.md 内容>",
"storyline_status": "<故事线状态.md 内容>",
"recent_chapters": "<最近5章正文内容>"
}
REVIEW 审查自检清单(审查时必须逐条检查,不得跳过):
02-设定文档/人物库/ 中的人物状态)04-错误库/禁用词表.md 或知识库中的禁用词列表,注意区分对话中的口语化表达与叙事中的禁用词)02-设定文档/书配置.md 的地名白名单字段中定义的架空地名,不包含任何真实中国地名(扫描 '港''城''市''县''镇' 等字眼,与白名单交叉核验)02-设定文档/书配置.md)③结算仅在凌晨00:00弹出,其他时间面板仅被动统计 ④每章至少出现1次系统面板(面板字段从 02-设定文档/书配置.md 的系统面板字段读取)⚠️ 审查报告必须先逐条列出以上 7 项的结果(✅/⚠️),再输出问题清单。任一项未通过(⚠️)则审查结论为 ⚠️ 不通过。
🚫 硬性约束:DRAFT 完成后必须立即执行 REVIEW,不得跳过。未输出审查报告前,禁止进入 POLISH/TRACK/BACKUP 及下一章。
期望输出格式:
## 审查报告 — 第 X 章
### 总体结论
✅ 通过 / ⚠️ 不通过
### 问题清单
| 序号 | 等级 | 类型 | 位置 | 问题描述 | 修改建议 |
|------|------|------|------|---------|---------|
| 1 | 🔴严重 | OOC | 第X段 | ... | ... |
| 2 | 🟡建议 | 节奏 | 第X段 | ... | ... |
### 质量评分
- 对话自然度:⭐/5
- 节奏把控:⭐/5
- 钩子吸引力:⭐/5
通过/不通过判断:
执行方式:派发给 delegate_task 子智能体执行。
🔒 修改前备份(强制,不可跳过):在执行 POLISH 修改之前,必须先备份当前章节到版本历史:
python3 ~/.hermes/skills/novel/scripts/backup_chapter.py ~/novels/books/<书名>/01-正文存稿/第X章.md
备份后文件存入 03-版本备份/正文历史/第X章_YYYYMMDD_HHMMSS.md。
⚠️ 没有备份就没有修改历史,改错了找不回来。此步骤不可跳过。
派发方式:使用 delegate_task(goal=...) 派发子智能体。goal 包含初稿全文 + 审查报告 + 打磨原则。
传入内容(作为 goal 传递):
<书名><步骤3 的完整输出><步骤4 的完整输出>goal 模板:
你是一位番茄小说资深编辑。请根据审查报告打磨以下第X章正文。
【初稿】
{步骤3 的完整输出}
【审查报告】
{步骤4 的完整输出}
打磨原则:
- 审查通过的 → 标准打磨(对话/画面感/节奏/钩子强化)
- 审查不通过的 → 先修复审查问题,再标准打磨
- 打磨 ≠ 重写,保持原有剧情结构
- 作者风格:直接、不煽情、冷幽默、冷感叙述
- 输出打磨后的完整定稿(Markdown,格式同初稿)
取回正文:从 delegate_task 返回结果中提取打磨后的定稿,主 Agent 负责落盘。
打磨原则:
REVIEW↔POLISH 循环状态处理:
current_step 设为 "review",steps_completed 数组中移除 "review" 和 "polish",retry_counts.review_polish_loop 递增 1。调用子技能:novel-track + novel-platform(章末读者互动模板)
传入参数:
{
"final_draft": "<步骤5 的定稿>",
"plot_output": "<步骤2 的完整输出>",
"book_name": "<书名>",
"chapter_num": <章节号>
}
章末读者互动(如果本章是广告打断点(3/6/9章),加载 novel-platform 模板):
期望输出格式:
## 更新确认 — 第 X 章
### 人物状态变更
- <人物名>:XXX → XXX
### 伏笔变更
- 新增:N 条
- 回收:N 条
- 🚨 超期未回收:N 条
### 主线进度
X / Y 章(XX%)
### 前文时间线速查(供下一章 DRAFT 使用)
<!-- 本区块输出后同时追加保存到 `06-追踪记录/前文时间线速查.md`,供步骤3 DRAFT 读取 -->
| 章节 | 标题 | 梗概(≤20字) | 时间标记 |
|------|------|--------------|----------|
| Ch.X-2 | `<标题>` | `<梗概>` | `<日期/时间>` |
| Ch.X-1 | `<标题>` | `<梗概>` | `<日期/时间>` |
| Ch.X | `<标题>` | `<梗概>` | `<日期/时间>` |
> ℹ️ 首次写第1章时仅输出 Ch.1 行;第2章时输出 Ch.1–2;第3章起固定输出最近3章。每完成一章后,将此表追加/更新到 `06-追踪记录/前文时间线速查.md`(只保留最近3行)。
⚠️ 条件触发:在以下任一条件满足时执行本步骤:
章节号 % 5 == 0(即第 5、10、15、20...章)- 当前章节是所在卷的最后一章(从分卷细纲/章节规划确认。卷末必须审查,不论章节号是否为5的倍数) 非上述情况的章节跳过本步骤,直接进入 BACKUP。
调用子技能:novel-milestone(若不存在则按以下规范内联执行)
传入参数:
{
"book_name": "<书名>",
"current_chapter": <当前章节号>,
"last_5_chapters": "<最近5章正文内容(第 N-4 至第 N 章)>",
"track_output": "<步骤6 TRACK 的完整输出>",
"foreshadow_table": "<06-追踪记录/伏笔追踪表.md 完整内容>",
"main_outline": "<00-大纲细纲/主线大纲.md 内容>",
"volume_outline": "<00-大纲细纲/分卷细纲.md 内容>",
"timeline_tracker": "<06-追踪记录/前文时间线速查.md 完整内容>",
"character_cards": "<02-设定文档/人物库/ 下所有文件内容>",
"arc_tracker": "<06-追踪记录/人物弧线追踪.md(若有)>"
}
审查维度(5 项,必须逐条检查):
00-大纲细纲/主线大纲.md 中的人物弧线规划对照,检查主要人物(≥ 3 个)的阶段性推进是否达标(预期 vs 实际)00-大纲细纲/分卷细纲.md 对照,检查当前卷内进度(已完成章节数 / 本卷总章节数),确认主线事件完成度是否匹配规划00-大纲细纲/分卷细纲/ 中对应卷的细纲,确认其章节段描述与最近 5 章实际内容不矛盾。若章节段内容明显过时(描述的事件已发生但完全不同)→ ⚠️ 警告,提示需更新。期望输出格式:
## 里程碑审查报告 — 第 N 章(第 N/5 次里程碑)
### 总体结论
✅ 通过 / ⚠️ 阻塞(一级问题)
### 逐项检查
#### 1. 前后 5 章连贯性
| 检查项 | 状态 | 说明 |
|--------|------|------|
| 剧情跳跃 | ✅/⚠️/🚨 | <具体说明> |
| 剧情重复 | ✅/⚠️/🚨 | <具体说明> |
#### 2. 伏笔埋坑状态
| 类型 | 数量 | 详情 |
|------|------|------|
| 新增 | N 条 | V01, V02, ... |
| 回收 | N 条 | VXX→第X章回收, ... |
| 🚨超期≥3章 | N 条 | VXX(计划Ch.Y,已超Z章) |
| ⚠️超期1-2章 | N 条 | VXX(计划Ch.Y,已超Z章) |
#### 3. 人物弧线推进
| 人物 | 预期阶段 | 实际进度 | 偏差 |
|------|---------|---------|------|
| <主角> | <弧线描述> | <实际表现> | ✅/⚠️ |
| <配角1> | <弧线描述> | <实际表现> | ✅/⚠️ |
| <配角2> | <弧线描述> | <实际表现> | ✅/⚠️ |
#### 4. 主线进度
- 本卷总章节:X 章
- 已完成:Y 章(YY%)
- 规划节点对比:<预期 vs 实际>
- 偏差评估:✅/⚠️/🚨
#### 5. 时间线全链路一致性
| 章节 | 时间标记 | 距前章间隔 | 一致性 |
|------|---------|-----------|--------|
| Ch.N-4 | <时间> | — | ✅ |
| ... | ... | ... | ... |
| Ch.N | <时间> | <间隔> | ✅/⚠️ |
### 阻塞问题清单(如有)
| 序号 | 等级 | 维度 | 涉及章节 | 问题描述 | 修正建议 |
|------|------|------|---------|---------|---------|
| 1 | 🔴阻塞 | 连贯性 | Ch.X-Y | ... | ... |
| 2 | 🚨严重 | 伏笔 | Ch.Z | ... | ... |
### 通过后的放行声明
> ✅ 第 N 章里程碑审查通过。第 N/5 批 5 章(Ch.N-4 ~ Ch.N)质量检验合格,允许进入第 N+1 ~ N+5 章的创作。
通过/阻塞判断:
milestone_blocked,展示阻塞问题清单,提示用户修正对应章节后重新触发里程碑审查阻塞时的处理流程:
current_step 设为 milestone_blocked,status 设为 failed00-大纲细纲/里程碑审查_第N章.mdmilestone_blocked 状态 → 若存在则拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题」调用子技能:novel-backup
传入参数:
{
"final_draft": "<步骤5 的定稿>",
"book_name": "<书名>",
"chapter_num": <章节号>,
"word_count": <字数>,
"mode": "chapter"
}
期望输出格式:
✅ 备份完成
- 正文:01-正文存稿/第X章.md
- 设定快照:03-版本备份/设定快照_第X章/
- 备份版本:v<version>
✅ 第 X 章《章节标题》完成!
📊 本章统计:
- 字数:XXXX
- 新增伏笔:N 条(V01-V0N)
- 回收伏笔:N 条
- 人物状态变更:N 人
📁 备份已保存 → 03-版本备份/设定快照_第X章/
🔄 下一步:说「继续下一章」写第 Y 章
写入进度文件:更新 ~/.hermes/skills/novel/_state/<书名>_progress.json,标记 status: 'completed'。
📄 完整机制(进度文件格式/状态枚举/保存时机/恢复流程/技能缓存)见
references/general/progress-format.md。
核心要点:
~/.hermes/skills/novel/_state/<书名>_progress.jsonmilestone_blocked 状态拦截新章节,需先修正阻塞问题milestone_blocked 和 status != 'completed'| 步骤 | 自动化 | 需要确认 | 触发确认的条件 |
|---|---|---|---|
| 前置检查 | ✅ | — | 无活跃书 / 书不存在时询问 |
| 中断恢复 | — | ✅ 确认 | 检测到未完成进度 |
| PREP | ✅ | — | 仅在 fallback 时询问 |
| PLOT | ✅ | — | 仅在 fallback 时询问 |
| DRAFT | ✅ | — | 仅在字数严重异常时询问 |
| REVIEW | ✅ | ✅ 需确认 | 3 次审查仍不通过时 |
| POLISH | ✅ | — | 仅在打磨引入新问题时 |
| TRACK | ✅ | — | 仅在写入失败时 |
| MILESTONE | ✅ | ✅ 阻塞时 | 仅 5 的倍数章节触发;审查不通过时标记阻塞,需用户修正 |
| BACKUP | ✅ | — | 仅在打包失败时 |
| 最终统计 | ✅ | — | 自动展示 |
总结:正常流程下,用户说「写第 X 章」→ 全自动 7-8 步(5 的倍数章为 8 步)→ 看到完成报告。仅在异常或里程碑阻塞时才需要用户介入。
在 PREP 开始前,检查当前活跃书。如果用户说「切到《XXX》写第 Y 章」:
~/.hermes/skills/novel/_state/current_book.txt 为 <XXX>milestone_blocked),不允许进入下一批 5 章,必须先修正再继续milestone_blocked 状态下的书籍,前置检查时必须拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题」,不允许开始新章节~/novels/books/<书名>/~/.hermes/skills/novel/~/.hermes/skills/novel/knowledge/~/.hermes/skills/novel/_state/~/novels/_shared/logs/ 和 ~/novels/_shared/backups/delegate_task 派发子智能体完成,不调度 Claude Code CLI。主 Agent 负责验证(review_scan.py)和落盘。字数略超或对话比例略低不微调——这是小说,不是代码。00-大纲细纲/里程碑审查_第N章.md,方便后续回溯各批 5 章的质量评估历史