---
description: 编辑主题、大纲、知识库或信息结构
argument-hint: "[类型] [名称] (如: theme / outline / structure / 角色 张三 / 系统数据 技能树)"
---

编辑现有的主题文档、大纲文档、信息结构或知识库条目（包括自定义分类）。

## 使用方式

根据参数确定要编辑的内容：

### 标准参数

| 参数 | 目标文件 |
|------|----------|
| `theme` | `小说/主题与基调.md` |
| `outline` | `大纲/整体大纲.md` |
| `structure` | `现有信息/信息结构.md` |
| `角色 <名称>` | `现有信息/角色/<名称>.md` |
| `物品 <名称>` | `现有信息/物品/<名称>.md` |
| `场景 <名称>` | `现有信息/场景/<名称>.md` |
| `事件 <名称>` | `现有信息/事件/<名称>.md` |

### 自定义分类参数

根据 `现有信息/信息结构.md` 中定义的自定义分类，支持：

| 参数格式 | 目标文件 |
|----------|----------|
| `<分类名> <文件名>` | `现有信息/<分类名>/<文件名>.md` |
| `<分类名>` | `现有信息/<分类名>.md`（单文件结构）或列出目录内容（目录结构） |

**示例**：
- `系统数据 技能树` → `现有信息/系统数据/技能树.md`
- `系统数据 任务列表` → `现有信息/系统数据/任务列表.md`
- `功法体系` → `现有信息/功法体系.md`（如果是单文件结构）

## 编辑流程

### 第一步：确定编辑目标

解析用户参数，确定要编辑的文件。

**首先读取 `现有信息/信息结构.md`**，了解所有可用的分类（标准分类 + 自定义分类）。

如果参数不明确，使用 **AskUserQuestion** 询问：
```
问题：你想编辑什么？
选项：
- 主题与基调
- 整体大纲
- 信息结构（分类定义）
- 标准分类（角色/物品/场景/事件）
- 自定义分类（[列出已定义的自定义分类名]）
```

### 第二步：读取现有内容

读取目标文件的完整内容，展示给用户当前状态。

如果文件不存在，提示用户先完成相应的创建步骤。

### 第三步：确定修改内容

与用户对话，了解要修改的具体内容：
- 哪些部分需要修改
- 修改成什么样
- 是否有关联内容需要同步修改

### 第四步：执行修改

使用 Edit 工具修改文件内容。

**修改主题/大纲时**：
- 注意与已有章节的一致性
- 提醒用户修改可能影响后续创作

**修改信息结构时**：
- 如果添加新分类，创建对应的目录/文件
- 如果删除分类，提醒用户相关文件不会自动删除
- 更新 `last_updated` 日期

**修改标准分类知识库时**：
- 更新 `last_updated` 字段
- 检查是否需要同步修改关联条目（如关系网络）

**修改自定义分类时**：
- 按照 `信息结构.md` 中定义的模板格式修改
- 更新 `last_updated` 字段

### 第五步：检查关联影响

检查修改是否影响其他内容：

| 修改类型 | 可能的关联影响 |
|----------|----------------|
| 角色修改 | 关系网络中的其他角色、相关事件 |
| 物品修改 | 持有者的角色档案 |
| 场景修改 | 在该场景发生的事件 |
| 事件修改 | 参与者的角色档案 |
| 主题修改 | 大纲的整体方向 |
| 大纲修改 | 后续章节的规划 |
| 信息结构修改 | 后续章节的知识库维护方式 |
| 自定义分类修改 | 相关章节中的描述 |

如有关联影响，询问用户是否需要同步修改。

### 第六步：输出总结

```
✅ 编辑完成！

📄 修改的文件：[文件路径]

✏️ 修改内容：
- [修改点1]
- [修改点2]

📚 关联更新：
- [关联文件]: [更新内容]

💡 提示：[如有需要注意的事项]
```

## 使用示例

```bash
# 编辑主题
/edit theme

# 编辑大纲
/edit outline

# 编辑信息结构（添加/修改自定义分类）
/edit structure

# 编辑标准分类 - 角色
/edit 角色 张三

# 编辑标准分类 - 物品
/edit 物品 玄天剑

# 编辑自定义分类 - 系统数据
/edit 系统数据 技能树
/edit 系统数据 任务列表

# 编辑自定义分类 - 单文件结构
/edit 功法体系
```

## 特殊操作：添加新的自定义分类

如果用户想要添加新的自定义分类：

1. 使用 `/edit structure` 编辑信息结构
2. 按照格式添加新分类的定义
3. 创建对应的目录和模板文件
4. 更新 `信息结构.md` 的 `last_updated` 日期

**添加新分类的模板格式**：

```markdown
### [新分类名称]

- **路径**: `现有信息/[分类名称]/` 或 `现有信息/[分类名称].md`
- **结构类型**: 目录 / 单文件
- **说明**: [分类用途说明]
- **维护时机**: 每次相关内容变化时更新

#### 文件列表（目录结构时填写）
- `[文件名1].md` - [用途说明]

#### 模板格式

##### [文件名].md
```yaml
---
last_updated: [章节号]
---

[模板内容]
```
```

## 注意事项

- 修改主题或大纲可能影响整体创作方向
- 修改已在章节中出现的设定需谨慎
- 建议在修改前确认影响范围
- 修改信息结构后，后续的 draft/finalize 命令会自动适应新结构
- 自定义分类的修改应遵循 `信息结构.md` 中定义的模板格式
