简介

Resume Matcher 是什么?

Resume Matcher 是免费开源的 AI 简历定制工具,在本地运行,可接入 Claude、ChatGPT、Gemini 或 Ollama。

Resume Matcher 是一个免费开源的 AI 简历定制工具框架(harness):你在自己的电脑上运行它,接入你已经在用的 AI 模型,它就会针对每份职位描述改写你的简历。模型由你选择,可以是 Claude、ChatGPT、Gemini、DeepSeek,也可以是通过 Ollama 运行的本地模型。你的数据保存在本地数据库里,并能用 ATS(招聘管理系统 / 申请人跟踪系统)友好的模板导出干净的 PDF 简历。代码层的校验会阻止 AI 改动你的雇主和日期,也不允许它添加原件里没有的数字。目前已有超过 20 万求职者在使用,采用 Apache 2.0 许可证。

How Resume Matcher tailors a resumeYour master resume and a job description go to the AI model you choose, code guardrails check every suggested edit, you review and confirm, and you get a tailored PDF resume.REGENERATECONFIRMINPUTYour master resumePDF or Word upload, or the Resume WizardINPUTA job descriptionpaste any job postingYOUR AIYour AI modelClaude · ChatGPT · Gemini · DeepSeek · Ollamareads the job and suggests targeted editsCODEGuardrails check every editname, employers, titles, dates, degrees: lockednew numbers not in your resume: undoneYOUYou review the changesbefore/after preview, risky edits flaggedOUTPUTTailored resume, ready to sendPDF in 7 ATS-friendly templatesplus cover letter, outreach and interview prepKEYCode-enforced checksYour AI modelOptional loop
你的简历和职位描述会发给你选择的 AI 模型;在你审核之前,代码护栏会检查每一处修改。

它是什么,不是什么

它是:

  • 一个开源应用(Apache 2.0),由你自己下载并运行,可以在笔记本电脑上,也可以用 Docker。
  • 一个「自带 AI」的工具框架。你接入一个 LLM(大语言模型,也就是 Claude 和 ChatGPT 背后的那类 AI),Resume Matcher 负责提示词、校验和排版。
  • 一个简历定制工具。它接收你的主简历和一份职位描述,生成一个针对该职位的版本。
  • 一个简历生成器,内置七套可直接打印的模板,支持导出 PDF。
  • 一个小型求职工作台,包含求职信、联系邮件、面试准备和看板式的申请追踪。

它不是:

  • 一个让你上传简历的网站。没有托管版本,你得自己运行。
  • ATS 检测或扫描工具。(ATS 即申请人跟踪系统,是雇主用来收集和筛选申请的软件。)它的匹配度只是关键词比对,并不是针对任何真实 ATS 的测试。
  • 一个 AI 模型。你需要自己接入:付费的云端服务商,或者免费的本地模型。
  • 招聘网站或自动投递机器人。它不会把申请发到任何地方。
  • 一个凭空写简历的工具。它只基于你提供的事实工作:你上传的简历,或者你在它的问答式向导里给出的回答。

适合谁用

开发者,以及已经在用 Claude 或 ChatGPT 的人。 如果你能顺手克隆一个 GitHub 仓库、跑几条终端命令,或者一条 Docker 命令,就可以用自己的 API 密钥或本地模型把它跑起来。模型、费用和数据都由你掌控。

技术岗位的求职者。 工程师、设计师、数据从业者和技术型产品经理,需要投很多岗位,希望每个岗位都有一份诚实、独立的简历版本,又不想每次都把自己的全部经历粘贴进聊天机器人。

不适合只想要一个网站的人。 如果你想打开浏览器标签页、上传文件、零配置拿结果,Resume Matcher 不是为此设计的。你需要安装它(Docker,或者 Python 和 Node.js),并接入一个 AI 模型。

五步了解工作流程

  1. 添加主简历。 上传 PDF 或 Word 文件(最大 4 MB),或者在简历向导里回答问题来创建一份。这份完整、未经定制的简历就是你的主简历。你最多可以保存五份,比如每个职业方向一份。
  2. 粘贴职位描述。 AI 会读取它,提取出必备技能、加分技能和关键术语。
  3. 审核定制草稿。 AI 会用职位描述里的措辞,对你的个人简介、要点和技能提出具体修改建议。然后代码会检查每一处修改:你的姓名、联系方式、雇主、职位、日期和学位不能改动,原件里没有的新数字会被撤销。你会看到修改前后的对比预览,风险较高的改动会被标出,然后选择确认并保存或拒绝并重新生成。
  4. 润色并添加附加材料。 在简历生成器里随意编辑,从七套模板中选一套,调整字体、间距、页边距和颜色,重新排序或隐藏某些栏目。针对同一个职位生成求职信、联系邮件和面试准备。
  5. 下载并追踪。 把简历和求职信导出为 PDF。每份保存的定制简历都会在申请追踪看板上生成一张卡片。

自带 AI

Resume Matcher 不包含 AI 模型。你可以在设置页面接入一个,也可以通过几个环境变量来配置。

支持的服务商: OpenAI(ChatGPT 系列模型)、Anthropic(Claude)、Google Gemini、DeepSeek、OpenRouter、Groq、Azure AI Foundry、Ollama(一个免费工具,在你自己的电脑上运行开源模型),以及任何兼容 OpenAI 接口的本地服务,如 llama.cpp、vLLM 或 LM Studio。

你可以使用服务商提供的任意模型。设置页面会为每家服务商推荐一个默认模型,例如 GPT-5 Nano(OpenAI)、Claude Haiku 4.5(Anthropic)、Gemini 3 Flash(Google)和 Gemma 3 4B(Ollama)。

  • 费用: Resume Matcher 本身免费。使用云端服务商时,你按该服务商的价格为自己的 API 用量付费。使用 Ollama 或其他本地服务时,没有按次计费。
  • 隐私: 使用云端服务商时,你的简历(包括姓名和联系方式)和职位描述会在你使用 AI 功能时发送给该服务商。任何数据都不会发给 Resume Matcher 的作者。使用本地模型时,文本不会离开你的电脑。

在你自己的电脑上运行

What stays on your machineResume Matcher and your data run on your computer; only the AI requests you trigger go to a cloud provider you choose, and with a local model such as Ollama nothing leaves your machine.YOUR COMPUTERRESUME + JOBAPPResume Matcherlocalhost:3000DATAYour dataresumes, jobs, tracker (SQLite)API keys stored encryptedOPTIONALLocal AI modelOllama, LM Studio, vLLMnothing leaves your machineONLY IF YOU PICK ONECloud AI providerClaude, ChatGPT, Gemini, DeepSeekno data goes to Resume MatcherKEYStays on your machineSent to the provider you pickOptional
Resume Matcher 存储的所有内容都留在你的电脑上。只有你触发的 AI 请求会发给云端服务商,而且前提是你选择了云端服务商。

留在本地的: 你的简历、职位描述、定制版本和追踪看板(存在一个 SQLite 数据库文件里)、你的设置,以及加密保存的 API 密钥。所有数据都在你电脑上的一个文件夹里,或者一个 Docker 卷里。

离开你电脑的: 只有你触发的 AI 请求,发给你选定的服务商。应用里没有任何分析或追踪代码。AI 库在启动时会获取一份公开的模型价格表,其中不含你的任何数据,离线时会回退到内置副本。

完全离线: 使用 Ollama 或其他本地模型服务,你的简历、职位描述和所有 AI 输出都留在你的电脑上。只有安装应用和下载模型时才需要联网。

你能得到什么

  • 七套简历模板: 单栏、双栏、现代、现代双栏、LaTeX 风格、简洁和鲜明,支持 A4 或美式信纸(US Letter)、页边距、间距、字号、衬线/无衬线/等宽字体,其中三套模板支持强调色,各栏目可拖拽排序。
  • ATS 友好的 PDF: 每份 PDF 都由无头 Chrome 浏览器从真实文本打印而成,每个字都可以选中和复制。标题使用正确的标签,双栏布局在阅读顺序上保持主要内容优先,字体采用标准系统字体。
  • 求职信和联系邮件: 简短的求职信(100 到 150 词,可下载为 PDF)和 70 到 100 词的联系邮件,适合邮件或 LinkedIn,基于你的简历针对具体职位撰写。
  • 面试准备: 岗位匹配分析、关于你的简历和项目可能被问到的问题、需要准备的技能差距,以及谈话要点。
  • 匹配度: 「JD 匹配」标签页显示职位描述中有多大比例的有效词汇也出现在你的简历里,并高亮显示这些词。它只是代码计算出的关键词重合度,不是 AI 的判断,也不是对任何雇主系统如何给你排名的预测。
  • 申请追踪: 一个看板,从「已保存」到「已投递」、「面试」,再到「已录用」或「已拒绝」。
  • 七种语言,覆盖界面和 AI 生成内容:英语、西班牙语、简体中文、日语、巴西葡萄牙语、法语和韩语。

开始使用

最快路径(Docker):

docker run --name resume-matcher -p 3000:3000 -v resume-data:/app/backend/data ghcr.io/srbhr/resume-matcher:latest

打开 http://localhost:3000/settings,选择 AI 服务商,粘贴 API 密钥,然后点击测试连接。Ollama 和应用在同一台电脑上?把 Ollama 的 URL 设为 http://host.docker.internal:11434。

本地路径(Python 3.13+、Node.js 22+ 和 uv):参见安装。想用本地模型搭建私密环境,参见 Docker + Ollama。

在用编程 Agent? 仓库自带 Agent 说明:CLAUDE.md 文件和一个带快速入门的 docs/agent/ 文件夹。Claude Code 会自动读取 CLAUDE.md;如果用 Codex 或 Cursor,把 Agent 指向 docs/agent/quickstart.md,让它完成项目配置。

常见问题

Resume Matcher 是 ATS 检测工具吗? 不是。它根据职位描述定制你的简历;它不扫描简历,也不模拟申请人跟踪系统。它的匹配度只是简单的关键词重合百分比,它的模板生成的是干净的文本型 PDF,这类系统可以正常读取。

它会编造内容吗? 它的设计目标就是不编造。AI 只能改写你已有的内容,代码会检查每一处修改:姓名、联系方式、雇主、职位、日期和学位被锁定,原件里没有的新数字会被还原。唯一有意保留的例外是技能:它可能添加职位描述明确要求的某项技能,并将其标记为高风险变更,方便你拒绝。

我该用哪个 AI 模型? 用你已经能用的那个。设置页面会为每家服务商推荐一个默认模型,Ollama 上的 Gemma 3 4B 是免费的本地选项。没有官方最低要求,但非常小的模型可能处理不好结构化的编辑格式。

它免费吗? 免费。它以 Apache 2.0 许可证开源。如果你接入付费的云端 AI 服务商,该服务商会按你的用量向你收费;使用本地模型则没有按次费用。

我的简历会离开我的电脑吗? 只有在使用云端 AI 服务商时才会,而且只发给你选定的那家。使用 Ollama 这类本地模型时,没有任何数据离开你的电脑。

不会编程能用吗? 你不需要写代码,但需要在终端里运行命令:一条 Docker 命令,或者几条 Python 和 Node.js 的安装命令。之后的一切都在浏览器里完成。

什么是主简历? 你完整、未经定制的简历,把所有经历、项目和技能放在一处。Resume Matcher 从它生成每个定制版本,不会覆盖它。你最多可以保存五份主简历,比如每个职业方向一份。

可以上传和下载什么? 上传 PDF、DOC 或 DOCX 文件,最大 4 MB,或者用简历向导创建简历。不支持扫描件这类纯图片 PDF。简历和求职信可以下载为 PDF。

支持这个项目

Resume Matcher 由 Saurabh Rai 和贡献者们公开开发。如果它帮到了你,在 GitHub 上点个 Star,并在 GitHub、X 和 LinkedIn 上关注项目。