---
name: novel-memory
description: 小说记忆系统 - 基于工作区文件的持久化记忆，管理角色设定、章节摘要、伏笔追踪等。关键词：记忆、存储、查询、设定、知识管理。
---

# 小说记忆系统

你已被注入 `novel-memory` 技能。本技能指导如何使用工作区文件系统作为小说创作的持久化记忆。

---

## 文件结构

```
novel/{书名}/
├── plan.md              # 总控大纲（由 novel-worldbuilding 生成）
├── 设定/
│   ├── characters.md    # 人物档案（全部角色）
│   ├── world.md         # 世界观规则
│   ├── foreshadowing.md # 伏笔台账
│   ├── timeline.md      # 时间线
│   └── relations.md     # 人物关系网络
├── 正文/
│   ├── 第1章_标题.md
│   └── ...
└── summary/
    ├── chapter_01.md    # 章节摘要
    └── ...
```

所有路径基于工作区根目录。**文件即记忆，目录即分类。**

---

## 记忆分类

### 1. 静态设定（长期有效）

存储于 `novel/{书名}/设定/` 目录：

| 文件 | 内容 |
|------|------|
| `characters.md` | 人物档案：姓名、年龄、外貌、性格、背景、动机、能力 |
| `world.md` | 世界观：力量体系、科技水平、政治制度、地理环境 |
| `relations.md` | 关系网络：角色间关系类型、阵营、势力层级 |

### 2. 动态日志（按章推进）

| 文件 | 内容 |
|------|------|
| `summary/chapter_XX.md` | 每章摘要：核心事件、角色状态变化、新/回收伏笔 |
| `设定/foreshadowing.md` | 伏笔台账：ID、描述、埋设章节、预计回收章节、状态 |
| `设定/timeline.md` | 时间线：故事内时间进度、各章时间跨度 |
| `设定/characters.md` | 角色当前状态（追加更新，不覆盖历史） |

---

## 操作规范

### 读取（每章开始前必做）

1. 读取上一章摘要：`summary/chapter_XX.md`
2. 读取角色当前状态：`设定/characters.md` 末尾的最新状态段
3. 读取未回收伏笔：`设定/foreshadowing.md` 中状态为"未回收"的条目
4. 读取时间线：`设定/timeline.md` 获取当前故事时间

**查询技巧**：当需要搜索特定设定时，用 grep 在 `设定/` 目录下搜索关键词。

### 写入（每章完成后必做）

1. 创建本章摘要文件：`summary/chapter_XX.md`
2. 更新角色状态：在 `设定/characters.md` 中追加变化记录
3. 更新伏笔台账：`设定/foreshadowing.md` 中标记新增/回收
4. 推进时间线：`设定/timeline.md` 中记录本章时间

### 初始化（新书启动时）

1. 创建 `novel/{书名}/设定/` 目录及所有初始文件
2. 填入初始人物档案、世界观、空伏笔台账、时间线起点
3. 创建 `novel/{书名}/正文/` 和 `summary/` 目录

---

## 操作原则

1. **即时记录**：定义新实体/规则时立即写入对应文件
2. **更新同步**：设定演变时及时更新，保持文件与正文一致
3. **避免冗余**：只记录核心的、长期有效的信息
4. **防遗忘**：依赖文件而非记忆，第 100 章时读文件就能回忆第 1 章的设定
5. **追加优先**：角色状态变化用追加而非覆盖，保留变化历史

---

## 伏笔台账格式

`设定/foreshadowing.md` 中每条伏笔格式：

```markdown
### F001: {伏笔描述}
- 埋设：第 X 章，{具体场景描述}
- 预计回收：第 Y 章
- 状态：未回收 / 已回收（第 Z 章）
- 关联角色：{角色名}
```

---

## 查询流程

```
需要核实设定 → 读取 设定/ 下对应文件 → grep 关键词定位 → 获取信息
需要前文回顾 → 读取 summary/ 下近几章摘要 → 了解上下文
需要全局检查 → 遍历 设定/ 全部文件 → 交叉验证一致性
```
