# 知识库管理指南

## 概述

知识库是小说创作的核心资产，采用结构化的 YAML frontmatter + Markdown 格式，便于查询、维护和版本控制。

知识库支持两种分类：
- **标准分类**：角色、物品、场景、事件（固定）
- **自定义分类**：根据小说类型自定义的分类（如系统数据、科技设定等）

## 目录结构

### 标准结构

```
现有信息/
├── 信息结构.md          # 分类定义文件（重要！）
├── 角色/
│   ├── 张三.md
│   ├── 李四.md
│   └── 王五.md
├── 物品/
│   ├── 玄天剑.md
│   └── 筑基丹.md
├── 场景/
│   ├── 云霄宗.md
│   └── 黑风林.md
└── 事件/
    ├── 宗门大比.md
    └── 古墓探险.md
```

### 带自定义分类的结构

```
现有信息/
├── 信息结构.md          # 定义了自定义分类
├── 角色/
├── 物品/
├── 场景/
├── 事件/
├── 系统数据/            # 自定义分类（目录结构）
│   ├── 任务列表.md
│   ├── 技能树.md
│   └── 属性面板.md
└── 功法体系.md          # 自定义分类（单文件结构）
```

## 信息结构文件

`现有信息/信息结构.md` 是知识库的核心配置文件，定义了所有分类的结构。

### 文件格式

```markdown
---
created_date: 2024-01-01
last_updated: 2024-01-15
---

# 知识库信息结构

> 本文件定义了本小说知识库的所有信息分类。

## 标准分类

| 分类 | 路径 | 模板 | 说明 |
|------|------|------|------|
| 角色 | `现有信息/角色/` | `./.claude/skills/novel-writing/templates/character.md` | 角色档案 |
| 物品 | `现有信息/物品/` | `./.claude/skills/novel-writing/templates/item.md` | 物品档案 |
| 场景 | `现有信息/场景/` | `./.claude/skills/novel-writing/templates/scene.md` | 场景档案 |
| 事件 | `现有信息/事件/` | `./.claude/skills/novel-writing/templates/event.md` | 事件档案 |

## 自定义分类

### 系统数据

- **路径**: `现有信息/系统数据/`
- **结构类型**: 目录
- **说明**: 记录主角系统的各项数据
- **维护时机**: 每次系统变化时更新

#### 文件列表
- `任务列表.md` - 当前任务和完成记录
- `技能树.md` - 已解锁技能和升级记录
- `属性面板.md` - 当前属性值

#### 模板格式

##### 任务列表.md
```yaml
---
last_updated: [章节号]
---

## 当前任务

| 任务名 | 描述 | 状态 | 奖励 |
|--------|------|------|------|
```

（更多模板...）
```

### 自定义分类类型

1. **目录结构**：包含多个 `.md` 文件
   - 路径以 `/` 结尾，如 `现有信息/系统数据/`
   - 适合需要管理多个条目的分类

2. **单文件结构**：单个 `.md` 文件
   - 路径以 `.md` 结尾，如 `现有信息/功法体系.md`
   - 适合内容集中的分类

## 标准分类文件格式详解

### 角色档案

**文件名**: `角色/<角色名>.md`

**YAML 元数据字段**:
```yaml
---
name: 角色名              # 必填
status: alive              # alive/dead/unknown/transformed
role: 主角                 # 主角/配角/反派/龙套
first_appearance: 1        # 首次出场章节号
last_updated: 5            # 最后更新章节号
importance: 主要           # 主要/次要/临时

# 基本信息
age: 25                    # 年龄
gender: 男                 # 性别
power_level: 筑基期        # 实力等级（根据世界观设定）
faction: 云霄宗            # 所属势力

# 关系网络
relationships:
  - target: 李四           # 关系对象
    type: 师徒             # 关系类型
    note: 师父             # 关系说明
  - target: 王五
    type: 敌对
    note: 杀父仇人
---
```

**Markdown 内容结构**:
```markdown
## 外貌特征
[详细描述外貌特征，包括身高、体型、容貌、服饰风格等]

## 性格特点
[描述性格特质、行为模式、说话风格、价值观等]

## 背景故事
[角色的成长经历、重要事件、动机来源等]

## 重要技能/能力
[列出角色的特殊能力、武学技能、特长等]

## 发展轨迹
[按章节记录角色的重要发展节点]
- 第1章: 初次登场，身份为云霄宗外门弟子
- 第3章: 在藏经阁获得玄天心法
- 第5章: 突破至筑基期
```

### 物品档案

**文件名**: `物品/<物品名>.md`

**YAML 元数据字段**:
```yaml
---
name: 物品名              # 必填
type: 武器                # 武器/丹药/法宝/材料/其他
grade: 天阶下品           # 品级等级
owner: 张三               # 当前持有者
status: 使用中            # 使用中/损毁/遗失/封印/待分配
first_appearance: 2       # 首次出现章节
last_updated: 4           # 最后更新章节
---
```

**Markdown 内容结构**:
```markdown
## 外观描述
[物品的外观、材质、特征等]

## 能力效果
[物品的功能、效果、使用方法、限制等]

## 来历
[物品的来源、历史、传说等]

## 流转记录
[记录物品的流转过程]
- 第2章: 从古墓中获得
- 第5章: 认主，激活第一层封印
- 第8章: 转赠给李四
```

### 场景档案

**文件名**: `场景/<场景名>.md`

**YAML 元数据字段**:
```yaml
---
name: 场景名              # 必填
type: 门派                # 门派/城市/秘境/建筑/其他
region: 东荒              # 所属地域
status: 存在              # 存在/毁灭/封闭/变化
first_appearance: 1       # 首次出现章节
last_updated: 3           # 最后更新章节
---
```

**Markdown 内容结构**:
```markdown
## 地理位置
[场景的地理位置、方位、与其他场景的相对位置]

## 环境特征
[自然环境、气候、地貌、氛围等]

## 重要地点
[场景内的关键地点及其特征]
- 藏经阁: 存放功法典籍，需长老令牌方可进入
- 演武场: 弟子切磋之地，每月初一有外门大比

## 相关势力
[场景中的势力分布、权力结构、关键人物]

## 历史变迁
[场景的历史、重大事件对场景的影响]
- 第1章: 主角初入云霄宗
- 第10章: 邪教攻山，演武场被毁
```

### 事件档案

**文件名**: `事件/<事件名>.md`

**YAML 元数据字段**:
```yaml
---
name: 事件名              # 必填
type: 战斗                # 战斗/阴谋/机遇/转折/其他
chapter_range: [3, 5]     # 涉及章节范围
status: 已结束            # 进行中/已结束/伏笔未展开
importance: 重要          # 重要/普通/次要
participants:             # 参与者列表
  - 张三
  - 李四
  - 王五
---
```

**Markdown 内容结构**:
```markdown
## 事件概述
[事件的核心内容、性质、影响范围]

## 起因
[事件的起因、背景、导火索]

## 经过
[按章节记录事件发展]
### 第3章
- 宗门宣布大比规则
- 张三报名参加

### 第4章
- 初赛轮，张三轻松获胜
- 李四暗中布局

### 第5章
- 决赛，张三与王五对决
- 李四阴谋败露

## 结果
[事件的结局、各方损益、局势变化]

## 后续影响
[事件对后续剧情的影响、伏笔、遗留问题]
```

## 自定义分类示例

### 系统数据（系统流小说）

**目录结构**:
```
现有信息/系统数据/
├── 任务列表.md
├── 技能树.md
├── 属性面板.md
└── 商店物品.md
```

**任务列表.md 示例**:
```yaml
---
last_updated: 5
---

## 当前任务

| 任务名 | 描述 | 状态 | 奖励 |
|--------|------|------|------|
| 新手引导 | 完成第一次修炼 | 已完成 | 100经验 |
| 宗门立足 | 成为内门弟子 | 进行中 | 1000经验, 技能点x3 |

## 已完成任务

### 第1章完成
- 新手引导: 100经验

### 第3章完成
- 初次战斗: 50经验
```

**技能树.md 示例**:
```yaml
---
last_updated: 5
---

## 主动技能

| 技能名 | 等级 | 描述 | 获得章节 |
|--------|------|------|----------|
| 剑气纵横 | Lv.2 | 发出剑气攻击敌人 | 第3章 |
| 御剑术 | Lv.1 | 操控飞剑攻击 | 第5章 |

## 被动技能

| 技能名 | 等级 | 描述 | 获得章节 |
|--------|------|------|----------|
| 灵觉 | Lv.1 | 感知周围危险 | 第1章 |

## 技能升级记录

- 第4章: 剑气纵横 升级至 Lv.2
```

### 功法体系（单文件结构）

**功法体系.md 示例**:
```yaml
---
last_updated: 5
---

# 功法体系

## 主修功法

### 玄天心法
- **品级**: 天阶中品
- **获得章节**: 第3章
- **当前层数**: 第二层
- **特点**: 修炼速度快，但需要大量灵石

## 辅修功法

### 基础剑诀
- **品级**: 地阶下品
- **获得章节**: 第1章
- **当前层数**: 大成
- **特点**: 宗门弟子必修

## 突破记录

- 第2章: 基础剑诀入门
- 第3章: 获得玄天心法，开始修炼
- 第5章: 玄天心法突破第二层
```

## 更新策略

### 草稿阶段（实时同步）

编写草稿时，信息更新**实时同步**到知识库：

1. 在章节末尾记录「信息更新」部分
2. 同时更新对应的知识库文件（标准分类 + 自定义分类）
3. 更新 `last_updated` 字段为当前章节号

```markdown
---

## 信息更新

### 角色变化
- 张三：突破至筑基期，获得玄天剑
  - 已同步至: `现有信息/角色/张三.md`

### 新增物品
- 玄天剑：天阶下品，从古墓获得
  - 已创建: `现有信息/物品/玄天剑.md`

### 系统数据变化
- 技能树：新增技能「御剑术」
  - 已同步至: `现有信息/系统数据/技能树.md`
```

### 定稿阶段（检查与修正）

定稿时主要进行审阅和修正：

1. 审阅章节质量
2. 检查与知识库的一致性（标准分类 + 自定义分类）
3. 如有修改，同步更新知识库
4. 标记章节状态为 `final`

## 查询策略

### 使用 quick-lookup skill

```bash
# 查看所有分类概览
uv run ./.claude/skills/quick-lookup/scripts/list_info.py --all

# 列出标准分类
uv run ./.claude/skills/quick-lookup/scripts/list_info.py 角色

# 列出自定义分类
uv run ./.claude/skills/quick-lookup/scripts/list_info.py 系统数据

# 查看详情
uv run ./.claude/skills/quick-lookup/scripts/list_info.py 角色 张三 --detail
uv run ./.claude/skills/quick-lookup/scripts/list_info.py 系统数据 技能树 --detail

# 搜索关键词（包括自定义分类）
uv run ./.claude/skills/quick-lookup/scripts/search_info.py 玄天剑
```

### 编写草稿时

**需要读取**:
- 所有角色档案（了解人物设定）
- 所有物品档案（避免遗忘道具）
- 相关场景档案（当前场景设定）
- 相关事件档案（前置事件回顾）
- **自定义分类**（如系统数据、功法体系等）

### 定稿审阅时

**需要读取**:
- 当前章节草稿
- 后续3章草稿（保证连贯性）
- 所有现有信息（检查一致性）
- **自定义分类**（确保数据一致）

## 维护最佳实践

### 文件命名
- 使用清晰易懂的中文名
- 避免特殊字符和空格
- 同名角色添加后缀区分（如：张三-主角、张三-龙套）

### 信息完整性
- 重要字段必填，次要字段可选
- Markdown 内容尽量详细
- 发展轨迹和流转记录保持更新

### 关系网络
- 双向维护：A 与 B 的关系，在两者档案中都记录
- 类型规范：师徒、朋友、敌对、亲属、情侣等
- 注释清晰：说明关系具体内容

### 自定义分类维护
- 在 `信息结构.md` 中定义清晰的模板格式
- 按照模板格式更新文件
- 更新 `last_updated` 字段

### 定期检查
- 定稿后检查知识库一致性
- 每完成一卷，整理回顾一次
- 发现矛盾及时修正

### 备份策略
- 知识库是核心资产，定期备份
- 使用 git 版本控制
- 重大修改前创建备份

## 常见问题

**Q: 如何添加新的自定义分类？**
A: 使用 `/edit structure` 编辑信息结构文件，按照格式添加新分类的定义，然后创建对应的目录或文件。

**Q: 草稿中的信息更新记录多详细？**
A: 记录核心变化即可，不必过于详细。重点记录状态变化、新增内容、关键事件。

**Q: 如何处理角色死亡？**
A: 更新 status 为 dead，保留档案。在发展轨迹中记录死亡章节和原因。

**Q: 物品丢失或损毁如何处理？**
A: 更新 status 和 owner，在流转记录中说明丢失/损毁的章节和原因。

**Q: 如何管理大量龙套角色？**
A: 龙套可简化档案，只记录关键信息。importance 标记为「临时」，定期清理不再使用的龙套。

**Q: 场景过多如何组织？**
A: 按 region 分类，使用子目录。例如：`场景/东荒/`、`场景/西域/`。

**Q: 如何处理设定变更？**
A: 草稿阶段可自由调整。定稿时如需修改已同步的设定，需回溯修改相关章节和档案，保持一致性。

**Q: 自定义分类和标准分类有什么区别？**
A: 标准分类是固定的（角色/物品/场景/事件），适用于所有小说。自定义分类根据小说类型在 init 阶段定义，更灵活。

## 模板文件

完整模板参见：
- `templates/character.md` - 角色档案模板
- `templates/item.md` - 物品档案模板
- `templates/scene.md` - 场景档案模板
- `templates/event.md` - 事件档案模板
- `templates/chapter-draft.md` - 章节草稿模板
- `templates/chapter-final.md` - 章节定稿模板
- `templates/timeline.md` - 时间线模板
