Fără Descriere

nonvioce 4b58040fba evolve(genres,patterns): auto-commit evolution data 5 luni în urmă
evolution 4b58040fba evolve(genres,patterns): auto-commit evolution data 5 luni în urmă
genres dc2d731ea4 内置15题材中文配置,完全自包含零外部依赖 5 luni în urmă
scripts 38e66f64f0 fix(evolve.ps1): 修复Windows PowerShell兼容性问题 5 luni în urmă
.gitignore 5d16583f9a fix: gitignore shared mutable files, compile always after pull 5 luni în urmă
README.md 5b1ac0ebc8 refactor: split SKILL.md into three files, add per-chapter QA and evolution gates 5 luni în urmă
REFERENCE.md 5b1ac0ebc8 refactor: split SKILL.md into three files, add per-chapter QA and evolution gates 5 luni în urmă
SKILL.md cf8c1a642b update 5 luni în urmă
WORKFLOWS.md 5b1ac0ebc8 refactor: split SKILL.md into three files, add per-chapter QA and evolution gates 5 luni în urmă

README.md

novel-write — Claude Code 小说写作技能

长中短篇小说写作技能,覆盖题材诊断→深度问诊→设定→大纲共创→单章流水线(细纲→写作→质检→进化→审批)全流程。

核心能力:

  • 六条铁律 — 展示而非讲述、冲突驱动、悬念承上启下、爽点密度、类型框架内新鲜感、自动进化
  • 三根支柱 — 项目铁律(宪法级规则)+ 事件钩子账本(伏笔全生命周期)+ 情感矩阵(角色情感连贯性)
  • 四维引擎 — 爽点、笑点、代入感、反同质化,每章自动四维检查
  • 质检体系 — 五遍编辑评估(结构→角色→原创性→对话→文本)+ 自修正循环 + 章节审批门
  • 自优化进化 — 每次写作后自动进化提示词和质量阈值,同题材越写越好
  • 15 个题材 — 仙侠、玄幻、都市、恐怖、科幻、末世、无限流、游戏、奇幻、言情、轻小说、种田、地下城、修真、通用

前置依赖: 本技能在 Claude Code 中运行,利用 Claude 的大语言模型进行小说创作。无需 GPU、无外部 API、完全本地运行。

远程仓库: ssh://git@数学.top:10022/nonvioce/novel-skill.git


目录


安装

完全自包含,零外部依赖。内置 15 个中文题材配置文件。

# Linux/macOS:克隆仓库
git clone ssh://git@数学.top:10022/nonvioce/novel-skill.git ~/.claude/skills/novel-write

# 或:如果已有本地项目,直接软链接
ln -s /path/to/novel-skill ~/.claude/skills/novel-write

Windows 用户将 ~/.claude/skills/novel-write 替换为 %USERPROFILE%\.claude\skills\novel-write,软链接替换为 mklink /D 或直接克隆到该路径。

安装后,在 Claude Code 对话中输入"写小说""开新书""续写第X章"等自动触发技能。

快速开始

创建新项目

按以下结构创建小说项目目录:

{书名}/
├── 项目铁律.md          # 必须。POV、时态、禁用词、世界观硬限制。frontmatter 写 genre 字段
├── 设定/
│   ├── 世界观.md
│   ├── 角色/{角色名}.md
│   ├── 势力.md
│   ├── 关系图.md
│   └── 题材定位.md
├── 大纲/
│   ├── 全書大纲.md
│   ├── 卷纲_第N卷.md
│   └── 细纲_第NNN章.md
├── 正文/
│   └── 第NNN章_章名.md
├── 对标/
│   └── {书名}/风格报告.md    # 可选。用于风格注入进化
└── 追踪/
    ├── 钩子账本.md
    ├── 情感矩阵.md
    ├── 时间线.md
    └── 上下文.md

项目铁律.md 示例 frontmatter:

---
title: "重生囤货:绑定诡异种田"
genre: "末世"           # ← 题材识别关键字段
sub_genre: "种田+诡异+重生"
pov: "第三人称有限"
tense: "过去时"
target_words: 3000
---

写作对话中(全自动)

在 Claude Code 中直接说"写第33章",技能自动完成全部流程:

  1. 确认/创建细纲(Step 0)→ 进化脚本 git pull + compile
  2. 加载细纲、钩子账本、情感矩阵、上下文
  3. 从 evolution/genres/{genre_id}/ 加载题材最优提示词 + 阈值
  4. 边写边对照六条铁律 + 四维引擎检查
  5. 写后自检 + 长度标准化
  6. 更新钩子账本、情感矩阵、时间线、上下文
  7. 质检:五遍编辑评估(P1→P5)→ 自修正循环(最多5轮,<80废弃)
  8. 进化:evolve.sh --project → git add + commit + push
  9. 审批(单章续写):review 检查清单 → approved / rejected

用户不需要输入任何 git 或进化命令。 所有 git pull、git commit、git push 由进化脚本自动完成。网络不通时自动降级为纯本地模式,不会报错中断。

对话示例

开新书

用户:开新书,我想写一本末世种田文
Claude:先做题材诊断。五句话——
  1. 类型:末世 + 种田 + 诡异(system-apocalypse × cozy × horror)
  2. 核心卖点:...
  ...
  诊断通过。开始深度问诊——
  第一问:核心类型是末世,子方向更偏向废土求生还是系统降临?

续写

用户:写第33章
Claude:[自动运行 evolve.sh → git pull + compile]
  → 加载项目铁律、细纲第33章、钩子账本、情感矩阵
  → 加载末世题材最优提示词
  → 写作...
  → [自动运行 evolve.sh --project → 进化 → git push]

质检

用户:质检最近3章
Claude:→ 执行五遍编辑评估
  P1 结构编辑:...  P2 角色编辑:...  P3 原创性:...  P4 对话:...  P5 文本:...
  综合评分 83 → 通过
  一致性检查:无 S1/S2 问题 ✓
  去 AI 味检查:通过 ✓

修改

用户:修改第33章,主角情绪太突兀
Claude:→ 读取第32-34章 + 情感矩阵
  → 定位情感跳变点 → 精确编辑
  → 更新情感矩阵

更多触发词

想做什么 说什么
批量写 "批量写第40到45章"
风格模仿 "分析风格 三体.txt"
导入已有书 "导入小说 我的书.txt"
全书改名 "改名 张三 李四"
查看数据 "仪表板"
新建角色 "添加角色 王五"
调整大纲 "调整大纲"

技能架构

本仓库的 AI 指令由三个文件组成,按需加载:

novel-skill/
├── README.md              # 本文件,用户手册(给人看)
├── SKILL.md               # 技能主入口(197行),铁律+流程+场景路由(AI 日常使用)
├── WORKFLOWS.md           # 完整流程展开(题材诊断/深度问诊/大纲共创/续写/质检体系等)
├── REFERENCE.md           # 理论与参考(三根支柱/四维引擎/自优化系统详解/语言规则)
├── scripts/               # 进化引擎脚本
│   ├── evolve.sh          # Linux/macOS 进化编排器
│   ├── evolve.ps1         # Windows PowerShell 进化编排器
│   ├── prompt_evolver.py  # 提示词遗传进化
│   ├── quality_tuner.py   # 质量阈值自适应
│   ├── pattern_mine.py    # 写作模式挖掘
│   ├── event_store.py     # 事件溯源引擎
│   ├── seed_extractor.py  # 内置15题材种子提取
│   └── utils.py           # 共享工具
├── genres/                # 内置15题材配置文件
├── evolution/             # 进化输出数据
└── docs/                  # 设计文档(如有)

原理: Claude Code 加载 SKILL.md 获取核心操作指令(铁律、总写作流程、场景路由、紧凑版流程)。WORKFLOWS.md 提供完整流程展开(题材诊断、深度问诊、大纲共创、续写详细步骤、质检完整体系等),REFERENCE.md 提供理论参考(三根支柱、四维引擎、进化系统详解等)。用户参考 README.md 了解安装、配置和手动操作。

进化系统

架构

题材级共享 — 同题材所有项目共用进化数据。写第二本末世时,第一本的优化直接可用。

evolution/
├── thresholds.json                 # [gitignored] 技能级默认阈值,--compile 重建
├── prompts/
│   ├── population.json             # [gitignored] 技能级种群,--compile 从事件重建
│   └── current_best.json           # [gitignored] 技能级最优,--compile 从事件重建
├── patterns/
│   └── pattern_library.json        # 跨题材模式库
└── genres/                         # 题材级共享目录
    └── {genre_id}/                 # other, xianxia, urban, horror ...
        ├── thresholds.json         # [gitignored] 题材特定质量阈值,--compile 重建
        ├── prompts/
        │   ├── population.json     # [gitignored] 5岛种群,--compile 从事件重建
        │   └── current_best.json   # [gitignored] 各岛最优,--compile 从事件重建
        ├── patterns/
        │   └── pattern_library.json
        └── events/                 # ★ 唯一纳入 git 追踪的进化数据
            └── {timestamp}_{user}.json   # 不可变事件,永远不冲突

[gitignored] 文件不纳入版本控制。git pull 后 evolve.sh 自动调用 --compile 从事件重建。

五大岛屿

岛屿 作用 写作阶段
writing 写作规则(密度/去AI味/人物/心理) 写前注入
revision 修稿规则(润色边界/字数治理) 修改时注入
quality_check 质检标准(37维审查/五遍评估) 质检时参照
outline 大纲规则(章节类型轮换/世界观一致性) 大纲阶段参照
hook_management 伏笔管理(生命周期/准入控制/健康分析) 全程参照

遗传算子

  • 交叉 — 两父本按句切分拼接
  • 突变 — 同义词替换 + 句序重排 + 前缀注入
  • 简化 — 保留首尾句,去中间
  • 注入 — 从对标/风格报告提取句式/对话/节奏特征,编码为提示词变体

自适应机制

机制 触发条件 行为
早停 单岛连续2代提升<3% 跳过该岛变异
灭绝重播 连续3代提升<5% 删底30%,重播:题材种子50%+风格注入30%+交叉20%
阈值调优 通过率>90% 提高 pass 线 (+3)
阈值调优 通过率<30% 降低 pass 线 (-3)
权重调优 某P维度持续最低 该维度增权
岛屿迁移 每2代 各岛最优2个体注入相邻岛(分×0.9)

多维评分

不再用单一 composite score。每个提示词变体按 P1-P5 独立追踪:

变体 "abc123" → {P1: 88 (trials=3), P2: 72 (trials=3), P3: 65 (trials=3), P4: 80 (trials=3), P5: 90 (trials=3)}
综合分 = 88×0.35 + 72×0.25 + 65×0.15 + 80×0.15 + 90×0.10 = 80.6

新反馈用滑动平均合并:new = (old × trials + score) / (trials + 1)

多用户 Git 共享(含多设备)

原理:事件溯源 + 编译重建

Git 仓库只追踪事件文件(evolution/genres/*/events/*.json)和 README。

以下共享可变文件已加入 .gitignore,不纳入版本控制:

  • population.json / current_best.json / thresholds.json(skill 级和题材级)
  • evolution_log.md(追加型日志,多设备并行写入自然冲突)

这些文件是编译产物,每次 git pull 后由 evolve.sh 自动从事件重建。事件文件名含时间戳和用户名({timestamp}_{user}.json),永远不冲突。

同一用户多设备

同一 git 用户在不同设备上写作,零冲突:

设备 A 设备 B 结果
写第 35 章 → 进化 → push — A 的事件文件推送成功
— git pull → 自动 --compile B 从事件重建 population,包含 A 的优化
— 写第 36 章 → 进化 → push B 的事件文件推送成功
A git pull → 自动 --compile — A 从事件重建 population,包含 B 的优化

两个设备在不同时间产生的进化数据,通过事件文件合并到同一题材种群中,互不覆盖。

自动工作流(进化脚本全自动)

操作系统: evolve.sh 用于 Linux/macOS (bash),evolve.ps1 用于 Windows (PowerShell)。两个脚本功能完全相同。

# 写前:进化脚本自动执行
#   → git pull(获取其他设备/用户的进化事件)
#   → event_store.py compile(从事件重建 population/thresholds/current_best)
#   → 加载最新最优提示词,开始写作

# 写后:进化脚本 --project /path/to/novel 自动执行
#   → 收集反馈 → 分析质量 → 提示词进化
#   → git add evolution/genres/*/events/(只推送事件文件)
#   → git commit + git push

用户不需要手动执行任何 git 命令。网络不通时自动降级为纯本地模式。

手动 compile(仅在自动流程失效时使用)

# 从指定项目检测题材,重建所有编译产物
bash scripts/evolve.sh --project /path/to/novel --compile
# Windows PowerShell:
# .\scripts\evolve.ps1 -Project /path/to/novel -Compile

# 或直接指定题材
python3 scripts/event_store.py compile --genre xianxia

冲突场景覆盖

场景 冲突? 原因
同一用户多设备交替写作 无 事件文件 {ts}_{user}.json,不同时间戳
不同用户同题材写不同书 无 各自写事件文件,不同用户名+时间戳
不同用户同时给同一题材进化 无 进化事件记录不同变体 ID,合并后种群更丰富
不同用户给同一变体评分 无 反馈事件各自独立,编译器回放时滑动平均合并
population.json / thresholds.json 无(已解决) 已 gitignore,不在仓库中;由 --compile 从事件重建
新设备首次克隆后 无 evolve.sh 自动检测到缺失编译产物,从事件重建
题材尚无任何事件 无 compile_all() 从内置种子初始化,与事件回放结果一致

题材管理

支持的 15 个题材(全部内置中文配置)

中文题材 题材 ID 章类型 爽点类型示例
仙侠、修仙 xianxia 战斗/悟道/布局/过渡/回收 悟道突破、斗法碾压、天劫渡过
玄幻 xuanhuan 战斗/功法/升级/过渡/回收 越级反杀、神体觉醒、血脉吞噬
都市、现代、职场 urban 商战/社交/布局/过渡/回收 商战碾压、身份揭示、人脉兑现
恐怖、惊悚、灵异、悬疑 horror 铺垫/诡异/恐怖/过渡/回收 恐惧具现化、逃脱、规则破解
科幻、星际、未来 sci-fi 探索/战斗/布局/过渡/回收 发现、科技突破、首次接触
末世、废土、末日 system-apocalypse 求生/战斗/布局/过渡/回收 绝境求生、领土占领、社会重建
无限流、轮回 tower-climber 关卡挑战/升级/布局/过渡/回收 楼层通关、Boss击败、登顶进度
游戏、网游、系统 litrpg 升级/布局/过渡/回收/战斗 升级、技能解锁、装备掉落
奇幻、西幻、魔法 progression 修炼/突破/布局/过渡/回收 等阶突破、技能精通、对手超越
言情、古言、恋爱 romantasy 感情/动作/布局/过渡/回收 化学反应、初吻、关系确认
轻小说、异世界、穿越 isekai 探索/适应/布局/过渡/回收/战斗 世界规则发现、现实技能应用
种田、日常、温馨、治愈 cozy 日常/社区/布局/过渡/回收 关系深化、情感突破、技艺精通
地下城、地城 dungeon-core 策略/冒险者视角/布局/过渡/回收 陷阱成功、楼层扩展、仆从进化
东方修真 cultivation 修炼/突破/战斗/布局/过渡/回收 境界突破、功法大成、天劫渡过
通用回退 other 推进/布局/过渡/回收 目标达成、困难克服、真相揭示

添加新题材

在 genres/ 目录下创建新 .md 文件,遵循 YAML frontmatter + Markdown body 格式:

# 预览提取结果
python3 scripts/seed_extractor.py --genre {新题材} --show

# 初始化题材进化目录
python3 scripts/seed_extractor.py --genre {新题材}

查看某题材进化状态

python3 scripts/prompt_evolver.py show --genre xianxia
python3 scripts/event_store.py list --genre xianxia

全部 CLI 命令

操作系统: evolve.sh 用于 Linux/macOS,evolve.ps1 用于 Windows PowerShell。功能完全相同,参数格式略有差异(--flag vs -Flag)。下面以 bash 为例:

# === 进化编排 ===
bash scripts/evolve.sh                                    # 快速进化(自动检测项目)
# Windows: .\scripts\evolve.ps1
bash scripts/evolve.sh --project /path/to/novel           # 指定项目
# Windows: .\scripts\evolve.ps1 -Project /path/to/novel
bash scripts/evolve.sh --project /path/to/novel --full    # 完整进化
# Windows: .\scripts\evolve.ps1 -Project /path/to/novel -Full
bash scripts/evolve.sh --project /path/to/novel --report  # 状态报告
# Windows: .\scripts\evolve.ps1 -Project /path/to/novel -Report
bash scripts/evolve.sh --project /path/to/novel --compile # 从事件重建
# Windows: .\scripts\evolve.ps1 -Project /path/to/novel -Compile

# === 提示词进化 ===
python3 scripts/prompt_evolver.py evolve                      # 技能级进化
python3 scripts/prompt_evolver.py evolve --genre xianxia -g 5 # 题材级进化
python3 scripts/prompt_evolver.py evolve --project /path/to/novel  # 自动检测题材
python3 scripts/prompt_evolver.py show                        # 查看技能级最优
python3 scripts/prompt_evolver.py show --genre xianxia        # 查看某题材最优

# === 质量阈值 ===
python3 scripts/quality_tuner.py show                             # 当前阈值
python3 scripts/quality_tuner.py analyze --project /path/to/novel # 分析
python3 scripts/quality_tuner.py tune --project /path/to/novel    # 分析并应用


# === 事件溯源 ===
python3 scripts/event_store.py compile --genre other    # 编译 population
python3 scripts/event_store.py list --genre other       # 列出事件摘要

# === 种子提取 ===
python3 scripts/seed_extractor.py --genre xianxia --show   # 预览某题材种子
python3 scripts/seed_extractor.py --genre urban             # 初始化某题材进化目录

# === 模式挖掘 ===
python3 scripts/pattern_mine.py show --top 10
python3 scripts/pattern_mine.py mine --project /path/to/novel

关键文件参考

文件 用途
SKILL.md 技能主入口(197行),铁律+总写作流程+场景路由+紧凑版流程
WORKFLOWS.md 完整流程展开(题材诊断/深度问诊/大纲共创/续写/质检体系等)
REFERENCE.md 理论与参考(三根支柱/四维引擎/自优化系统详解/语言规则)
README.md 本文件,用户手册
scripts/evolve.sh 进化编排器入口 (Linux/macOS),自动检测项目/题材
scripts/evolve.ps1 进化编排器入口 (Windows PowerShell),功能与 .sh 完全相同
scripts/prompt_evolver.py 岛屿模型 + 遗传算法 + 早停 + 灭绝
scripts/seed_extractor.py 内置15题材配置 → 5岛种子提取
scripts/event_store.py 事件溯源引擎(编译/写入/列出事件)
scripts/quality_tuner.py 质量阈值自适应调优
scripts/pattern_mine.py MAP-Elites 写作模式挖掘
scripts/utils.py 共享工具(路径解析/题材映射/持久化)

常见问题

Claude Code 提示"技能未找到"

确认技能已安装到正确路径:

  • Linux/macOS: ~/.claude/skills/novel-write/SKILL.md
  • Windows: %USERPROFILE%\.claude\skills\novel-write\SKILL.md

如果使用软链接,确保链接目标存在且可读。

git pull 失败

进化脚本在网络不通时自动降级为纯本地模式,不影响写作。手动重试:

cd ~/.claude/skills/novel-write && git pull

进化数据没有更新

# 从事件重建编译产物
bash scripts/evolve.sh --project /path/to/novel --compile

如果题材尚无任何事件,compile 会自动从内置种子初始化。

新增题材后进化不生效

  1. 确认题材配置文件在 genres/ 目录下,格式为 YAML frontmatter + Markdown body
  2. 运行 python3 scripts/seed_extractor.py --genre {新题材} 初始化题材进化目录
  3. 写下一章时,技能会自动识别 项目铁律.md 中的 genre 字段并匹配

换新设备后如何恢复

  1. 克隆仓库到技能目录
  2. 克隆你的小说项目
  3. 首次写作时 evolve.sh 自动检测缺失的编译产物,从事件重建
  4. 无需手动操作

小说项目目录可以放在哪里

任意位置。写作时告诉 Claude Code 项目路径即可。推荐放在独立的工作目录而非技能目录内。

如何贡献新题材

  1. 在 genres/ 目录下创建新 .md 文件,参考现有题材格式
  2. 运行 python3 scripts/seed_extractor.py --genre {新题材} --show 预览提取结果
  3. 运行 python3 scripts/seed_extractor.py --genre {新题材} 初始化进化目录
  4. 提交 PR,只包含 genres/ 下的新文件和进化事件文件

题材配置文件格式:

---
genre_id: xinxitai
display_name: "新题材"
chapter_types: ["类型A", "类型B", "过渡", "回收"]
pleasure_points: ["爽点1", "爽点2", "爽点3"]
seeds:
  writing: |
    写作规则提示词...
  revision: |
    修稿规则提示词...
  quality_check: |
    质检标准提示词...
  outline: |
    大纲规则提示词...
  hook_management: |
    伏笔管理提示词...
---

参考来源

  • InkOS — 题材配置、37维质检、伏笔全生命周期
  • OpenEvolve — MAP-Elites、岛屿模型、双选择