# 方向配置快速参考

## 🚀 快速开始

### 1. 创建新方向（5分钟）

1. 管理后台 → 方向管理 → 创建新方向
2. 填写基础信息：
   - 方向ID：`web`（小写字母，唯一）
   - 方向名称：`Web 安全`
   - 是否启用：`是`
3. 保存

### 2. 配置表单字段（10分钟）

1. 进入方向详情 → **表单设计**
2. 添加字段：
   - **编程语言**（下拉选择）：Python, PHP, Node.js, Java
   - **漏洞类型**（多选）：SQL注入, XSS, 文件上传...
   - **场景**（文本）：支付平台、博客系统...
   - **难度**（下拉选择）：入门、简单、中等、困难
3. 保存

### 3. 配置阶段（15分钟）

1. 进入方向详情 → **阶段配置**
2. 添加阶段（建议顺序）：
   - 阶段1：用户输入需求
   - 阶段2：漏洞主次分类
   - 阶段3：知识库获取
   - 阶段4：知识模块化与映射
   - 阶段5：题目设计
   - 阶段6：质量检查与优化
   - 阶段7：代码生成与验证
   - 阶段8：Docker 环境构建
   - 阶段9：exp 和 writeup
   - 阶段10：成品输出
3. 保存

### 4. 配置 Prompt（30分钟）

1. 进入方向详情 → **Prompt 模板**
2. 配置系统提示词（全局规则）
3. 选择难度标签（如"入门"）
4. 为每个阶段编写 Prompt 指令
5. 点击"完整 Prompt 预览"检查
6. 保存

### 5. 上传知识库（可选）

1. 进入方向详情 → **知识库**
2. 上传 writeup 文件到 `data/writeups/` 目录
3. 确保 `data/scripts/choice.py` 脚本存在

---

## 📝 关键配置项速查

### 表单字段类型

| 类型 | 用途 | 示例 |
|------|------|------|
| `text` | 单行文本 | 场景名称 |
| `textarea` | 多行文本 | 详细描述 |
| `select` | 下拉选择 | 编程语言 |
| `multiselect` | 多选 | 漏洞类型 |
| `number` | 数字 | 端口号 |
| `date` | 日期 | 截止日期 |

### Prompt 变量

| 变量 | 说明 | 来源 |
|------|------|------|
| `{{language}}` | 编程语言 | 表单字段 |
| `{{vulnerabilities}}` | 漏洞类型 | 表单字段 |
| `{{difficulty}}` | 难度级别 | 表单字段 |
| `{{scene}}` | 应用场景 | 表单字段 |
| `{{category}}` | 方向名称 | 系统配置 |
| `{{writeup_count}}` | writeup 数量 | 难度规则 |
| `{{max_knowledge}}` | 最大漏洞数 | 难度规则 |

### 阶段标记格式

**必须格式**：
```
阶段X：阶段名称
```

**示例**：
```
阶段1：用户输入需求
阶段2：漏洞主次分类
```

### 完成标记格式

**必须格式**：
```
## [CTF_GENERATION_COMPLETE]
```

---

## ⚠️ 常见错误

### ❌ 错误1：阶段检测失败

**原因**：AI 没有输出正确的阶段标记

**解决**：
1. 在 Prompt 中明确要求：`每个阶段开始时必须输出：阶段X：阶段名称`
2. 确保阶段编号从 1 开始（不是 0）

### ❌ 错误2：变量不生效

**原因**：变量名与表单字段ID不匹配

**解决**：
1. 检查表单字段ID（如 `language`）
2. 在 Prompt 中使用 `{{language}}`（完全匹配）

### ❌ 错误3：Prompt 格式错误

**原因**：使用了旧的"阶段X末"格式

**解决**：
1. 移除所有"阶段X末"相关内容
2. 使用新的完成标记：`## [CTF_GENERATION_COMPLETE]`

### ❌ 错误4：知识库文件找不到

**原因**：文件路径不正确

**解决**：
1. 确保文件在 `ge10/{方向ID}/data/writeups/` 目录
2. 检查 `choice.py` 脚本路径：`data/scripts/choice.py`

---

## 🔧 配置检查清单

### 基础信息
- [ ] 方向ID已填写（小写字母）
- [ ] 方向名称已填写
- [ ] 是否启用已设置

### 表单设计
- [ ] 至少有一个必填字段
- [ ] 字段ID使用小写字母和下划线
- [ ] 下拉选择和多选已配置选项

### 阶段配置
- [ ] 至少配置了 3 个阶段
- [ ] 阶段ID使用数字（1, 2, 3...）
- [ ] 阶段名称清晰明确
- [ ] 阶段顺序合理

### Prompt 配置
- [ ] 系统提示词已配置
- [ ] 至少一个难度的 Prompt 已配置
- [ ] 每个阶段都有 Prompt 内容
- [ ] 使用了正确的变量格式 `{{变量名}}`
- [ ] 最后一个阶段包含完成标记要求

### 知识库（可选）
- [ ] writeup 文件已上传
- [ ] `choice.py` 脚本存在
- [ ] `.augmentignore` 已配置（如需要）

---

## 📚 详细文档

完整配置说明请参考：[方向配置手册](./方向配置手册.md)

---

**最后更新**：2026-01-04


























