Files
zhiyin/docs/PROJECT-STATUS.md
T
wlt 4cd889c081 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
2026-06-16 18:32:25 +08:00

9.7 KiB
Raw Blame History

职引项目 · 状态报告 v4.4

项目版本: v4.4 更新时间: 2026-06-16 项目状态: 面试复盘功能上线 + whisper.cpp 本地 ASR 集成


一、项目概况

维度 详情
项目名称 职引(ZhiYin
定位 应届生/实习生 AI 面试教练
技术栈 NestJS + MongoDB + Uni-App(Vue3)
定价 免费版 / ¥19.9/月(成长版) / ¥49.9/月(冲刺版)
AI 模型 DeepSeek V4-Flash(主) + Step-3.5-Flash(备)
ASR whisper.cpp(本地部署,tiny/base 模型,无需 API Key
后端模块 user, interview, resume, member, payment, positions, ai, analyze, upload, admin, email, progress, contribution, daily-question, schedule, interview-review

二、完成度总览

模块 完成度 说明
后端 API 98% 核心 + 护城河 P0-P5 全部实现
前端页面 85% 17 个页面含真实 API 调用
AI 面试模拟 95% 多轮对话 + 评分 + 报告 + 进度追踪
简历诊断/优化 95% 文件上传 + AI 分析 + 下载
支付系统(微信) 95% API v3 完整对接,含真实证书
会员系统 100% 成长版 + 冲刺版,含权益扣减
护城河 P0-P5 100% AI 结构化 / 行业基准 / VIP 过期 / 分享卡片 / 打卡积分 / 岗位匹配
面试复盘 100% 音频上传 → whisper.cpp ASR → AI 评析 → 口语分析
测试体系 85% 43 单元 + 11 e2e + 7 前端 + Playwright 框架
代码质量 95% console→Loggeras any 类型化,空 catch 检查
安全审计 90% JWT 硬编码 / 凭据泄漏 / IDOR / NoSQL 注入 全部修复
小程序审核 0% 类目已备案,未提交审核

三、功能完成明细

3.1 核心 AI 面试 (P0)

功能 后端 前端 状态
岗位选择(20+) 完成
多轮对话追问 完成
实时反馈评分 完成
面试报告(四维) 完成
历史记录/统计 完成
使用次数限制 N/A 完成
连续打卡(进步轨迹) 完成

3.2 护城河 P0-P5

优先级 功能 后端 文件 状态
P0 公司真题结构化(AI 自动处理) contribution.controller.ts, contribution.schema.ts 完成
P1 行业基准线 + 用户百分位 benchmark.service.ts, progress.controller.ts 完成
P2 VIP 过期 cron 自动降级 vip-expiry.service.ts 完成
P3 分享卡片(canvas 生成) report.vue 完成
P4 每日打卡 + 积分兑换 progress.controller.ts, progress.schema.ts 完成
P5 岗位匹配度预测 progress.controller.ts 完成

3.3 用户系统

功能 后端 前端 状态
手机验证码登录 完成
邮箱验证码登录 完成
密码登录/注册 完成
微信静默登录 ⚠️ 缺真实 appid 联调
JWT 认证 完成
个人信息设置 完成

3.4 商业化

功能 后端 前端 状态
免费版额度(日2次/5轮) 完成
成长版 ¥19.9/月 完成
冲刺版 ¥49.9/月(含权益扣减) 完成
微信支付 Native QR / JSAPI H5+MP 完成
支付回调/自动开会员 N/A 完成
每日一题定时推送 N/A 完成(需配置模板ID
会员状态/套餐查询 完成

3.5 简历

功能 后端 前端 状态
AI 简历诊断/优化 完成
简历 CRUD 完成
文件上传(PDF/图片) 完成
结果下载(TXT/HTML) N/A 完成

3.6 面试复盘(新增)

功能 后端 前端 状态
音频文件上传(MP3/M4A/WAV 等) 完成
文本转录粘贴提交 完成
whisper.cpp 本地 ASR 转写 N/A 完成tiny + base 模型)
AI 面试评估(四维评分) N/A 完成
口语分析(填充词/语速) N/A 完成
异步处理 + 状态轮询 完成
复盘历史列表/详情/删除 完成
ASR mock 回落(whisper 不可用时) N/A 完成

四、测试体系

层次 工具 文件 测试数 状态
后端单元 Jest benchmark.service.spec.ts 15
user.service.spec.ts 13
payment.controller.spec.ts 15
后端集成 Supertest+Jest app.e2e-spec.ts 11
前端单元 Vitest config.spec.ts 7
浏览器自动化 Playwright api.browser.spec.ts 7 (需后端运行)
总计 61
命令 用途
npm test 43 个单元测试
npm run test:e2e 11 个集成测试
npm run test:cov 覆盖率报告
npm run test:browser Playwright API 测试
cd zhiyin-app && npm test 7 个前端测试

五、安全修复清单

严重度 问题 文件 修复
🔴 CRITICAL JWT 硬编码 fallback (3处) jwt.strategy.ts, app.module.ts, user.module.ts 移除 zhiyin-jwt-secret 默认值
🟠 HIGH seed_admin.js 写死 MongoDB 凭据 .gitignore 加入 ignore 列表
🟡 MEDIUM 邮箱验证码泄漏 user.service.ts:91 仅开发环境暴露 devCode
🟡 MEDIUM 支付订单查询 IDOR payment.controller.ts:123 校验 userId 归属
🟡 MEDIUM 管理后台 NoSQL 注入 admin.controller.ts:61 正则特殊字符转义
🟢 LOW console.log 泄漏敏感信息 (2处) user.service.ts:29,91 替换为 Logger

六、代码质量修复

类别 文件 修复
console.log→Logger user.service.ts 开发版日志改为 this.logger.log()
as any→类型化 (11处) 7 个文件 Mongoose _id/createdAt 直接访问;基准类型用 PositionBenchmark
Schema 联合类型 progress.schema.ts:63 lastCheckinDate?: Date | null@Prop({ type: Date })
Module 依赖缺失 progress.module.ts 缺少 UserModel 注入导致启动崩溃

七、后端模块清单

模块 文件 状态 说明
user controller + service + schema 手机/邮箱/密码/微信登录
interview controller + service + schema AI 面试核心
ai module + service AI 主/备模型切换,TLS 修复
analyze controller + module + service 诊断/优化/技能缺口
resume controller + service + schema 简历 CRUD
member controller 会员套餐/权益扣减
payment controller + service + schema 微信支付 v3,含证书
progress controller + schema + benchmark service 打卡/积分/基准/匹配
contribution controller + schema (×2) 面经 + AI 结构化 + 公司题库
schedule module + service (×3) VIP 过期 / 每日一题 / 微信 token
interview-review controller + service + schema + asr service 面试复盘:音频 ASR + AI 评析 + 口语分析
admin controller + module 管理后台
email module + service 邮件发送
upload controller + module 文件上传

八、前端页面清单

页面 路径 状态
首页 index/index 岗位/每日一题/功能入口
登录 login/login 5 种登录方式 + 注册
面试模拟 interview/interview 多轮对话 + 计时
面试报告 report/report 评分/分析/全文回放/分享卡片
历史记录 history/history 筛选/统计
个人中心 user/user 信息/统计/管理员入口 + 面试复盘入口
会员中心 member/member 套餐对比 + 支付
进步轨迹 progress/progress 雷达图 + 打卡日历
面经贡献 contribute/contribute 表单提交
简历优化 resume/resume 诊断/优化/上传/下载
面试复盘 review/review 三种模式(列表/上传/报告)
实习搜索 internship/internship 热门岗位
管理后台 admin/admin 仪表盘
关于/协议/隐私 about/agreement/privacy

九、技术债务

问题 影响 优先级
微信登录需真实 appid 联调 无法真机测试 P0
前端两套 API 调用方式 维护负担 P2
AI 调用无重试机制 偶发失败 P1
UploadController 含 pdf-parse 原生依赖 e2e 测试 open handle P3

十、变更记录

日期 版本 变更内容 操作者
2026-06-02 v1.0 项目状态初版 AI
2026-06-05 v2.0 战略升级:文档重构 + 新增功能启动 小之
2026-06-09 v4.2 冲刺版+每日推送+支付修复+全量代码评审 AI
2026-06-11 v4.3 安全修复 5 项 + 代码质量 14 处 + 测试体系 61 项 + 护城河 P0-P5 全部验证 AI
2026-06-16 v4.4 面试复盘功能上线:音频 ASRwhisper.cpp+ AI 评析 + 口语分析 + 前端三模式页面 AI