Просмотр исходного кода

feat: 添加 webnovel-writer 完整命令和配置

新增命令:
- /webnovel-init: 项目初始化
- /webnovel-plan: 卷级大纲规划
- /webnovel-write: 章节创作
- /webnovel-query: 设定查询
- /webnovel-review: 质量审查

配置文件:
- settings.local.json: 本地设置

🚀 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
lingfengQAQ 5 месяцев назад
Родитель
Сommit
363ad44fdb

+ 103 - 0
.claude/commands/webnovel-init.md

@@ -0,0 +1,103 @@
+---
+allowed-tools: Bash, Write, Read, AskUserQuestion
+argument-hint: [题材类型] | 留空交互式选择
+description: 初始化网文项目,生成设定集和大纲框架。创建 AI 工作室的完整项目结构。
+---
+
+# /webnovel-init
+
+初始化网文创作项目,创建"AI 工作室"所需的完整文件结构。
+
+## 执行流程
+
+### Step 1: 检测现有项目
+```bash
+if [ -f ".webnovel/state.json" ]; then
+    询问用户是否覆盖现有项目
+fi
+```
+
+### Step 2: 选择题材
+
+使用 AskUserQuestion 让用户选择题材类型:
+
+```json
+{
+  "questions": [{
+    "header": "题材选择",
+    "question": "请选择您的小说题材类型?",
+    "options": [
+      {"label": "修仙(系统流)", "description": "经典修仙 + 金手指系统,适合新手"},
+      {"label": "都市异能", "description": "现代背景 + 超能力"},
+      {"label": "玄幻穿越", "description": "异世界 + 穿越重生"},
+      {"label": "游戏网游", "description": "虚拟现实/网游世界"},
+      {"label": "科幻星际", "description": "未来科技/星际争霸"}
+    ],
+    "multiSelect": false
+  }]
+}
+```
+
+### Step 3: 基础信息收集
+
+继续询问:
+- 小说标题
+- 主角姓名
+- 一句话简介(可选)
+
+### Step 4: 调用 Python 脚本初始化
+
+```bash
+python .claude/skills/webnovel-writer/scripts/init_project.py "./webnovel-project" "小说标题" "题材类型"
+```
+
+这将创建:
+```
+webnovel-project/
+├── .webnovel/
+│   ├── state.json          # 项目状态
+│   └── backups/
+├── 设定集/
+│   ├── 世界观.md           # 根据题材模板生成
+│   ├── 力量体系.md
+│   ├── 主角卡.md
+│   └── 角色库/
+├── 大纲/
+│   └── 总纲.md             # 卷-篇-章结构
+├── 正文/
+└── 审查报告/
+```
+
+### Step 5: 调用 webnovel-writer skill 生成初始设定
+
+```
+Skill: webnovel-writer
+Mode: Plan
+Task: 根据题材模板生成世界观、主角卡和总纲
+```
+
+### Step 6: 输出提示
+
+```
+✅ 项目初始化完成!
+
+📁 项目路径: ./webnovel-project
+📚 题材: 修仙(系统流)
+👤 主角: 林天
+
+✨ 已生成文件:
+- 设定集/世界观.md
+- 设定集/主角卡.md
+- 大纲/总纲.md(8 卷框架)
+
+🎯 下一步操作:
+1. 查看并调整设定集(可手动编辑)
+2. 运行 /webnovel-plan 1 规划第 1 卷详细大纲
+3. 运行 /webnovel-write 1 开始创作第 1 章
+```
+
+## 注意事项
+
+- 初始化后会自动打开项目目录
+- 所有文件均为 Markdown 格式,可手动编辑
+- state.json 由系统自动维护,建议不要手动修改

+ 229 - 0
.claude/commands/webnovel-plan.md

@@ -0,0 +1,229 @@
+---
+allowed-tools: Read, Write, Edit, AskUserQuestion, Bash
+argument-hint: [卷号]
+description: 规划指定卷的详细大纲,将总纲细化为章节级别。支持交互式询问补充设定。
+---
+
+# /webnovel-plan
+
+策划 AI - 将总纲细化为卷级详细大纲(章节级)。
+
+## 执行流程
+
+### Step 1: 读取总纲
+
+从 `大纲/总纲.md` 读取对应卷的框架信息:
+- 卷主题
+- 预计章节数
+- 主要剧情线
+- 预期的主角实力变化
+
+### Step 2: 读取当前状态
+
+从 `.webnovel/state.json` 读取:
+- 主角当前状态(实力/位置/金手指)
+- 人际关系(好感度/仇恨度)
+- 未完成的伏笔
+- 上一卷结尾状态
+
+### Step 3: 调用 webnovel-writer skill(规划模式)
+
+```
+Skill: webnovel-writer
+Mode: Plan
+Task: 规划第 X 卷详细大纲
+Input:
+  - 总纲框架
+  - 主角状态
+  - 题材模板(如:修仙)
+```
+
+### Step 4: 交互式细化
+
+**如果设定不足,主动询问用户**:
+
+```json
+{
+  "questions": [
+    {
+      "header": "剧情重点",
+      "question": "第 X 卷的核心冲突是什么?",
+      "options": [
+        {"label": "宗门内斗", "description": "与同门师兄弟的明争暗斗"},
+        {"label": "外敌入侵", "description": "敌对势力攻打宗门"},
+        {"label": "秘境历练", "description": "进入危险秘境夺宝"},
+        {"label": "个人成长", "description": "突破境界瓶颈"}
+      ],
+      "multiSelect": false
+    },
+    {
+      "header": "实力提升",
+      "question": "本卷主角实力如何变化?",
+      "options": [
+        {"label": "小幅提升", "description": "境界内层数提升(如筑基 7→9 层)"},
+        {"label": "突破大境界", "description": "跨越大境界(如筑基→金丹)"},
+        {"label": "获得新能力", "description": "学会新招式/金手指升级"}
+      ],
+      "multiSelect": true
+    }
+  ]
+}
+```
+
+### Step 5: 生成详细大纲
+
+**输出结构**(卷-篇-章三层):
+
+```markdown
+# 第 X 卷:[卷名]
+
+## 卷信息
+- **章节范围**: 第 XXX-XXX 章
+- **预计字数**: XX 万字
+- **主角实力**: [起始境界] → [结束境界]
+- **核心冲突**: [一句话概括]
+
+---
+
+## 第一篇:[篇名](第 XXX-XXX 章)
+
+### 篇主题
+[2-3 句话说明这一篇的核心内容]
+
+### 章节大纲
+
+#### 第 XXX 章:[章节标题]
+**本章目标**: [情节推进目标]
+**出场角色**: [主要角色列表]
+**地点**: [场景]
+**爽点设计**: [打脸/升级/收获等]
+**伏笔**: [埋下/回收的伏笔]
+**预计字数**: 3000-4000 字
+
+#### 第 XXX 章:...
+[依此类推]
+
+---
+
+## 第二篇:...
+
+[同上结构]
+
+---
+
+## 本卷总结
+
+### 主角成长
+- **实力**: 筑基 7 层 → 金丹初期
+- **技能**: 学会"天雷掌"
+- **金手指**: 吞噬系统升级至 3 级
+
+### 人际关系变化
+- 李雪(好感度 85 → 95,关系:暧昧 → 确认)
+- 血煞门(仇恨度 100,状态:小冲突 → 大仇已结)
+
+### 伏笔埋设
+- [ ] 林家宝库铭文的秘密(待回收)
+- [ ] 秘境中获得的神秘玉佩(下卷展开)
+
+### 伏笔回收
+- [x] 天雷果的下落(第 XXX 章回收)
+```
+
+### Step 6: 保存大纲
+
+将生成的详细大纲保存到:
+```
+大纲/第X卷-详细大纲.md
+```
+
+### Step 7: 更新 state.json
+
+使用 Python 脚本更新状态:
+```bash
+python .claude/skills/webnovel-writer/scripts/update_state.py \
+  --volume-planned X \
+  --chapters-range XXX-XXX
+```
+
+### Step 8: 输出提示
+
+```
+✅ 第 X 卷详细大纲已生成!
+
+📁 文件: 大纲/第X卷-详细大纲.md
+📊 章节数: XX 章(第 XXX-XXX 章)
+📈 主角实力: [起始] → [结束]
+🎯 核心冲突: [冲突描述]
+
+💡 建议:
+1. 查看并调整大纲(可手动编辑)
+2. 确认设定集中的相关信息
+3. 运行 /webnovel-write XXX 开始创作本卷第一章
+
+🎯 下一步:
+/webnovel-write XXX    # 开始创作本卷第一章
+```
+
+---
+
+## 使用示例
+
+### 规划第 1 卷
+```bash
+/webnovel-plan 1
+```
+
+系统将:
+1. 读取总纲中第 1 卷的框架
+2. 询问核心冲突和实力变化
+3. 生成详细的章节大纲
+4. 保存到 `大纲/第1卷-详细大纲.md`
+
+### 规划第 2 卷
+```bash
+/webnovel-plan 2
+```
+
+系统将:
+1. 读取第 1 卷结尾的主角状态
+2. 基于此规划第 2 卷
+3. 确保剧情连贯
+
+---
+
+## 注意事项
+
+1. **必须先运行 /webnovel-init**
+   - 确保项目已初始化,存在总纲
+
+2. **可多次规划**
+   - 如果对生成的大纲不满意,可重新运行覆盖
+
+3. **手动编辑友好**
+   - 生成的 Markdown 文件可直接编辑
+   - 调整后系统会自动读取最新内容
+
+4. **状态继承**
+   - 每卷规划会继承上一卷的结束状态
+   - 确保剧情连贯
+
+---
+
+## 与其他命令的关系
+
+```
+/webnovel-init      # 初始化项目,生成总纲
+    ↓
+/webnovel-plan 1    # 规划第 1 卷详细大纲
+    ↓
+/webnovel-write 1   # 创作第 1 章
+/webnovel-write 2   # 创作第 2 章
+    ...
+/webnovel-write 100 # 创作第 100 章(第 1 卷完成)
+    ↓
+/webnovel-plan 2    # 规划第 2 卷详细大纲
+    ↓
+/webnovel-write 101 # 创作第 101 章
+    ...
+```

+ 24 - 0
.claude/commands/webnovel-query.md

@@ -0,0 +1,24 @@
+---
+allowed-tools: Read, Grep
+argument-hint: [关键词]
+description: 快速查询设定集中的信息(角色/实力/势力/物品/伏笔)
+---
+
+# /webnovel-query
+
+档案员 AI - 快速检索设定信息。
+
+## 使用示例
+
+```
+/webnovel-query 主角          # 查询主角信息
+/webnovel-query 筑基期        # 查询力量体系
+/webnovel-query 血煞门        # 查询势力信息
+/webnovel-query 未回收伏笔    # 查询待回收伏笔
+```
+
+## 查询范围
+
+- 设定集/(世界观/主角卡/角色库)
+- 大纲/
+- state.json(结构化数据)

+ 31 - 0
.claude/commands/webnovel-review.md

@@ -0,0 +1,31 @@
+---
+allowed-tools: Read, Bash
+argument-hint: [起始章-结束章]
+description: 对指定范围的章节进行质量审查,调用 5 个专职审查员生成报告
+---
+
+# /webnovel-review
+
+质量审查,调用 5 个审查员(agents)生成综合报告。
+
+## 审查员团队
+
+1. high-point-checker - 爽点密度检查
+2. consistency-checker - 设定一致性检查
+3. pacing-checker - 节奏检查
+4. ooc-checker - 人物 OOC 检查
+5. continuity-checker - 连贯性检查
+
+## 使用示例
+
+```
+/webnovel-review 1-10       # 审查第 1-10 章
+/webnovel-review 41-50      # 审查第 41-50 章
+```
+
+## 输出
+
+生成 `审查报告/第XXX-XXX章审查报告.md`,包含:
+- 5 个维度的评分
+- 具体问题和修改建议
+- 整体质量评价

+ 37 - 0
.claude/commands/webnovel-write.md

@@ -0,0 +1,37 @@
+---
+allowed-tools: Read, Write, Edit, Grep, Bash
+argument-hint: [章节号]
+description: 按大纲创作指定章节的正文内容(3000-5000字),自动进行三大定律检查和爽点规划
+---
+
+# /webnovel-write
+
+按大纲创作章节正文,严格遵守防幻觉三大定律。
+
+## 执行流程
+
+1. **读取章节大纲** - 从 `大纲/` 找到对应章节
+2. **读取上下文** - 前 3 章 + 主角卡 + 相关设定
+3. **调用 webnovel-writer skill**(创作模式)
+4. **质量检查** - 大纲符合度/设定一致性/爽点密度
+5. **保存章节** - 写入 `正文/第XXXX章.md`
+6. **更新状态** - 更新 state.json 进度
+7. **自动备份** - 执行 Git 提交(原子性版本控制)
+   ```bash
+   python scripts/backup_manager.py --chapter {章节号} --chapter-title "{章节标题}"
+   ```
+8. **检查审查节点** - 每 10 章触发自动审查
+
+## 使用示例
+
+```
+/webnovel-write 1      # 创作第 1 章
+/webnovel-write 45     # 创作第 45 章
+```
+
+## 输出
+
+生成的章节文件包含:
+- 正文内容(3000-5000 字)
+- 本章统计(字数/爽点/新角色/伏笔)
+- [NEW_ENTITY] 标签(如有)

+ 19 - 0
.claude/settings.local.json

@@ -0,0 +1,19 @@
+{
+  "permissions": {
+    "allow": [
+      "WebSearch",
+      "WebFetch(domain:github.com)",
+      "Bash(git clone https://github.com/forsonny/The-Crucible-Writing-System-For-Claude.git crucible-temp)",
+      "Bash(tree -L 3 .claude/ -I 'node_modules|.git')",
+      "Skill(webnovel-init)",
+      "Skill(webnovel-plan)",
+      "Bash(git add .)",
+      "Bash(git reset)",
+      "Bash(git add .claude/skills/webnovel-writer/)",
+      "Bash(git commit -m \"feat: webnovel-writer skill 完整实现\n\n✨ 核心功能\n- 防幻觉三大定律(大纲即法律/设定即物理/发明需申报)\n- 5 个专职审查员(爽点/一致性/节奏/OOC/连贯性)\n- 交互式创作流(剧情分支选择/设定补全询问)\n\n🔧 长文支持机制(200万字)\n- context_manager.py: 滑动窗口上下文(节省93%tokens)\n- backup_manager.py: Git原子性版本控制\n- status_reporter.py: 可视化健康报告\n- strand-weave-pattern.md: 情节线织网(防止节奏单调)\n\n📝 自动化脚本\n- init_project.py: 项目初始化 + Git自动初始化\n- extract_entities.py: NEW_ENTITY自动提取\n- update_state.py: state.json安全更新\n\n📚 参考手册\n- anti-hallucination.md: 防幻觉协议详解\n- cool-points-guide.md: 爽点设计完整指南\n- pacing-control.md: 节奏控制技巧\n- genre-tropes.md: 题材套路库\n- git-workflow.md: Git工作流文档\n\n🎯 题材模板\n- 修仙.md: 修仙系统流模板\n\n🚀 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\")",
+      "Bash(git reset --soft HEAD~1)",
+      "Bash(git reset HEAD~1)",
+      "Bash(git add .claude/)"
+    ]
+  }
+}