feat: interview review module with whisper.cpp ASR + AI analysis + frontend page

New backend module 'interview-review' provides:
- Audio upload (50MB limit, MP3/M4A/WAV/AAC/OGG/MP4/WebM)
- Text transcript submission
- whisper.cpp local ASR integration (tiny + base models)
- AI analysis (4-dimension scoring: logic/expression/professionalism/stability)
- Speech analysis (filler words detection, pace, duration)
- Async processing pipeline with status polling
- Graceful fallback to mock ASR when whisper unavailable

New frontend page 'pages/review/review.vue' with 3 modes:
- List mode: review history with status indicators
- Upload mode: audio file upload or text paste
- Report mode: score radar, dimension bars, analysis details

Docs updated: PROJECT-STATUS.md v4.4, FEATURE-LIST.md v4.2, ROADMAP.md v4.2
This commit is contained in:
wlt
2026-06-16 18:32:25 +08:00
parent 96c367e0f8
commit 4cd889c081
16 changed files with 1771 additions and 80 deletions
+30 -6
View File
@@ -1,8 +1,8 @@
# 职引 · 完整功能清单 v4.1
# 职引 · 完整功能清单 v4.2
> **版本**: v4.1
> **日期**: 2026-06-09
> **状态**: Phase 0.5 壁垒构建完成
> **版本**: v4.2
> **日期**: 2026-06-16
> **状态**: Phase 0.5 壁垒构建完成 + 面试复盘上线
> **定位**: 应届生/实习生 AI 面试教练
---
@@ -41,6 +41,18 @@
| 连续打卡日历 | ✅ 完成 | 面试频率可视化,连续打卡激励 | P1 |
| 每日一题推送 | ⚠️ 半完成 | 首页展示 + API 读取,**无定时推送** | P0 |
### 1.4 面试复盘(新增)
| 功能 | 状态 | 描述 | 优先级 |
|------|------|------|--------|
| 音频文件上传 | ✅ 完成 | 支持 MP3/M4A/WAV/AAC/OGG/MP4/WebM50MB 上限 | P0 |
| 文本转录粘贴 | ✅ 完成 | 直接粘贴面试转录文本提交 | P0 |
| whisper.cpp ASR | ✅ 完成 | 本地离线语音转文字,支持 tiny/base 模型 | P0 |
| AI 面试评析 | ✅ 完成 | 四维评分(逻辑/表达/专业度/稳定性)+ 逐题评估 | P0 |
| 口语分析 | ✅ 完成 | 填充词检测 + 语速评估 | P0 |
| 无 ASR 回落 | ✅ 完成 | whisper 不可用时自动使用 mock | P1 |
| 历史记录管理 | ✅ 完成 | 列表/详情/删除 | P0 |
---
## 二、用户端功能
@@ -61,6 +73,7 @@
| 面试记录/统计 | ✅ 完成 | 总数/平均分/完成数 |
| 进步轨迹 | ✅ 完成 | 雷达图 + 打卡日历 |
| 简历管理 | ✅ 完成 | 多份简历 CRUD + AI 分析 |
| 面试复盘 | ✅ 完成 | 音频上传 → ASR → AI 评析 → 口语分析 |
| 会员中心 | ✅ 完成 | 套餐对比 + 支付 |
---
@@ -95,6 +108,8 @@
| 面试报告生成 | ✅ 完成 | 总分 + 四维 + 优劣势分析 |
| 简历诊断 | ✅ 完成 | 结构 + 表达 + 关键词 + 亮点分析 |
| 简历优化 | ✅ 完成 | 内容优化 + 差异展示 |
| 面试复盘评析 | ✅ 完成 | 转录文本 → AI 评估 → 逐题分析 |
| 口语分析 | ✅ 完成 | 填充词检测 + 语速评估 |
| 技能缺口分析 | 📋 规划中 | 基于 JD 分析技能差距 |
| 学习路径推荐 | 📋 规划中 | 知识图谱驱动的职业规划 |
@@ -104,18 +119,25 @@
| opencode-go (deepseek-v4-flash) | 主用 | ✅ 已配置 |
| NVIDIA (stepfun-ai/step-3.5-flash) | 备用 | ✅ 已配置 |
### ASR 引擎配置
| 引擎 | 用途 | 状态 |
|------|------|------|
| whisper.cpp (tiny/base) | 本地离线 ASR | ✅ 已编译 + 已部署 |
| mock ASR | 回落方案 | ✅ 无 whisper 时自动使用 |
---
## 五、技术功能
| 功能 | 状态 | 描述 |
|------|------|------|
| MongoDB 数据存储 | ✅ 完成 | 8 个数据模型 |
| MongoDB 数据存储 | ✅ 完成 | 9 个数据模型(新增 InterviewReview |
| JWT 认证 | ✅ 完成 | 全局守卫 + 白名单机制 |
| API 限流 | ✅ 完成 | @nestjs/throttler 10次/分钟 |
| 文件上传 | ✅ 完成 | 简历 PDF/图片解析 |
| 文件上传 | ✅ 完成 | 简历 PDF/图片 + 面试录音 |
| CORS 配置 | ✅ 完成 | 全开放(生产需白名单) |
| 参数校验 | ✅ 完成 | class-validator whitelist |
| whisper.cpp ASR | ✅ 完成 | C/C++ 原生二进制,CPU 推理,MIT 协议 |
---
@@ -132,6 +154,7 @@
- [x] 会员系统(¥19.9 成长版)
- [x] 微信支付对接(Native + JSAPI
- [x] 公司真题库(用户贡献驱动)
- [x] **面试复盘(音频 ASR + AI 评析 + 口语分析)**
### P1(待实现)
- [ ] 每日一题定时推送
@@ -156,3 +179,4 @@
| 2026-06-01 | 重新定位:专注校招 | AI |
| 2026-06-05 | 战略升级:新增数据飞轮/留存入围 | 小之 |
| 2026-06-09 | 同步代码:Phase 0.5 功能标记完成,修正状态 | AI |
| 2026-06-16 | **v4.2**:新增面试复盘功能(whisper.cpp ASR + AI 评析 + 口语分析) | AI |