把求职变成一条可编程流水线:MadsLorentzen/ai-job-search — Claude Code 驱动的 AI 求职框架开源|SSP Github Daily

发布时间:2026/7/11 9:06:51

把求职变成一条可编程流水线:MadsLorentzen/ai-job-search — Claude Code 驱动的 AI 求职框架开源|SSP Github Daily 每日开源 · 早间篇 089把求职变成一条可编程流水线——Claude Code 驱动的 AI 求职框架开源2026年7月10日 · ai-job-search · 18,995 Stars如果你正在找工作大概率经历过这些手动为每个岗位改简历、复制粘贴写求职信、担心 ATS 系统把你的 PDF 读成乱码、面试前对着 JD 瞎猜会考什么。而 GitHub 上一个叫ai-job-search的项目用一套基于 Claude Code 的 9 命令流水线把这一整套流程全部自动化了。它今天在 GitHub Trending 以3,716 Stars登顶3 月底由丹麦开发者 Mads Lorentzen 发布。核心理念很简单**Fork 仓库 → 填写你的职业档案 → 让 Claude 替你评估职位、定制简历、撰写求职信、准备面试。**不是「AI 帮我写简历」那种浅尝辄止的用法而是一个完整的求职 Agent 工作台。项目速览项目名****MadsLorentzen/ai-job-search语言TypeScript Python LaTeX许可证MIT 完全开源Stars18,995今日 3,716 发布2026年3月23日 · 55 次提交GitHubgithub.com/MadsLorentzen/ai-job-search9Slash 命令2协作 Agent6国家无关门户2xPDF 验证它能解决什么问题大多数「AI 简历工具」做的事就是你的名字岗位名称丢进模板给你一个看起来还行的 PDF。问题是 痛点 1表面定制实则模板填空AI 生成一份简历容易但写出「针对这个特定岗位、突出这部分真实经历、规避那个经验短板」的简历绝大多数工具做不到。 痛点 2ATS 系统把 PDF 读成乱码你精心排版的 LaTeX 简历投进 Workday/Lever 之后邮箱变成 ▖、bullet 列表消失、多列布局读出火星文。ATS 读的是 PDF 文本层不是渲染效果。 痛点 3求职是流水线不是单一步骤找岗位 → 评估匹配 → 写简历 → 写求职信 → 编译 PDF → 检查 ATS → 面试准备 → 跟踪结果 → 反推校准。任何一个环节掉链子整条链白跑。ai-job-search 逐个击破这三个痛点它不是生成一份通用简历而是走完一条完整的、带自我验证的求职流水线。核心亮点把求职拆成九步流水线仓库的核心是.claude/commands/目录下 9 个命令文件每个承担一个明确职责# 核心工作流5 个/setup→ 建立候选人档案文档/CV粘贴/访谈 三选一/scrape→ 扫描多个招聘门户去重排序/rank→ 批量打分 30 个岗位返回 Top-N 短名单/apply→ 完整起草-审查-编译-ATS 验证流程/outcome→ 记录申请结果归档材料反推校准# 扩展命令4 个/interview→ 模拟面试 STAR 示例映射/expand→ 从 GitHub/Portfolio/Google Scholar 补齐档案/upskill→ 分析技能差距生成带来源的学习计划/add-portal→ 为本地市场生成招聘门户搜索 Skill这些命令不是孤立的——上一步的输出就是下一步的输入共享同一份候选人档案档案随流程演进。亮点一Drafter-Reviewer 双 Agent 协作/apply是整条流水线的核心284 行命令定义了一个撰写-审查分离的 6 步流程Step 0-2 DRAFTER起草者解析职位描述 → 5 维匹配评分技能/经验/行为/地点/职业方向→ 撰写 LaTeX 简历和求职信Step 3 REVIEWER审查者全新空 context 启动独立 Agent做公司调研 审查草稿返回结构化反馈Step 4-6 DRAFTER 修订 双验证按反馈修订 → lualatex/xelatex 编译 PDF → 视觉检查强制恰好 2 页 CV 1 页 Cover Letter→ pdftotext 提取文本层 → ATS 合规检查这里有两个关键设计决策审查者从空 context 启动。如果复用起草者的上下文审查者不自觉地被已写内容带跑——起草者写什么它就跟着夸什么。空 context 让它从头解析岗位、独立研究公司才能挑出起草者完全没想到的角度。草稿内联传递不让审查者读文件。通过CV_DRAFT.../CV_DRAFT标签将内容内联传给审查 Agent省下一次文件读取的 Token把预算留给公司调研和深度反馈。来自深度体验者 jackssybin 的评价「我见过的最诚实的做法。多 Agent 系统的失败 90% 在 context 管理而不是 prompt 写得好不好。」亮点二PDF 视觉 ATS 文本层双重验证所有用过 LaTeX 写简历的人都踩过同一个坑.tex 文件看起来没问题生成 PDF 打开也挺漂亮但投进 ATS 系统就变成一团乱码。ai-job-search 的解决方法是把验证作为强制不可跳过的一步写死在 /apply 工作流里# Step 5: 编译 视觉检查 PDF强制通过才能继续lualatex编译 CVxelatex编译 Cover Letter检查项├── CV 恰好 2 页不是 1 也不是 3 ├── 无孤立的 \cventry 标题标题在页底、内容在下一页 │ └── 自动修复\needspace \enlargethispage ├── Cover Letter 恰好 1 页签名与正文在一起 └── Cover Letter bullets 字体不回退到 Computer Modern # Step 6: 提取 PDF 文本层 ATS 校对pdftotext 抽出文本 →验证├── 无 (cid:*) 标记或乱码替换字符 ├── 邮箱电话作为 literal 明文存在不只是挂在图标上 ├── 阅读顺序与视觉顺序一致 └── 岗位关键词覆盖评分covered/synonym-only/missingCSDN 的分析文章指出「LaTeX 简历最常见的问题不是内容不行是渲染结果出 bug。moderncv 在 MiKTeX 下把标题渲染成黑色而非蓝色、itemize 间距坍缩、图标字形替代了联系信息——ai-job-search 把这些全自动化了。」亮点三贵/便宜命令分离——工程化的成本控制为什么要拆成 /rank 和 /apply 两个命令而不是 /apply 一条龙/rank廉价、快速、可并行只做基于岗位描述的文本匹配打分一次跑 30 个。内部并行派多个 Agent每个处理约 5 个岗位只花分类和排序的 Token。/apply昂贵、精细、单发一次一个独立起 reviewer Agent 做公司调研、深度审查、PDF 编译验证。花钱就要花在 Top-N 上。「用便宜的排序过滤让昂贵的申请只花在 Top-N 上」——这是 AI Agent 工作流中非常成熟的工程思维而不是「把所有事情扔进一个大 Prompt」。亮点四/add-portal——让框架覆盖全球市场项目内置了 6 个门户搜索工具4 个丹麦市场 LinkedIn freehire但对其他市场的支持通过/add-portal命令实现可扩展# 为你的本地市场生成职位搜索 Skill/add-portalhttps://www.zhipin.com/web/geek/job工作原理1. WebFetch 探测门户搜索 URL 模式、结果结构、访问规则 2. 从既有 6 个门户 Skill 的结构脚手架出 CLI 骨架 3. 强制跑一次 live query test 4. 测试通过 → 注册进 /scrape orchestrator 5. 需认证/Auth-walled 门户直接拒绝这个设计让框架具备了地区无关的扩展能力——无论你在丹麦、中国还是德国只需要一条命令。实战场景展示场景一日常求职流程# 早上一杯咖啡启动 Claude Code claude # 扫描今天新发的岗位/scrape data science # 返回 30 个岗位懒的一个个看 → 让 AI 排序/rank --top 10 # Top-3 中选一个最心仪的/apply https://jobindex.dk/job/12345 # 6 步流程跑完 → 拿到两份 PDFCV Cover Letter# 都经过视觉检查 ATS 文本层验证# 投出去后记录结果/outcome# 收到面试邀请 → 准备面试/interview场景二面试准备/interview命令基于你已跟踪的申请存档构建阶段专属准备包准备工作包含• STAR 示例映射——你的每条经历对应哪些常见行为问题• 公司/面试官调研从应用存档加载精确职位发布• 模拟面试角色扮演Claude 扮演面试官多轮追问• 差距桥接对于你的薄弱点给予诚实的桥接答案而非编造场景三技能差距分析与学习规划/upskill分析你的档案和你跟踪的职位之间的差距生成带优先级的技能差距热力图和带学习资源的学习计划。对于特定岗位可以用/upskill URL单独分析。上手指南5 分钟接入前置依赖•Claude Code CLI— 整个框架的运行载体•Python 3.10•Bun— 用于职位搜索 CLI 工具的运行时•LaTeX 发行版— TeX Live / MacTeX / MiKTeX含 lualatex 和 xelatex•poppler-utils可选用于 ATS 检查— macOS:brew install poppler三步启动# 1. Fork Clone gh repo fork MadsLorentzen/ai-job-search --clone cd ai-job-search # 2. 安装门户 CLI 依赖Linux/macOSfor portal in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search; do (cd .agents/skills/$portal/cli bun install) done# 3. 启动 Claude Code跑 /setup claude /setup/setup 的三条路径路径 A推荐Documents 文件夹把 CV PDF、LinkedIn 导出、学位证、推荐信、过往申请材料丢进documents/文件夹命令自动读取。幂等可安全重复运行。路径 B粘贴 CV在聊天中直接粘贴完整 CV 文本。路径 C访谈式通过问答访谈一步步建立你的职业档案。**关键提醒**资料深度直接决定输出质量。不是简单罗列技能名称而是描述你在什么场景下用过什么工具、做了什么具体项目、取得了什么成果。「用 Python 和 scikit-learn 构建了客户流失预测的 ML 管道」远比「Python, Machine Learning」给 AI 更多可操作信息。三个求职工具三种哲学同类赛道中还有两个项目值得对比它们代表了求职自动化的三种思路AIHawk自动填表侧重点网页自动化自动打开浏览器帮你填 100 份申请表单。追求「数量」——适合需要海投的场景。career-ops管道化批量处理侧重点多 Worker 并行 Go TUI 仪表盘 A-F 评分系统。更像一个求职操作系统追求「效率」。ai-job-search深度定制侧重点每个岗位高度定制 PDF-ATS 双重验证。追求「质量」——不帮你点提交只帮你写出最好的申请。CSDN 文章精辟总结「AIHawk 做的是数量——打开浏览器自动填 100 份表格。ai-job-search 做的是质量——不替你点提交按钮它替你想这份申请应该怎么写。」适用边界谁适合用它✅ 适合• 你的思路是「少投几份但每一份都高度定制」• 你对排版质量有要求投欧洲市场LaTeX 简历几乎是标配• 你不介意花时间搭建环境和填写详细资料• 你想学习 Claude Code 多 Agent 工作流的工程实践❌ 不适合• 你的思路是「三天内海投 200 个岗位」→ 用 AIHawk 或 career-ops• 你不熟悉命令行和 LaTeX → 有学习成本• 你的目标市场不在 LinkedIn/freehire 覆盖范围且不方便 /add-portal → 需要评估今日总结ai-job-search 真正的价值不在于「又一个 AI 简历生成器」而在于它展示了一种成熟的 AI Agent 工作流设计范式1. 多命令 单档案所有命令共享同一份候选人档案每个命令按需读取档案随 /setup → /expand → /outcome 持续演进。这个模式可以套到读书笔记、代码审查等任何多阶段任务。2. 贵/便宜命令分离/rank 廉价并行跑 30 个/apply 昂贵单发一个。这是工程决策——你得替 AI 决定什么时候可以省 Token什么时候必须多花。3. 验证挂在真实产物上不是让 AI 承诺「LaTeX 一定 2 页」而是编译出 PDF 亲自看不是保证「关键词都覆盖」而是用 pdftotext 抽出来 grep。任何 AI 工作流的最后一环必须是客观的、可运行的验证。如果你正处在换工作的窗口期或者想找一个把 Claude Code 用得很深的项目来学习多 Agent 架构——这个仓库值得 Fork 下来跑一遍 /setup半小时就能感受到 drafter-reviewer 循环的价值。 聊一聊你觉得 AI 在求职这件事上最应该帮你做什么是自动海投、深度定制、面试模拟还是别的欢迎留言分享你的想法。 项目地址github.com/MadsLorentzen/ai-job-searchMIT License · 18,995 Stars · 2026年3月发布 明天见。每天一个值得深读的开源项目从代码看到思维。本文基于公开资料整理仅供技术学习与交流。项目使用可能涉及第三方平台服务条款请自行评估合规性。

相关新闻