基于 AI 的面试和口语考试辅助工具。实时捕获系统音频并转录考官提问,流式生成口语回答,让你从容应对任何面试和口语考试。窗口对屏幕分享软件隐身。
|
🚀 极智 中转站 api.lmxww.xyz |
稳定低价的 OpenAI 兼容 API 中转服务,支持百炼、硅基流动等国内模型,即开即用。一个 Key 通吃所有模型,无需分别注册多个平台。 |
这是一个面向口语面试和在线考试场景的桌面辅助工具。按下快捷键即可实时捕获系统音频,AI 自动转录并生成口语回答,你只需照着念出来即可。窗口对屏幕分享软件隐身,且不会抢占焦点。适配国内 AI 生态,简单易用。
本项目基于 interview-coder-cn 二次开发,在保留原项目优点的基础上,专门针对口语面试和考试场景做了大量优化。
- 实时语音转录:捕获系统音频回环,通过百炼 ASR 实时转写考官讲话,无需麦克风
- AI 生成口语回答:结合视觉模型和文本模型,根据当前阶段上下文自动生成自然的口语回答,流式展示
- 可配置阶段预设:内置 ELLT 口语考试和技术面试两套模板,支持自定义阶段、上下文规则和提示词,适配任何面试流程
- 截图内容识别:自动提取屏幕中的阅读材料、图片和图表,智能过滤考官头像、平台按钮等无关元素
- 自动语音模式:静音检测自动触发回答生成,全程无需手动操作
- 命令模式:三次分号激活单键快捷键,操作无按键痕迹
- 屏幕捕获保护:使用 Electron 内容保护隐藏窗口像素,无标题栏、无任务栏、无托盘图标
- 口语考试:ELLT、雅思口语、多邻国等,切换到对应场景即可
- 技术面试:自我介绍、技术问答、项目经验、行为面试,按阶段切换
- 编程面试 / 笔试:分析屏幕上的题目,实时给出解题思路和代码,支持 Python、JavaScript、Java、C++ 等
- 英语机试:切换到「英语考试」场景,结合语音转录处理听力题
- 在线考试:单选、多选、解答等通用题型
- 其他场景:自定义阶段和提示词,扩展到任意面试流程
本项目在 interview-coder-cn 的基础上增加了以下能力:
- ✅ 可配置阶段预设系统:不再写死阶段,ELLT 口语、技术面试、自定义场景一键切换
- ✅ 自适应回答长度:不同阶段、不同问题类型自动调整回答长度,不会每题都 3-5 句
- ✅ 作文档案预处理:Writing Q&A 阶段自动将作文转成结构化档案,精准定位"第二部分"、"第二个例子"等题目指代
- ✅ 截图专注识别:Stage 4 全屏截图自动忽略考官头像、平台按钮,只识别考试材料
- ✅ 语音转录自动重连:百炼 ASR 长连接断开后自动无感重建,不影响考试
- ✅ 候选人档案系统:结构化个人资料,支持多维度追问,不会每次重复同样的自我介绍
- ✅ 阶段主动切换:命令模式下按
,.即可切换阶段,阶段边界清晰
- 窗口透明置顶,不抢占焦点,规避"跳出网页"检测
- 截图 + 对话历史保持上下文连续
- 全局快捷键,随时触发
- 支持 OpenAI 兼容 API,百炼、硅基流动、OpenRouter 等都能用
- Frameless 窗口,简洁干净
- 支持追加截图和追问
注意:详细的使用教程请参考下方说明。首次使用前请务必完成配置。
项目运行依赖 Node.js 环境,如未安装请先安装 Node.js。
npm install开发模式:
npm run dev生产预览:
npm run build
npm startWindows 打包:
npm run build:win安装包输出到 dist/system-helper-<version>-setup.exe,免安装目录输出到 dist/win-unpacked/。
启动程序后,进入「设置」页面,配置以下信息。
API 地址和 API Key 需要从支持 OpenAI API 的代理服务商处获取。如国内的 硅基流动 或国外的 OpenRouter 等服务商。
也可以复制仓库内的
.env.example为.env进行本地预配置。.env已被 Git 忽略,请勿提交真实密钥。
cp .env.example .env主要配置项:
# 主视觉/文本模型
API_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
API_KEY="你的密钥"
MODEL="qwen-vl-max"
# 可选:口语回答专用模型(不填则复用主模型)
VOICE_API_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
VOICE_API_KEY="你的密钥"
VOICE_MODEL="qwen-turbo"
# 实时语音识别
DASHSCOPE_API_KEY="你的密钥"建议优先在应用设置页填写 API Key。不要在源码、README、Issue、截图或提交记录中粘贴真实密钥。
语音转录功能可以实时将电脑播放的声音(如考官讲话、听力音频)转为文字,自动触发 AI 回答。
目前该功能使用 Fun-ASR 模型(约 0.02 元/分钟,新用户有 10 小时免费额度),需要配置阿里云百炼平台的 API Key:
- 访问 百炼平台控制台 注册并创建 API Key
- 在应用「设置」页面的「语音转录」部分填入 API Key
- 使用快捷键(默认
Alt+T/Ctrl+T)或命令模式R开始/暂停语音转录
在「设置」页面中:
- 个人资料:填写你的背景、学历、爱好等,用于自我介绍阶段
- 写作内容:粘贴固定作文或书面回答,用于 Writing Q&A 阶段
- 阶段预设:选择 ELLT 口语或技术面试模板,也可以自定义阶段名称、颜色、上下文规则和提示词
按 ;;;(三次分号)进入命令模式,然后按单个键:
| 按键 | 功能 |
|---|---|
, |
上一阶段 |
. |
下一阶段 |
S |
截图 |
A |
追加截图 |
R |
开关语音转录 |
C |
清除上下文 |
H |
隐藏/显示窗口 |
M |
鼠标穿透 |
J / K |
上下翻页 |
再按 ;;; 退出命令模式。
考官说话 → 系统音频捕获 → 语音转文字 → AI 生成回答 → 你念出来
- 选择当前面试的阶段预设
- 按
R开始语音转录 - 考官开始提问,系统自动捕获音频并转录
- 静音约 1 秒后,自动生成 AI 回答
- 照着念出回答即可
应用使用 Electron setContentProtection、空窗口标题和 skipTaskbar 等能力保护窗口内容。该能力依赖操作系统、显卡驱动和会议软件实现,不能保证所有环境表现一致。部分软件(例如某些 Zoom 版本)仍可能在分享选择器中列出一个黑色或空白窗口卡片。正式使用前请在目标设备和目标会议软件中自行测试。
公开仓库不包含任何真实个人资料、作文或 API 密钥。所有个人数据存储在浏览器 localStorage 和 Electron 用户数据目录中,不会被上传或分享。请勿在 Issue、PR 或截图中粘贴真实个人信息。
src/
├── main/ # Electron 主进程
│ ├── ellt/ # ELLT 口语考试专用模块
│ │ ├── writing-profile.ts # 作文档案生成与缓存
│ │ ├── stage4-vision.ts # Stage 4 专用视觉识别
│ │ └── default-writing-content.ts # 默认作文内容
│ ├── ai.ts # AI 模型调用(Vercel AI SDK)
│ ├── shortcuts.ts # 全局快捷键 + 语音回答编排
│ ├── transcription.ts # 百炼 ASR 实时语音识别
│ ├── main-window.ts # 窗口创建与隐身控制
│ ├── settings.ts # 应用设置 + 阶段配置
│ └── take-screenshot.ts # 屏幕截图
├── preload/
│ └── index.ts # IPC 桥接
└── renderer/ # React 前端
└── src/
├── coder/ # 主页面(截图、回答、状态栏、转录栏)
├── settings/ # 设置页面(API、阶段预设、提示词)
├── help/ # 帮助页面
├── components/ # UI 组件(shadcn/ui)
└── lib/ # 状态管理、工具函数、音频采集
本项目采用 CC BY-NC 4.0 协议许可。
您可以自由使用、复制、修改本项目代码,但 禁止任何形式的商业用途,包括但不限于售卖、集成入商业产品、SaaS 服务等。
如需商业授权,请联系作者获得书面许可。
- 原项目 interview-coder-cn 由 ooboqoo 开发
- 灵感来源于 Interview-Coder