ResumeRadar is an AI-powered desktop resume screening agent. It helps recruiters compare resume text against custom job requirements, automatically queue clipboard captures, and keep a searchable analysis history.
ResumeRadar 是一个基于 AI 的桌面端简历初筛工具。它可以根据自定义岗位要求分析简历文本,自动监听剪贴板并排队处理简历,同时保存可搜索的历史分析结果。
ResumeRadar 更像是一个面向招聘场景的 AI Agent,而不是单一工具。它围绕“简历初筛”这件事完成一整套流程:采集简历、判断触发条件、排队分析、调用大模型、生成结构化结论、保存历史记录和管理岗位要求配置。
- 自定义岗位要求:地点、工作经历、学历、年龄、证书、技能、硬性条件、加分项等。
- 多选筛选条件:学历要求、求职意向等支持多选。
- 年龄范围设置:通过滑动条设置年龄限制,也可设为不限。
- 多 API 支持:OpenAI、DeepSeek、智谱、阿里百炼、硅基流动,以及自定义 OpenAI-compatible API。
- 剪贴板自动监听:复制简历文本后,满足字数条件才进入分析流程。
- 队列分析:多份简历会按顺序排队,上一份分析完成后再处理下一份。
- 历史记录:保存分析过的候选人,支持列表查看、详情查看和关键词搜索。
- 岗位要求配置:可保存、导入、编辑和删除常用岗位要求模板。
- 多语言界面:支持中文、英文、日文。
- Windows 打包:支持生成安装版和便携版应用。
- Electron
- React
- Vite
- OpenAI SDK
- electron-builder
- lucide-react
请先安装 Node.js。
npm install
npm run electron:dev如果 Windows PowerShell 阻止 npm 脚本执行,可以使用:
npm.cmd run electron:devnpm run buildnpm.cmd run dist:win打包结果会生成在:
release/
通常包括:
ResumeRadar Setup 0.1.0.exe
ResumeRadar 0.1.0.exe
win-unpacked/ResumeRadar.exe
用户在软件里填写的 API Key、当前岗位要求、触发条件、历史记录等不会保存在项目源码目录中,而是保存在 Electron 的用户数据目录。
Windows 默认路径类似:
C:\Users\你的用户名\AppData\Roaming\ai-hr-resume-screener\
主要文件:
settings.json 当前 API 设置、语言设置、剪贴板触发条件、当前岗位要求
job-configs.json 保存过的岗位要求配置
history.json 历史简历分析结果
- 项目源码仓库不会自动包含你在应用中填写的 API Key、岗位要求和历史简历数据。
.gitignore已忽略node_modules/、dist/、release/、日志文件和.env文件。- 当前版本的 API Key 存储在本地
settings.json中。若用于正式生产环境,建议改为系统安全凭据存储,例如 Windows Credential Manager。 - 简历内容会被发送到你配置的大模型 API 供应商,请根据你的业务合规要求选择合适的服务商。
已通过 vite.config.js 设置:
base: "./"这样 Electron 在 file:// 环境下可以正确加载 dist/assets 资源。
- 401 通常表示 API Key 不正确。
- 429 通常表示额度不足、余额不足或请求频率超限。
- 可以在设置里切换到 DeepSeek、智谱、阿里百炼、硅基流动或自定义兼容接口。
ResumeRadar is an AI-powered resume screening desktop agent. It is designed for recruiters who need to quickly compare candidate resumes against custom job requirements and keep a structured screening history.
Instead of being a single-purpose skill, ResumeRadar handles a complete workflow: clipboard capture, validation, queueing, LLM analysis, structured results, history search, and job requirement configuration management.
- Custom job requirements: location, experience, education, age, certificates, skills, must-have conditions, nice-to-have items, and notes.
- Multi-select filters for education and job intention.
- Age requirement slider with an optional "Any" mode.
- Multiple LLM providers: OpenAI, DeepSeek, Zhipu AI, Alibaba Bailian, SiliconFlow, and custom OpenAI-compatible APIs.
- Clipboard monitoring: copied resume text is analyzed only when it passes length checks.
- Analysis queue: resumes are processed one by one.
- Screening history: candidate list, detail view, and keyword search.
- Job requirement configs: save, import, edit, and delete reusable requirement templates.
- Multilingual UI: Chinese, English, and Japanese.
- Windows packaging via electron-builder.
- Electron
- React
- Vite
- OpenAI SDK
- electron-builder
- lucide-react
Install dependencies:
npm installRun the Electron development app:
npm run electron:devOn Windows PowerShell, if script execution is blocked, use:
npm.cmd run electron:devBuild the frontend:
npm run buildPackage the Windows app:
npm.cmd run dist:winGenerated files are placed in:
release/
Typical artifacts:
ResumeRadar Setup 0.1.0.exe
ResumeRadar 0.1.0.exe
win-unpacked/ResumeRadar.exe
User-entered API settings, current job requirements, trigger settings, and screening history are not stored in the source code directory. They are stored in Electron's user data directory.
On Windows, the path is usually:
C:\Users\<YourName>\AppData\Roaming\ai-hr-resume-screener\
Main files:
settings.json API settings, language, clipboard trigger rules, current job requirements
job-configs.json Saved job requirement templates
history.json Resume analysis history
- The Git repository does not automatically include API keys, job requirements, or resume analysis history entered in the app.
.gitignoreexcludesnode_modules/,dist/,release/, log files, and.envfiles.- In the current version, API keys are stored locally in
settings.json. For production usage, consider using secure OS credential storage such as Windows Credential Manager. - Resume text is sent to the LLM provider configured by the user. Choose a provider that matches your compliance requirements.
The production Vite base path is configured in vite.config.js:
base: "./"This allows Electron to load dist/assets correctly under the file:// protocol.
- 401 usually means the API key is invalid.
- 429 usually means quota, billing, or rate limits were exceeded.
- You can switch to DeepSeek, Zhipu AI, Alibaba Bailian, SiliconFlow, or a custom compatible API in settings.