MadsLorentzen/ai-job-search · 上手攻略

  • 仓库:MadsLorentzen/ai-job-search
  • 链接:https://github.com/MadsLorentzen/ai-job-search
  • 分类:ai
  • 作者:Jay
  • 更新:2026-07-12

是什么

ai-job-search 是一个本地运行的 AI 求职框架,以 Claude Code 为核心引擎,把求职的全套流程自动化:搜索职位 → 评估匹配度 → 定制 CV → 写求职信 → 面试准备,全部在你自己机器上跑,数据不经过任何第三方服务器。

核心思路是"drafter-reviewer"双 Agent 流水线:drafter 生成内容,reviewer 批判性审查发现问题,双方来回修订直到达标才输出最终版本。

⚠️ 本项目与 Anthropic 无关联,Claude Code 仅为工具链描述。


解决什么问题

手动求职耗时耗力:找职位、读 JD、反复改 CV、绞尽脑汁写 cover letter、准备面试——每申请一个职位要重复 1-2 小时。项目把这个流程结构化并交给 Claude Code 处理,你只需做关键决策(选哪个职位、最终定稿)。

核心价值: - 匹配度量化:每个职位按五个维度打分(A-F),有据可查,不是凭感觉 - 本地私密:你的 CV、求职信、个人信息全在本地,不上传任何服务器 - 可 fork 定制:项目完全开源,fork 后填入自己的信息就能用,技能模块可替换为本地招聘平台 - 面试准备配套:不只是投简历,还包含模拟面试、结果记录、后续复盘


快速安装

前置要求

依赖 版本 说明
Claude Code CLI 最新版 需要已登录:claude 命令可运行
Python 3.10+ 编译 CV 用
Bun 最新版 运行职位搜索 CLI 工具
LaTeX 含 lualatex + xelatex 编译 PDF CV(TeX Live / MacTeX / TinyTeX / MiKTeX)
poppler(可选) 提供 pdftotext,用于 ATS 可读性检查

macOS 安装 LaTeX(推荐 TinyTeX):

brew install --cask mactex   # 完整版,约 4GB
# 或
brew install tinytex && tlmgr install需要有extra

poppler(可选):

brew install poppler   # macOS
# 或
apt install poppler-utils   # Debian/Ubuntu

克隆并安装

gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search

安装 Python 依赖:

pip install -r requirements.txt   # 如果有
# 或按项目实际文档安装

安装职位搜索 CLI 工具(Bun 项目):

# PowerShell
$tools = @("jobbank-search","jobdanmark-search","jobindex-search","jobnet-search","linkedin-search","freehire-search")
foreach ($tool in $tools) {
    Set-Location ".agents/skills/$tool/cli"
    bun install
    Set-Location "..\..\..\.."
}

Bash/zsh:

for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search freehire-search; do
    cd .agents/skills/$tool/cli && bun install && cd ../../../..
done

注意:职位搜索工具默认针对丹麦市场(Jobindex、Jobnet、Akademikernes Jobbank 等),linkedin-search 和 freehire-search 适用更多地区。如需其他平台,可参考现有工具的模式自行开发。


核心用法

第一步:建立个人档案(一次性)

claude
# 在 Claude Code 对话里:
/setup

/setup 有三条路径: - Path A(有 documents/ 目录):放入 CV PDF、LinkedIn 导出、证书、过往申请材料,自动解析建档 - Path B(单份 CV):粘贴一份 CV 文本,在对话中引导补全 - Path C(无材料):纯访谈模式,通过问答建立档案

documents/ 目录布局参考 documents/README.md。建档后所有后续操作都会用到这些信息。

第二步:搜索职位

# 在 Claude Code 对话里:
/scrape

搜索多个招聘平台(取决于安装的技能),按匹配度排序展示结果。搜索完成后可直接选一个职位运行 /apply <url>,或先用 /rank 批量评分。

第三步:批量评分(可选)

/rank

/scrape 返回的所有新职位并行评分(五个维度的评估),输出带等级和匹配优缺点的排序列表。适合职位数量多时先过滤再决定投哪些。

第四步:申请单个职位

/apply https://jobindex.dk/job/1234567
# 或直接粘贴职位描述:
/apply <粘贴完整 JD>

完整流程:评估匹配度 → 起草 CV + 求职信 → reviewer Agent 批判审查 → 修订 → 最终输出 PDF。

其他命令

命令 功能
/interview 针对某个已申请职位准备面试:研究公司和面试官、映射 STAR 问答、模拟面试
/outcome <结果> 记录申请结果(面试阶段、offer、拒信),归档材料并更新追踪器
/expand 扫描个人档案中已引用的公开来源(GitHub、Kaggle、Google Scholar),补充技能信息
/upskill 分析当前档案与目标职位的技能差距,生成优先学习计划
/add-template 添加自定义 LaTeX CV 模板

典型适用场景

场景 怎么用
大量海投 /scrape + /rank 批量评分,快速过滤不匹配职位
精心打磨单次申请 直接 /apply <url>,drafter-reviewer 流水线保证质量
面试前突击准备 /interview 基于该职位历史申请材料定制
跨行业转型 /upskill 分析目标行业技能差距,制定补强计划
丹麦就业市场 开箱即用,涵盖 Jobindex、Jobnet 等主流平台

坑与注意

  1. LaTeX 依赖是关键瓶颈:CV 和求职信编译需要 lualatex 和 xelatex,minimal TeX 安装可能缺字体包。参考 SETUP.md 的 minimal TeX 安装说明。MiKTeX + pdflatex 常遇到 fontawesome5 字体扩展错误,用 lualatex 编译 CV、xelatex 编译求职信。
  2. 丹麦职位平台为主:默认搜索工具覆盖 Jobindex、Jobnet 等丹麦站点,其他国家需自行替换搜索技能(参考现有工具实现)。
  3. Claude Code 需登录claude 命令能正常运行且已认证,项目不提供 API Key 管理。
  4. ATS 可读性检查依赖 poppler:没有安装则降级为视觉关键词检查,不影响核心功能。
  5. 申请记录需手动维护/outcome 是记录机制,不自动追踪,需要每次手动调用。
  6. Cover letter 个性化程度:基于职位描述生成,仍需人工审核语气和细节,避免出现不符合实际情况的表述。

与同类对比

工具 运行方式 覆盖范围 本地化 定制难度
ai-job-search Claude Code + 本地 CLI 丹麦职位平台为主 ✅ 完全本地 低(fork 即用)
Teal Web SaaS 通用
Kickresume Web SaaS 通用
LazyApply 浏览器插件 LinkedIn/Indeed 无需定制
猎聘/智联 App 移动应用 中国市场 无需定制

ai-job-search 的核心差异:完全本地运行,数据不过第三方;基于 Claude Code 的推理能力,cover letter 和面试准备质量上限更高;且 drafter-reviewer 流水线比单纯模板填充更智能。


一句话推荐结论

正在用 Claude Code 且有求职需求的人,fork 这个项目一次、填好个人档案,之后每申请一个职位只需一个命令——比任何 SaaS 工具都私密、比手动写省 80% 时间。

周增 +2107 | Stars 20991 | 语言 Python + TypeScript | 许可 MIT