MadsLorentzen/ai-job-search

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

解决的问题

申请工作通常是一个为每份申请手动定制简历和求职信的乏味过程。本项目提供了一个自动化框架来处理整个求职流程——从寻找相关职位到准备面试——同时确保最终文档格式专业且内容真实。

工作原理

该框架基于 Claude Code 构建,将 CLI 代理转换为全栈求职助手。它使用由几个关键命令组成的结构化工作流:

  • Profiling: /setup 根据现有文档或面试创建候选人档案。
  • Discovery: /scrape 搜索招聘门户(内置丹麦市场工具和 LinkedIn)并使用 /rank 根据匹配度进行评分。
  • apply: /apply 使用“起草者-审核者”流水线,其中一个代理起草定制的 LaTeX 文档,第二个代理对其进行评判。随后系统会编译 PDF 并通过视觉检查修复孤行或页面溢出,然后在文本层执行 ATS 检查以确保可解析性。
  • Management: /outcome 跟踪申请结果,而 /gmail-sync/notion-sync 与外部工具集成以监控状态并整理流程。
  • Preparation: /interview 根据候选人的实际档案和具体的职位发布生成特定阶段的准备包并进行模拟面试。

适用对象

想要在不牺牲定制材料质量或真实性的前提下,实现申请流程重复部分自动化的求职者,特别是那些习惯使用命令行界面和 LaTeX 的用户。

亮点

  • PDF 验证循环:自动编译并迭代 LaTeX 代码,直到 PDF 布局在视觉上达到完美(例如:简历正好为 2 页)。
  • ATS 文本层检查:使用 pdftotext 验证 PDF 的嵌入文本是否可被自动解析器读取,防止常见的 LaTeX 渲染问题。
  • 相关性加权裁剪:根据与职位发布的相关性智能修剪简历内容,而不仅仅是删除最旧的经历。
  • 起草者-审核者架构:采用两个独立的代理,确保草稿在最终确定前经过评判和完善。
  • 全生命周期覆盖:涵盖从抓取、排名到面试准备以及通过 /upskill 进行技能差距分析的整个漏斗。