# Chai Shu

> 小说拆书与分析的主入口。支持自动化拆书、拆分扫描、分章节概括、全书概括、人物概括、事件概括。 当用户提到"拆书"、"分析小说"、"小说拆解"时使用。

- Skill: `anarcadia/chai-shu` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add anarcadia/chai-shu`
- Raw SKILL.md: https://api.skillmd.com/api/skills/anarcadia/chai-shu/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: anarcadia (https://skillmd.com/u/anarcadia)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/anarcadia/chai-shu

---


## 欢迎页（每次触发必须先完整输出此区块）

```text
+======================================================================+
|                                                                      |
| ██████╗ ██╗  ██╗██╗   ██╗ █████╗ ███╗  ██╗██████╗  █████╗ ███╗  ██╗|
|██╔════╝ ██║  ██║██║   ██║██╔══██╗████╗ ██║██╔══██╗██╔══██╗████╗ ██║|
|██║      ███████║██║   ██║███████║██╔██╗██║██████╔╝███████║██╔██╗██║|
|██║      ██╔══██║██║   ██║██╔══██║██║╚████║██╔══██╗██╔══██║██║╚████║|
|╚██████╗ ██║  ██║╚██████╔╝██║  ██║██║ ╚███║██████╔╝██║  ██║██║ ╚███║|
| ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚══╝╚═════╝ ╚═╝  ╚═╝╚═╝  ╚══╝|
|                         船   板   拆   书                            |
+======================================================================+
```

```text
📖 功能一览
  1. 自动化拆书   — 一键完成全流程：扫描→概括→人物→事件→ABC
  2. 拆分扫描     — 识别章节结构，将小说文件切分为独立章节 MD
  3. 分章节概括   — 每3章一组，串行生成约600字剧情概括
  4. 全书概括     — 整合章节概括，输出全书主线与理解总览
  5. 人物概括     — 梳理全书人物关系、角色弧度与事件追踪
  6. 事件概括     — 提炼关键事件链、势力动向与因果逻辑
  7. ABC爽点分析  — 识别每章A/B/C结构，生成爽感密度热力图
```

```text
         [新书文件]
              │
              v
     ┌────────────────┐
     │   2. 拆分扫描   │
     └────────┬───────┘
              │
              v
     ┌────────────────┐
     │  3. 分章节概括  │
     └───┬────────────┘
         │
   ┌─────┼──────┬──────────┐
   v     v      v          v
[4.全书] [5.人物] [6.事件] [7.ABC分析]
（功能 4-7 均依赖步骤 3 完成）
```

```text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请选择：

  1  了解工作流程   — 解答对拆书系统的任何疑问
  2  拆一本新书     — 告诉我书名或文件路径，马上开始
  3  继续之前任务   — 搜索已有项目，从上次断点继续
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

## 路由逻辑

### 选项 1（了解流程）

- 保持对话状态，回答用户对功能、依赖关系、工作流的提问
- 不触发任何工具调用，纯聊天模式

### 选项 2（拆新书）

1. 输出：「请提供书籍文件的绝对路径，或输入书名（支持模糊搜索）」
2. 若给路径 → 检查文件存在 → 直接进入 `chai-fen-sao-miao` 流程
3. 若给模糊书名 → Glob 搜索 `Factory/拆书/` 及桌面/Downloads 常见位置
   → 列出候选文件 → 用户确认 → 进入拆分扫描

### 选项 3（继续旧任务）

1. Glob 列出 `Factory/拆书/` 下所有一级子目录（书名列表）
2. 格式化展示，提示「请告诉我是哪本书，或直接输入项目路径」
3. 用户确认后：
   - 检查该目录下 `拆分/`、`概括/`、`人物和设定/`、`事件线/`、`ABC分析/` 是否存在
   - 若有 `_progress.json` 则读取进度
4. 综合判断各阶段完成度，以表格形式呈现：

   | 阶段 | 状态 | 说明 |
   |------|------|------|
   | 拆分 | ✅/❌ | 章节数 |
   | 概括 | ✅/🔄 X/Y组/❌ | 进度 |
   | 人物 | ✅/🔄/❌ | |
   | 事件 | ✅/🔄/❌ | |
   | ABC  | ✅/🔄 X/Y批/❌ | |

   **判断依据**：
   - 拆分：`{书名}/拆分/` 目录存在且有 .md 文件
   - 概括：`{书名}/概括/_progress.json` 的 completed_groups vs total_groups
   - 人物：`{书名}/人物和设定/_progress.json` 或角色地位.yaml 存在
   - 事件：`{书名}/事件线/_progress.json` 或事件线.yaml 存在
   - ABC：`{书名}/ABC分析/_progress.json` 的 batches_completed vs total_batches

5. 基于状态推荐「从哪里继续」，优先推荐未完成的最早阶段

---

## 欢迎引导

- 这是普通 `拆书` 用户的主入口，适合直接说"拆书 + 书名/路径 + 任务"
- 用户不需要自己记住子 skill 名称，主入口会按任务类型路由
- 为了避免误解，优先提供**绝对路径**，并明确写出**任务名称**
- 如果用户明确是弱模型、弱工具调用、长程指令遵循差的场景，应切到 `chai-shu-weak`

## 标准句式模板

### 1. 自动化拆一本新书

```text
请帮我拆书。
任务：自动化拆书。
输入书籍：<源文件绝对路径>
```

### 2. 只做拆分扫描

```text
请帮我拆书。
任务：拆分扫描。
输入书籍：<源文件绝对路径>
```

### 3. 继续一个已有项目

```text
请继续这个拆书项目。
源项目目录：<Factory/拆书/{书名} 的绝对路径>
```

### 4. 只做单项功能

```text
请帮我拆书。
源项目目录：<Factory/拆书/{书名} 的绝对路径>
任务：<分章节概括 / 全书概括 / 人物概括 / 事件概括>
```

## 路径书写规则

1. 新书优先给"源文件绝对路径"
2. 已拆分或已开始的项目优先给"源项目目录绝对路径"
3. 不要只写模糊书名，除非你确认当前工作区里没有同名文件或同名目录
4. 如果你明确要测试弱模型链路，不要用原版入口，直接说 `弱模型特调版拆书`

## 功能菜单

```text
📚 船板拆书（原版）

1. 自动化拆书  → 顺序执行 2→3→4→5→6
2. 拆分扫描    → 扫描结构 + 执行拆分
3. 分章节概括  → 逐章/逐组生成概括（依赖2）
4. 全书概括    → 生成全书理解（依赖3）
5. 人物概括    → 人物关系概要（依赖3）
6. 事件概括    → 事件线追踪（依赖3）
7. ABC分析     → 爽点循环结构分析（依赖3）
```

## 标准执行流程

```text
[用户给出任务 + 路径]
            |
            v
[主入口判断是新书还是已有项目]
            |
            v
[2. 拆分扫描]
            |
            v
[3. 分章节概括]
            |
      +-----+-----+-------+
      |     |     |       |
      v     v     v       v
[4.全书概括] [5.人物概括] [6.事件概括] [7.ABC分析]
```

## 子skill调用

| 选择 | 调用 skill |
|------|-------------|
| 1 | 顺序执行 `chai-fen-sao-miao` → `fen-zhang-jie-gai-kuo` → 全书概括 → `renwu-guanxi` → `shijian-xian` |
| 2 | `chai-fen-sao-miao` |
| 3 | `fen-zhang-jie-gai-kuo` |
| 4 | 全书概括（待实现） |
| 5 | `renwu-guanxi` |
| 6 | `shijian-xian` |
| 7 | `abc-fenxi` |

## 工作目录

- 默认工作目录：`{ROOT}/Factory/拆书/`
- 已拆分项目目录格式：`Factory/拆书/{书名}/`

## 执行前检查

- 功能 3-6 执行前必须检查前置依赖是否已完成
- 如未完成，直接提示用户先执行前置步骤，不要跳步

## 阶段衔接协议

当某个子阶段完成后，主入口必须执行以下行为：

### 概括完成后
1. 报告完成状态（共X组/Y章已完成）
2. 列出产出文件路径（概括目录、全书概括.md、名词表.md）
3. 呈现下一步选项：
   - 人物概括
   - 事件概括
   - ABC爽点分析
   - 全部按默认顺序执行（人物→事件→ABC）

### 任一分析项完成后
1. 报告完成状态 + 产出文件绝对路径列表
2. 呈现剩余可选项菜单（过滤已完成项）

### 全部完成后
1. 输出总结：列出所有阶段的产出文件绝对路径
2. 提示用户：可以用「小说问答」对分析结果做深入探讨

### 自动化拆书模式
- 顺序执行时，各阶段之间自动衔接，不暂停询问
- 但每个阶段完成后仍输出一行简报（如"✓ 分章节概括完成，12组36章"）
- 全部完成后执行「全部完成后」的行为

## Quickstart

- 详细使用说明见 [references/quickstart.md](references/quickstart.md)
- 如果用户明确要求弱模型特调版，切到 `chai-shu-weak`

