|
|
5 luni în urmă | |
|---|---|---|
| evolution | 5 luni în urmă | |
| genres | 5 luni în urmă | |
| scripts | 5 luni în urmă | |
| .gitignore | 5 luni în urmă | |
| README.md | 5 luni în urmă | |
| REFERENCE.md | 5 luni în urmă | |
| SKILL.md | 5 luni în urmă | |
| WORKFLOWS.md | 5 luni în urmă |
长中短篇小说写作技能,覆盖题材诊断→深度问诊→设定→大纲共创→单章流水线(细纲→写作→质检→进化→审批)全流程。
核心能力:
前置依赖: 本技能在 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章",技能自动完成全部流程:
evolution/genres/{genre_id}/ 加载题材最优提示词 + 阈值用户不需要输入任何 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 仓库只追踪事件文件(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 命令。网络不通时自动降级为纯本地模式。
# 从指定项目检测题材,重建所有编译产物
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() 从内置种子初始化,与事件回放结果一致 |
| 中文题材 | 题材 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
操作系统:
evolve.sh用于 Linux/macOS,evolve.ps1用于 Windows PowerShell。功能完全相同,参数格式略有差异(--flagvs-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/skills/novel-write/SKILL.md%USERPROFILE%\.claude\skills\novel-write\SKILL.md如果使用软链接,确保链接目标存在且可读。
进化脚本在网络不通时自动降级为纯本地模式,不影响写作。手动重试:
cd ~/.claude/skills/novel-write && git pull
# 从事件重建编译产物
bash scripts/evolve.sh --project /path/to/novel --compile
如果题材尚无任何事件,compile 会自动从内置种子初始化。
genres/ 目录下,格式为 YAML frontmatter + Markdown bodypython3 scripts/seed_extractor.py --genre {新题材} 初始化题材进化目录项目铁律.md 中的 genre 字段并匹配evolve.sh 自动检测缺失的编译产物,从事件重建任意位置。写作时告诉 Claude Code 项目路径即可。推荐放在独立的工作目录而非技能目录内。
genres/ 目录下创建新 .md 文件,参考现有题材格式python3 scripts/seed_extractor.py --genre {新题材} --show 预览提取结果python3 scripts/seed_extractor.py --genre {新题材} 初始化进化目录genres/ 下的新文件和进化事件文件题材配置文件格式:
---
genre_id: xinxitai
display_name: "新题材"
chapter_types: ["类型A", "类型B", "过渡", "回收"]
pleasure_points: ["爽点1", "爽点2", "爽点3"]
seeds:
writing: |
写作规则提示词...
revision: |
修稿规则提示词...
quality_check: |
质检标准提示词...
outline: |
大纲规则提示词...
hook_management: |
伏笔管理提示词...
---