📈 GH Trending Explorer 🎲 Surprise me

← all repos

les1016 / ai-digital-interview

git clone https://github.com/les1016/ai-digital-interview.git

Chinese AI interview practice platform

+0
stars, 24h · #37,472
+~0
stars, 7 days · #42,815
+114
stars, 30 days · #6,257
114
★ total
3
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 114 ★ 2026-10-23 · 114 ★
LanguagePython
LicenseMIT
Created2026-09-28 (24d ago)
Last push16d ago
Watchers2
OwnerUser

Links

README excerpt
# AI数字人面试
**中文模拟面试 · 简历与岗位 JD · 数字人交互 · 成长报告**
界面预览 · 本地运行 · 功能一览 · 上游致谢 · 问题反馈
**一个面向大学生的中文面试练习与复盘系统,也是一份可供学习和二次开发的 Web + AI 工程实践。**
求职练习不应该停留在“回答完几个问题,得到一个分数”。本项目把简历、岗位要求、多轮追问和面试复盘串起来,让练习者知道自己说清楚了什么、还缺哪些证据,以及下一次可以怎样改进。页面保留温暖、低压力的学生成长空间风格,并提供移动端布局。
这不是实际招聘或自动筛人系统,反馈只用于练习参考。欢迎有类似需求的同学、教师和开发者借鉴、交流、提出问题。
业务代码采用 MIT 许可。此仓库是**精简源码版,不是完整免配置安装包**:包含下方展示图,不包含作者密钥、真实账号、数据库、简历、录像、完整数字人运行素材、动作视频、模型权重或商业素材包。首次填写 Key 并不意味着数字人已经部署完成。
## 数字人面试官
这是本项目选用的面试官形象,图中为静态预览。实际面试通过 LiveTalking 驱动口型并传输音视频;完整体验需要自行部署相应服务。
展示图供了解项目效果,不随业务代码 MIT 许可授予人物素材再分发权。下载源码不会获得完整数字人运行素材或模型权重。
## 项目来源与致谢
本项目的**实时数字人部分基于 lipku/LiveTalking 接入并进行本地适配**。感谢 lipku 及 LiveTalking 社区贡献者提供实时音视频数字人引擎;我们不将这些底层能力声明为自行从零研发。
- **上游提供**:实时数字人驱动、音视频同步、WebRTC 等传输接口及相关模型集成。
- **本项目扩展**:面向大学生的中文面试网站,包括简历与岗位 JD、多轮追问与回答更正、暂停与恢复、报告与摘要导出、管理员测试与监控,以及面试场景的动作调度和界面交互。
- **本地适配**:对 LiveTalking 的启动、会话、ASR、音视频接口及嘴部推理链路进行了修改,以 差异补丁 提供;基于上游提交 a5a77f4,不是对上游最新版的兼容承诺。
这是独立维护的面试场景应用,不是 LiveTalking 官方产品,也不代表上游作者认可或背书。本仓库自己的业务代码采用 MIT;LiveTalking 原代码及相关派生修改保留其 Apache-2.0 许可边界,随附 上游许可证与版权声明。Wav2Lip 等模型另有使用条件,不能用本仓库的 MIT 许可替代,详见 第三方组件说明。
## 先看看界面
以下三张界面截图使用**虚构数据**,不是实际模型评分;截图时未连接私人数据库、模型或摄像头,也不是在线体验入口。
 查看成长报告与管理员复盘 
### 成长报告:保留信心,也给出下一步
### 管理员:结果、摘要、用户文档分开查看
查看大图、演示数据说明与体验边界 →
## 适合谁
- **求职学生 / 就业指导教学**:研究基于简历和岗位 JD 的模拟面试、回答复盘与改进建议;实际使用前需要完成部署。
- **Web 与 AI 应用开发者**:参考前后端分层、模型调用、音视频交互、会话状态、报告导出和管理端测试的实现。
- **毕业设计 / 课程实践 / 研究原型**:在理解实现和第三方许可的基础上扩展自己的方案,保留来源与版权声明。
## 可以研究哪些功能
| 模块 | 已有业务能力 |
| --- | --- |
| 面试准备 | 文本 / PDF 简历上传、拖拽导入、简历辅助填写;岗位可选,也可输入岗位 JD |
| 多轮面试 | 基于简历与岗位生成问题、追问与澄清;回答更正后的确认与上下文处理 |
| 发言与节奏 | 手动结束回答、无有效输入倒计时、暂停 / 继续、异常退出规则与冷却提示 |
| 数字人交互 | LiveTalking / WebRTC 接口;口型、动作状态调度与失败回退;可选开场、点头和微笑素材接入 |
| 复盘报告 | 面试结果、岗位匹配分析、改进建议、独立对话摘要;结果在前、摘要在后的合并文档导出(PDF / DOCX) |
| 历史与管理 | 账号与角色权限、历史面试与报告、管理员结果 / 摘要 / 用户文档预览 |
| 测试与干预 | 虚构学生固定剧本、预设答案、暂停测试、链路加载计时、状态监控、日志分页和恢复入口 |
| 工程与发布 | 本地配置窗口、启动 / 停止脚本、权限与状态回归测试、白名单源码导出、上传前离线脱敏检查 |
上表描述源码中的功能,不代表公开副本已附带所有外部服务和媒体。手机 / iPad 的麦克风、摄像头与 WebRTC 还需要合适的 HTTPS、证书和浏览器权限;桌面运行成功不等于移动端已经配置完成。
典型练习流程:
 [code] 
## 技术与目录
- 前端:React / Vite / JavaScript;浏览器媒体采集和 WebRTC;桌面与移动端布局。
- 后端:Python / FastAPI / SQLAlchemy;本地 SQLite;DeepSeek 对话接口与结构化结果校验。
- 数字人:对接 LiveTalking;本地修改以补丁提供,模型和人物素材需自行合法准备。
- 固定剧本:虚构学生数据,不调用 DeepSeek;语音服务与数字人仍需配置。
- `apps/` 业务源码;`scripts/` 运行与发布工具;`tests/` 回归测试;`release/` 发布模板;`docs/` 安全与依赖说明。
浏览器通过后端使用模型服务,**不把服务商 Key 下发到前端**。数据库、上传文件和运行日志由部署者保存在自己的环境中;本仓库不提供共享 API、托管服务器或演示账号。
## Windows 本地首次运行
1. 安装 Python 3.11–3.12(需要 tkinter)、uv、Node.js 22.12+、pnpm 11.9.0。版本约束以锁文件和项目清单为准。
2. 双击“一键初始化.cmd”安装锁定依赖并构建前端;需要联网,不会自动修改代理或支付费用。
3. 双击“配置密钥与管理员.cmd”:中文窗口填写**你自己的** DeepSeek Key、新管理员账号与密码。Key 保存到项目根目录私有 `.env`,密码只保存加盐哈希。已有管理员不会被此窗口覆盖;取消不会启动服务。不要在网页前端配置服务商 Key。
4. 先阅读 `docs/THIRD_PARTY.md`,部署 LiveTalking 环境、应用补丁并准备有授权的人物与权重。未准备人物时,图片/动作区域可能为空或回退;不能据此认为实时面试完整可用。
5. 双击“一键启动.cmd”。缺少本地配置时会自动弹出配置窗口。页面默认为 http://127.0.0.1:4173 。管理员使用自己设定的账号登录。
仅研究业务页面/API 时,完成第 1–3 步后双击“仅启动网页与后端.cmd”:不启动 WSL、数字人和语音服务,也不等待它们加载。这不是完整语音面试模式;数字人、口播和部分录音链路不可用。实时文本面试仍可能调用你配置的 DeepSeek API 并计费。
开发者也可分别在 `apps/server`