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 等主流平台 |
坑与注意
- LaTeX 依赖是关键瓶颈:CV 和求职信编译需要 lualatex 和 xelatex,minimal TeX 安装可能缺字体包。参考
SETUP.md的 minimal TeX 安装说明。MiKTeX + pdflatex 常遇到 fontawesome5 字体扩展错误,用 lualatex 编译 CV、xelatex 编译求职信。 - 丹麦职位平台为主:默认搜索工具覆盖 Jobindex、Jobnet 等丹麦站点,其他国家需自行替换搜索技能(参考现有工具实现)。
- Claude Code 需登录:
claude命令能正常运行且已认证,项目不提供 API Key 管理。 - ATS 可读性检查依赖 poppler:没有安装则降级为视觉关键词检查,不影响核心功能。
- 申请记录需手动维护:
/outcome是记录机制,不自动追踪,需要每次手动调用。 - 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