CodeInterviewAssist是一个开源AI面试辅助工具,专注于编程面试,能够分析题目、生成解决方案、实时调试代码,并支持多种AI模型的集成。可通过隐形窗口避开录屏检测,提供详细的代码和复杂度分析。
⚠️ 致社区的重要声明 ⚠️
这是一个免费的开源项目,并非商业产品!
市面上有许多收费的面试准备工具,提供实时音频捕获、自动答案生成等功能,价格高达数百美元。本项目截然不同:
这是一个小型、非营利、社区驱动的项目,没有任何商业动机所有代码完全开源,任何人都可以自由使用、修改或扩展想要语音支持?欢迎集成OpenAI的Whisper或其他API工具新功能应通过社区贡献实现——期望单个维护者免费实现高级功能是不合理的维护者不会因此获得作品集收益、金钱报酬或任何形式的认可
**在提交功能请求或期望个性化支持前,请理解本项目纯粹是社区资源。**如果你认可这个项目,最好的感谢方式是贡献代码、文档或帮助其他用户。
🔑 API密钥信息 - 已更新
我们已测试并确认当前版本同时支持Gemini和OpenAI API。如果遇到API密钥问题:
尝试从用户数据目录的配置文件中删除API密钥条目退出并重新登录应用检查API密钥控制面板,确认密钥有效且有足够额度确保使用正确的API密钥格式(OpenAI密钥以"sk-"开头)
配置文件位于:
C:\Users\[用户名]\AppData\Roaming\interview-coder-v1\config.json
(Windows)或/Users/[用户名]/Library/Application Support/interview-coder-v1/config.json
(macOS)
免费开源AI驱动的面试准备工具
本项目为付费编程面试平台提供了强大的替代方案。它以免费开源的形式提供了付费面试准备工具的核心功能。使用你自己的OpenAI API密钥,即可获得AI驱动的问题分析、解决方案生成和调试辅助等高级功能——所有操作都在本地运行。
项目初衷
优质的编程面试工具往往价格昂贵,许多学生和求职者难以负担。本项目提供同样强大的功能,却无需高昂费用:
- 使用自己的API密钥(按实际使用付费)完全在本地运行,确保隐私安全可自定义以满足特定需求学习并贡献于开源工具
自定义可能性
代码设计灵活可扩展:
- AI模型:虽然当前使用OpenAI模型,但可修改代码集成Claude、Deepseek、Llama等任何提供API的模型。所有集成代码位于
electron/ProcessingHelper.ts
,UI设置位于src/components/Settings/SettingsDialog.tsx
。编程语言:添加更多语言支持功能:扩展新能力界面:自定义UI偏好只需基本的JavaScript/TypeScript知识和对目标API的理解即可实现。
功能特点
- 🎯 99%隐形:无法检测的窗口,规避大多数屏幕捕捉方法📸 智能截图:分别捕获问题文本和代码以便更好分析🤖 AI驱动分析:自动提取并分析编程问题(使用GPT-4o)💡 解决方案生成:获取详细解释和时间/空间复杂度分析🔧 实时调试:通过AI辅助和结构化反馈调试代码🎨 高级窗口管理:自由移动、调整大小、改变透明度和缩放窗口🔄 模型选择:为不同处理阶段选择GPT-4o或GPT-4o-mini🔒 隐私优先:API密钥和数据仅用于OpenAI API调用,不会离开你的计算机
全局快捷键
应用使用无法识别的全局快捷键,不会被浏览器或其他应用检测:
- 切换窗口可见性:[Control或Cmd + B]移动窗口:[Control或Cmd + 方向键]截图:[Control或Cmd + H]删除最后截图:[Control或Cmd + L]处理截图:[Control或Cmd + Enter]开始新问题:[Control或Cmd + R]退出:[Control或Cmd + Q]降低透明度:[Control或Cmd + []增加透明度:[Control或Cmd + ]]缩小:[Control或Cmd + -]重置缩放:[Control或Cmd + 0]放大:[Control或Cmd + =]
隐形兼容性
应用对以下场景隐形:
- Zoom 6.1.6及以下版本所有基于浏览器的屏幕录制软件所有版本DiscordMac OS截图功能(Command + Shift + 3/4)
注意:应用无法对以下场景隐形:
- Zoom 6.1.6及以上版本Mac OS原生屏幕录制(Command + Shift + 5)
系统要求
- Node.js(v16或更高)npm或bun包管理器OpenAI API密钥终端/IDE的屏幕录制权限
- macOS:
- 系统偏好设置 > 安全性与隐私 > 隐私 > 屏幕录制确保CodeInterviewAssist有屏幕录制权限启用权限后重启CodeInterviewAssist
- 无需额外权限
- 根据发行版可能需要
xhost
访问权限运行应用
快速开始
- 克隆仓库:
git clone https://github.com/greeneu/interview-coder-withoupaywall-opensource.gitcd interview-coder-withoupaywall-opensource
- 安装依赖:
npm install
- 推荐:清理之前构建:
npm run clean
- 运行适合你平台的脚本:
Windows:
stealth-run.bat
macOS/Linux:
# 首先赋予脚本执行权限chmod +x stealth-run.sh./stealth-run.sh
重要:应用窗口默认不可见!使用Ctrl+B(Mac上Cmd+B)切换可见性。
构建可分发包
创建可安装的发布包:
macOS(DMG):
# 使用npmnpm run package-mac# 或使用yarnyarn package-mac
Windows(安装程序):
# 使用npmnpm run package-win# 或使用yarnyarn package-win
打包后的应用将位于release
目录。
脚本功能:
- 创建应用所需目录清理之前构建以确保全新开始以生产模式构建应用以隐形模式启动应用
注意事项与故障排除
窗口管理器兼容性:某些窗口管理工具(如macOS的Rectangle Pro)可能干扰应用窗口移动。可考虑临时禁用它们。
API使用:注意OpenAI API密钥的速率限制和额度使用。视觉API调用比纯文本调用更昂贵。
LLM自定义:可轻松修改ProcessingHelper.ts
中的API调用及相关UI组件,集成Claude、Deepseek或Grok等LLM。
常见问题:
- 启动应用前运行
npm run clean
以确保全新构建如果窗口不出现,多次尝试Ctrl+B/Cmd+B如需可调整窗口透明度(Ctrl+[/]/Cmd+[/])macOS:确保脚本有执行权限(chmod +x stealth-run.sh
)与付费面试工具对比
功能 | 付费工具 | CodeInterviewAssist(本项目) |
---|---|---|
价格 | $60/月订阅 | 免费(仅支付API使用费) |
解决方案生成 | ✅ | ✅ |
调试辅助 | ✅ | ✅ |
隐形性 | ✅ | ✅ |
多语言支持 | ✅ | ✅ |
时间/空间复杂度分析 | ✅ | ✅ |
窗口管理 | ✅ | ✅ |
认证系统 | 需要 | 无(简化) |
支付处理 | 需要 | 无(使用自己的API密钥) |
隐私 | 服务器处理 | 100%本地处理 |
自定义 | 有限 | 完全源代码访问 |
模型选择 | 有限 | 可自由选择模型 |
技术栈
- ElectronReactTypeScriptViteTailwind CSSRadix UI组件OpenAI API
工作原理
初始设置
- 启动隐形窗口在设置中输入OpenAI API密钥为提取、解决方案生成和调试选择首选模型
捕获问题
- 使用全局快捷键[Control或Cmd + H]截图编程问题截图自动加入最多2个的队列如需可删除最后截图[Control或Cmd + L]
处理
- 按[Control或Cmd + Enter]分析截图AI使用GPT-4视觉API从截图中提取问题需求模型基于提取信息生成最优解决方案所有分析使用个人OpenAI API密钥完成
解决方案与调试
- 查看生成的解决方案及详细解释通过截图错误信息或代码使用调试功能获取结构化分析,包括问题识别、修正和优化根据需要切换解决方案和队列视图
窗口管理
- 使用[Control或Cmd + 方向键]移动窗口[Control或Cmd + B]切换可见性[Control或Cmd + []和[Control或Cmd + ]]调整透明度窗口对指定屏幕共享应用保持隐形[Control或Cmd + R]开始新问题
语言选择
- 一键切换编程语言使用方向键在可选语言间导航系统动态适应代码库中添加或移除的语言语言偏好会在会话间保存
添加更多AI模型
应用设计注重可扩展性。可轻松添加其他LLM支持:
- 可添加Claude、Deepseek、Grok等AI模型作为备选应用架构允许多个LLM后端共存用户可自由选择偏好的AI提供商
添加新模型只需扩展electron/ProcessingHelper.ts
中的API集成,并在src/components/Settings/SettingsDialog.tsx
中添加相应UI选项。模块化设计使操作简单且不影响现有功能。
配置
- OpenAI API密钥:个人API密钥本地存储,仅用于OpenAI API调用模型选择:可为每个处理阶段选择GPT-4o或GPT-4o-mini:
- 问题提取:分析截图理解编程问题解决方案生成:创建带解释的优化方案调试:提供错误详细分析和改进建议
许可证
本项目采用GNU Affero通用公共许可证v3.0(AGPL-3.0)。
含义
- 可自由使用、修改和分发本软件修改代码后,必须在相同许可证下公开变更如果在网络服务器上运行修改版,必须向用户提供源代码强烈建议将改进贡献回主项目
详见LICENSE-SHORT文件或访问GNU AGPL-3.0查看完整许可证文本。