免费开源的AI面试准备工具CodeInterviewAssist


 

本项目为付费编程面试平台提供了强大的替代方案。它以免费开源的形式提供了付费面试准备工具的核心功能。使用您自己的OpenAI API密钥,您可以访问AI驱动的问题分析、解决方案生成和调试辅助等高级功能——所有操作都在您的本地机器上运行。

项目初衷

最好的编程面试工具往往价格昂贵,让许多学生和求职者望而却步。本项目提供了同样强大的功能,却无需支付高昂费用,让您能够:

  • • 使用自己的API密钥(只为实际使用付费)
  • • 在本地机器上运行,确保完全隐私
  • • 根据个人需求进行自定义
  • • 学习并贡献于开源工具

自定义可能性

代码库设计灵活,可适应多种需求:

  • • AI模型:虽然目前使用OpenAI的模型,但您可以修改代码以集成其他提供商的模型,如Claude、Deepseek、Llama或任何具有API的模型。所有集成代码位于electron/ProcessingHelper.ts,UI设置位于src/components/Settings/SettingsDialog.tsx
  • • 语言:添加对更多编程语言的支持
  • • 功能:扩展新功能
  • • 界面:根据偏好自定义界面

只需具备基本的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及以下版本
  • • 所有基于浏览器的屏幕录制软件
  • • 所有版本的Discord
  • • Mac OS截图功能(Command + Shift + 3/4)

注意:应用程序对以下情况隐形:

  • • Zoom 6.1.6及以上版本
    • • https://zoom.en.uptodown.com/mac/versions (如需降级Zoom的链接)
  • • Mac OS原生屏幕录制(Command + Shift + 5)

系统要求

  • • Node.js(v16或更高)
  • • npm或bun包管理器
  • • OpenAI API密钥
  • • 终端/IDE的屏幕录制权限
    • • macOS:
      1. 1. 前往系统偏好设置 > 安全性与隐私 > 隐私 > 屏幕录制
      2. 2. 确保CodeInterviewAssist有屏幕录制权限
      3. 3. 启用权限后重启CodeInterviewAssist
    • • Windows:
      • • 无需额外权限
    • • Linux:
      • • 根据发行版可能需要xhost访问权限

运行应用程序

快速开始

  1. 1. 克隆仓库:
git clone https://github.com/greeneu/interview-coder-withoupaywall-opensource.git
cd interview-coder-withoupaywall-opensource
  1. 2. 安装依赖:
npm install
  1. 3. 推荐:清理之前的构建:
npm run clean
  1. 4. 根据您的平台运行相应脚本:

Windows:

stealth-run.bat

macOS/Linux:

# 首先使脚本可执行
chmod +x stealth-run.sh
./stealth-run.sh

重要提示:应用程序窗口默认不可见!使用Ctrl+B(Mac上为Cmd+B)切换可见性。

构建可分发包

创建可安装的分发包:

macOS(DMG):

# 使用npm
npm run package-mac

# 或使用yarn
yarn package-mac

Windows(安装程序):

# 使用npm
npm run package-win

# 或使用yarn
yarn package-win

打包后的应用程序将位于release目录。

脚本功能:

  • • 为应用程序创建必要目录
  • • 清理之前的构建以确保全新开始
  • • 以生产模式构建应用程序
  • • 以隐形模式启动应用程序

注意事项与故障排除

  • • 窗口管理器兼容性:某些窗口管理工具(如macOS上的Rectangle Pro)可能会干扰应用的窗口移动。可考虑暂时禁用它们。
  • • API使用:注意OpenAI API密钥的速率限制和信用额度。视觉API调用比纯文本调用更昂贵。
  • • LLM定制:您可以轻松定制应用以包含Claude、Deepseek或Grok等LLM,只需修改ProcessingHelper.ts中的API调用和相关UI组件。
  • • 常见问题
    • • 启动应用前运行npm run clean以确保全新构建
    • • 如果窗口不出现,多次尝试Ctrl+B/Cmd+B
    • • 如需调整窗口透明度,使用Ctrl+[/]/Cmd+[/]
    • • macOS:确保脚本有执行权限(chmod +x stealth-run.sh

与付费面试工具对比

功能
付费工具
CodeInterviewAssist(本项目)
价格
60美元/月订阅
免费(只需支付API使用费)
解决方案生成
调试辅助
隐形
多语言支持
时间/空间复杂度分析
窗口管理
认证系统
需要
无(简化)
支付处理
需要
无(使用自己的API密钥)
隐私
服务器处理
100%本地处理
定制
有限
完全源代码访问
模型选择
有限
模型间自由选择

技术栈

  • • Electron
  • • React
  • • TypeScript
  • • Vite
  • • Tailwind CSS
  • • Radix UI组件
  • • OpenAI API

工作原理

  1. 1. 初始设置
    • • 启动隐形窗口
    • • 在设置中输入OpenAI API密钥
    • • 为提取、解决方案生成和调试选择首选模型
  2. 2. 捕捉问题
    • • 使用全局快捷键[Control或Cmd + H]对代码问题进行截图
    • • 截图自动添加到最多2张的队列中
    • • 如需移除最后一张截图,使用[Control或Cmd + L]
  3. 3. 处理
    • • 按[Control或Cmd + Enter]分析截图
    • • AI使用GPT-4视觉API从截图中提取问题需求
    • • 模型根据提取的信息生成最优解决方案
    • • 所有分析均使用您的个人OpenAI API密钥完成
  4. 4. 解决方案与调试
    • • 查看带有详细解释的生成解决方案
    • • 通过截取更多错误信息或代码使用调试功能
    • • 获取包含问题识别、修正和优化的结构化分析
    • • 根据需要切换解决方案和队列视图
  5. 5. 窗口管理
    • • 使用[Control或Cmd + 方向键]移动窗口
    • • 使用[Control或Cmd + B]切换可见性
    • • 使用[Control或Cmd + []和[Control或Cmd + ]]调整透明度
    • • 窗口对特定屏幕共享应用保持隐形
    • • 使用[Control或Cmd + R]开始新问题
  6. 6. 语言选择
    • • 一键切换编程语言
    • • 使用方向键在可用语言间导航
    • • 系统动态适应代码库中添加或移除的任何语言
    • • 语言偏好会在会话间保存

添加更多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:
    • • 问题提取:分析截图以理解编程问题
    • • 解决方案生成:创建带有解释的优化解决方案
    • • 调试:提供错误和改进建议的详细分析
  • • 语言:选择解决方案的首选编程语言
  • • 窗口控制:使用键盘快捷键调整透明度、位置和缩放级别
  • • 所有设置本地存储在用户数据目录中,并在会话间保持


 


项目地址

https://github.com/Ornithopter-pilot/interview-coder-withoupaywall-opensource/blob/main/README.md



扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往