# 产品需求文档

> 版本：v1.0
> 最后更新：2026-01-20

## 版本历史

| 版本 | 日期 | 变更内容 | 作者 |
|------|------|---------|------|
| v1.0 | 2026-01-20 | 初始版本 | AI |

---

## 一、项目概述

### 1.1 项目背景

为轻医美行业打造 AI 面试官系统，实现咨询师岗位的智能初试。通过 AI 语音面试技术，提升招聘效率，标准化面试流程，降低 HR 初筛工作量。

### 1.2 项目目标

1. 实现 7x24 小时无人值守的智能初试
2. 标准化面试流程，确保评估一致性
3. 自动生成面试报告，辅助 HR 决策
4. 提升候选人体验，缩短招聘周期

### 1.3 核心价值

| 角色 | 价值 |
|------|------|
| HR | 减少初筛工作量，获得标准化评估报告 |
| 候选人 | 随时参与面试，体验创新面试形式 |
| 企业 | 降低招聘成本，提升招聘效率 |

---

## 二、用户角色

### 2.1 候选人

- **画像**：应聘轻医美咨询师岗位的求职者
- **使用场景**：收到面试邀请后，通过网页参与 AI 语音面试
- **核心诉求**：快速完成面试，获得反馈

### 2.2 HR/招聘专员

- **画像**：负责招聘的人力资源专员
- **使用场景**：在管理后台查看候选人面试结果和分析报告
- **核心诉求**：快速筛选合适候选人，减少重复劳动

### 2.3 管理员

- **画像**：系统管理员
- **使用场景**：管理系统配置、查看所有候选人数据
- **核心诉求**：系统稳定运行，数据安全

---

## 三、功能需求

### 3.1 用户端功能

#### F-001 欢迎页（Welcome）

| 项目 | 内容 |
|------|------|
| 功能描述 | 展示公司/品牌介绍，引导候选人开始面试 |
| 页面元素 | 公司 Logo、欢迎语、"开始面试"按钮 |
| 交互逻辑 | 点击按钮进入信息收集页 |

#### F-002 信息收集页（InfoCollection）

| 项目 | 内容 |
|------|------|
| 功能描述 | 收集候选人姓名和简历 |
| 页面元素 | 姓名输入框、简历上传组件、提交按钮 |
| 交互逻辑 | 1. 输入姓名（必填）<br>2. 上传简历（PDF/DOC/DOCX）<br>3. 提交后显示加载状态<br>4. 处理完成进入来电页 |
| 校验规则 | 姓名：2-20字符；简历：≤10MB |

#### F-003 模拟来电页（IncomingCall）

| 项目 | 内容 |
|------|------|
| 功能描述 | 模拟电话来电效果，增强仪式感 |
| 页面元素 | 来电动画、"AI面试官来电中..."文案、接听按钮（绿）、挂断按钮（红） |
| 交互逻辑 | 1. 显示振铃动画<br>2. 点击接听进入通话页<br>3. 点击挂断返回欢迎页 |

#### F-004 语音通话页（InCall）

| 项目 | 内容 |
|------|------|
| 功能描述 | 与 AI 面试官进行实时语音对话 |
| 页面元素 | 通话计时器、音波动画、静音按钮、挂断按钮 |
| 交互逻辑 | 1. 自动开启麦克风<br>2. AI 说话时显示音波动画<br>3. 可随时静音/取消静音<br>4. 面试结束自动跳转或点击挂断结束 |

#### F-005 面试结束页（Completed）

| 项目 | 内容 |
|------|------|
| 功能描述 | 展示面试完成信息 |
| 页面元素 | 感谢语、后续流程说明 |
| 交互逻辑 | 静态展示，可选择关闭页面 |

---

### 3.2 管理后台功能

#### F-101 候选人列表

| 项目 | 内容 |
|------|------|
| 功能描述 | 展示所有候选人及其面试状态 |
| 页面元素 | 数据表格、搜索框、筛选器、分页 |
| 表格字段 | 姓名、面试时间、状态、综合评分、操作 |
| 筛选条件 | 状态（待面试/进行中/已完成）、时间范围 |

#### F-102 候选人详情

| 项目 | 内容 |
|------|------|
| 功能描述 | 展示候选人完整面试报告 |
| 页面元素 | 基本信息、简历内容、评分雷达图、各维度分析、面试记录、导出按钮 |
| 评分维度 | 销售技能、销售观、素质项、求职动机 |
| 导出功能 | 支持导出 PDF 报告 |

---

## 四、业务流程

### 4.1 用户端面试流程

```
┌─────────────┐
│  欢迎页     │
│  Welcome    │
└──────┬──────┘
       │ 点击"开始面试"
       ▼
┌─────────────┐
│ 信息收集页  │
│ InfoCollection│
└──────┬──────┘
       │ 提交姓名+简历
       ▼
┌─────────────┐
│  处理中     │
│  Processing │
└──────┬──────┘
       │ 简历上传完成
       ▼
┌─────────────┐
│ 模拟来电页  │
│ IncomingCall│
└──────┬──────┘
       │ 点击"接听"
       ▼
┌─────────────┐
│ 语音通话页  │
│   InCall    │──────────────┐
└──────┬──────┘              │
       │ 面试结束             │ RTC 实时语音
       ▼                     │ 对接 Coze Bot
┌─────────────┐              │
│ 结束页      │◄─────────────┘
│ Completed   │
└─────────────┘
```

### 4.2 面试评估维度

| 维度 | 评估内容 | 权重 |
|------|---------|------|
| 销售技能 | 客户沟通、需求挖掘、异议处理 | 30% |
| 销售观 | 对销售工作的理解和价值观 | 25% |
| 素质项 | 学习能力、抗压能力、团队协作 | 25% |
| 求职动机 | 岗位匹配度、稳定性、职业规划 | 20% |

---

## 五、非功能需求

### 5.1 性能要求

| 指标 | 要求 |
|------|------|
| 页面加载时间 | < 3s |
| 语音延迟 | < 500ms |
| 并发面试数 | 支持 50 人同时面试 |

### 5.2 兼容性要求

| 平台 | 要求 |
|------|------|
| 浏览器 | Chrome 90+、Edge 90+、Safari 14+ |
| 设备 | PC 为主，移动端适配 |

### 5.3 安全要求

| 项目 | 要求 |
|------|------|
| 数据传输 | HTTPS 加密 |
| 敏感信息 | API Key 不暴露给前端 |
| 权限控制 | 管理后台需登录验证 |

---

## 六、技术约束

### 6.1 现有资源

| 资源 | 说明 |
|------|------|
| Coze 工作流 | 已有完整面试逻辑（工作流 ID：7595077233002840079） |
| Coze 数据库 | 已有数据结构（数据库 ID：7595077053909712922） |

### 6.2 技术依赖

| 依赖 | 说明 |
|------|------|
| 火山引擎 RTC | 实时语音通话 |
| Coze API | 文件上传、Bot 调用、数据库查询 |

---

## 七、里程碑

| 阶段 | 内容 | 预计时间 |
|------|------|---------|
| M1 | 需求确认、技术选型 | 1 天 |
| M2 | 后端 API 开发 | 2 天 |
| M3 | 前端用户端开发 | 3 天 |
| M4 | 前端管理后台开发 | 2 天 |
| M5 | 联调测试 | 2 天 |
| M6 | 上线部署 | 1 天 |

---

## 八、待确认事项

- [ ] 管理后台是否需要登录认证？
- [ ] 是否需要候选人邀请链接功能？
- [ ] 面试时长限制？（建议 15-20 分钟）
- [ ] 是否需要面试录音回放？

---

> 最后更新：2026-01-20
