ai-job-search
把 Claude Code 变成求职助手:自动评估职位匹配、定制简历、生成求职信、模拟面试
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把 Claude Code 变成求职助手:自动评估职位匹配、定制简历、生成求职信、模拟面试
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025 年底,地球物理学家 Mads Lorentzen 收到了裁员通知。和大多数人一样,他经历了"投简历-等消息-被忽略"的死循环。但他选择了另一条路——自己造工具。
他把目光投向了 Claude Code,把自己的求职过程拆解成一套可重复的工作流:先用 AI 评估职位匹配度,再用 AI 定制简历和求职信,最后让 AI 陪练面试。三个月后,这套框架帮他拿到了 20 个首轮面试,最终签下了一份 AI 工程师的 Offer。
他把这个过程开源了——项目叫 AI Job Search,目前 GitHub 星标超过 2.4 万,一度冲上 GitHub Trending 全语言榜第一,被《福布斯》《TechCrunch》科技媒体报道,甚至衍生出了针对 Codex、Gemini CLI 等其他 Agent 工具的社区移植版本。
图1:项目作者 Mads Lorentzen 头像

这个项目最反直觉的地方在于:它的核心价值不是帮你写一份简历,而是帮你建立一套持续优化的求职系统。
传统求职的痛点在于"重复劳动":每个职位都要重新读 JD、重新组织简历措辞、重新写一封格式相同的求职信。而 AI Job Search 的思路是:把职位评估、简历定制、求职信生成、面试准备全部结构化,让 AI 在每次投递中积累数据,下一次投递变得更快更精准。
具体来说,它用 /scrape 命令从 LinkedIn、Jobindex(丹麦)等招聘平台自动抓取职位,存入本地数据库;用 /rank 批量评估候选职位与个人资料的匹配度;用 /apply 针对单个职位深度分析,然后通过"起草-审查-修改"的双 Agent 流程生成定制化简历和求职信;最后用 /interview 提取面试问答框架。
这套流程特别适合有明确职业方向的转行者或需要大批量投递的求职者——因为系统会自动过滤掉不匹配的职位,避免在注定没结果的投递上浪费时间。
从代码结构看,AI Job Search 是一个完全本地化的 Agent 工作流,没有服务器、没有云端、没有数据库依赖——所有数据都在本地 Git 仓库里。
项目分为三大模块:
第一层:个人资料(CLAUDE.md + profile 技能文件)
用户运行 /setup 后,Claude Code 会通过三种路径(扫描 documents 目录、导入单份简历、或访谈式问答)收集候选人的学历、工作经历、技能、行为特征等信息,写入 CLAUDE.md 和 .claude/skills/job-application-assistant/ 下的多个结构化文件。这些文件是整个工作流的"大脑",所有后续的职位评估和文档生成都基于它们。
第二层:职位抓取(Agent Skills CLI)
.agents/skills/ 下包含多个独立的 TypeScript CLI 工具(jobbank-search、jobindex-search、linkedin-search 等),每个工具对应一个招聘平台,用 Bun 运行。它们遵循统一的Agent Skills 规范——一个 SKILL.md 定义能力描述,一个 src/cli.ts 实现具体逻辑。这种设计让添加新的招聘平台变得极其简单:用户运行 /add-portal,Claude Code 会引导你调研目标网站、生成技能框架,并进行实际查询测试。
目前官方支持丹麦本地平台(Jobindex、Jobnet、Akademikernes Jobbank 等),社区已有针对美国 LinkedIn、Indeed 等平台的移植版本。
第三层:应用生成(drafter-reviewer 流水线)
/apply 命令是整个框架的核心,它实现了起草-审查-修改双 Agent 流水线:主 Agent 根据职位描述和候选人资料生成定制简历和求职信草稿;然后切换视角,以"招聘官"的视角审查草稿存在的问题(关键词覆盖不足、格式混乱、语气不当等);最后回到主 Agent 修订,最终输出经过两轮打磨的文档。
这个双 Agent 流程的巧妙之处在于:它强制 AI 在生成内容时必须回到原始数据(CLAUDE.md)核实每一项声明,禁止凭空捏造技能或夸大经历。这解决了 AI 求职工具最常见的"幻觉"问题——生成的简历内容虚假、不可信。
生成的简历和求职信不是 Word 文档,而是编译好的 LaTeX PDF。
简历使用 moderncv 模板(银行风格),用 lualatex 编译;求职信使用自定义 cover.cls 类,用 xelatex 编译,并使用 Lato 和 Raleway 字体。LaTeX 的好处是排版质量远超 Word,而且完全版本控制——你可以看到每一版改了哪里。
更关键的是,/apply 还会调用 pdftotext(来自 poppler 工具)对生成的 PDF 进行ATS 可读性检查——提取 PDF 文本层,验证联系方式、阅读顺序、关键词覆盖,模拟真实 ATS 系统的处理结果。如果 pdftotext 不可用,则降级为视觉关键词审查。
AI Job Search 不是"一键安装"的 SaaS,它要求用户在本地配置完整工具链:
工具链的配置复杂度远超框架本身。SETUP.md 有 4000 多字,其中大量篇幅在讲 LaTeX 依赖和跨平台配置问题。这既是项目的局限,也是它"纯本地化"定位的必然代价。
没有 Web 界面,没有容器化,没有远程部署选项——这意味着它天然适合有技术背景的用户(能搞定 LaTeX + CLI),但对普通求职者有较高门槛。
/命令 机制,迁移到 Codex 或 Gemini CLI 需要额外适配。AI Job Search 的真正价值不在于技术有多前沿,而在于它展示了 Agent 工具如何真正改变个人工作流。
它不是把 AI 当"代写工具",而是把 AI 当"工作流引擎"——把一个需要大量重复判断(职位适不适合?简历要不要改?面试要怎么准备?)的过程,结构化、自动化、持续优化。
作者 Mads Lorentzen 在 LinkedIn 发帖时写道:"我用这套系统投了 69 份定制化简历,拿到 20 个首轮面试,最终入职 AI 工程师。"这不是营销话术,而是一个真实用户的第一手复盘。
在 AI Agent 概念火爆的 2026 年,这个项目是一个难得的同时被技术社区认可(GitHub 2.4 万星、Trending 第一)又真实改变个人工作流的开源案例。
| 指标 | 数值 |
|---|---|
| GitHub Stars | 24,206 |
| 语言 | TypeScript(CLI 工具)+ Python(辅助脚本) |
| 主要技术栈 | Claude Code Agent Skills、Bun TypeScript CLI、LaTeX PDF |
| AI 框架 | Claude API(Anthropic) |
| 许可证 | MIT |
| 代码质量 | 高(完整测试套件、CI/CD) |
| 文档质量 | 极高(README + SETUP + CLAUDE + AGENTS + CONTRIBUTING,体系完整) |
| 容器化支持 | 无 |
| Web UI | 无 |
| 快速部署 | 不支持 |