以下是根据您的要求翻译的中文版本,保留了原文结构、技术术语和代码块,并采用 Markdown 格式输出。
AI Job Search
一个基于 Claude Code 构建的 AI 驱动求职应用框架。Fork 它,填写你的个人资料,让 Claude 评估职位发布、定制你的简历、撰写求职信,并为你准备面试。
注意: 这是一个独立的开源项目,与 Anthropic 无关,未经其认可、赞助或维护。Anthropic 和 Claude Code 仅用于描述此工作流所使用的工具链。
如果它帮你省下了一个周日来写求职信,请考虑请我喝杯咖啡。如果它帮你拿到了工作,或许请两杯。☕
这是什么
这是一个结构化的工作流,将 Claude Code 转变为一个全栈求职助手。核心工作流(自我画像、匹配度评估、以及草稿-审阅者申请流程)与语言和国家无关。职位门户搜索技能是为丹麦市场构建的(Jobindex、Jobnet、Akademikernes Jobbank 等),但该模式设计为可替换为你本地的求职网站。
/setup /scrape /apply
| | |
v v v
填写个人资料 搜索职位门户 评估匹配度
| | |
v v v
个人资料就绪 展示匹配结果 起草简历 + 求职信
并附匹配评分 (LaTeX,定制化)
| |
v v
选择匹配项 审阅者代理评审
-> /apply -> 修改 -> 最终输出
该框架编码了职业指导最佳实践,包括结构化评估标准、前瞻性求职信框架,以及可选的薪资基准分析。
前提条件
- Claude Code (CLI)
- Python 3.10+
- Bun (用于丹麦求职搜索 CLI 工具)
- LaTeX 发行版,支持
lualatex和xelatex:TeX Live、MacTeX、TinyTeX 或 MiKTeX。简历使用lualatex编译(pdflatex在现代 MiKTeX 安装中常因 fontawesome5 字体扩展错误而失败);求职信使用xelatex编译,因为cover.cls需要fontspec。如果使用 TinyTeX 或 BasicTeX 等最小化 TeX 安装,请安装SETUP.md中列出的额外包。 - 可选:
pdftotext(来自 poppler)(macOS:brew install poppler,Debian/Ubuntu:apt install poppler-utils,Windows:choco install poppler)—— 用于/apply对编译后简历的 ATS 可解析性检查。如果缺失,该检查会优雅降级为视觉关键词审查。
快速开始
- Fork 并克隆
- 安装求职搜索工具
gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search
PowerShell:
$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search")
foreach ($tool in $tools) {
Set-Location ".agents/skills/$tool/cli"
bun install
Set-Location "..\..\..\.."
}
Bash / zsh / Git Bash:
cd .agents/skills/jobbank-search/cli && bun install && cd ../../../..
cd .agents/skills/jobdanmark-search/cli && bun install && cd ../../../..
cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..
cd .agents/skills/jobnet-search/cli && bun install && cd ../../../..
cd .agents/skills/linkedin-search/cli && bun install && cd ../../../..
对于 linkedin-search,安装是可选的:它没有运行时依赖,直接用 bun 运行;bun install 仅拉取 TypeScript 开发类型。
- 设置你的个人资料
claude
# 然后在 Claude Code 中:
/setup
/setup 提供三种路径:读取你的 documents/ 文件夹(如果你已填充了简历 PDF、LinkedIn 导出文件、学位证书、推荐信、过往申请材料)、导入粘贴在聊天中的单个简历、或通过面试引导完成。它会自动检测你已有的内容并询问。
documents/ 文件夹模式是幂等的,随着你添加更多材料可以安全地重新运行;请参阅 documents/README.md 了解布局。
- 搜索职位
/scrape
这会从多个职位门户搜索与你个人资料匹配的职位,去重结果,并按匹配度排序展示。选择一个匹配项,直接对其运行 /apply —— 或者,当一次搜索返回的职位多于你想逐一查看的数量时,先运行 /rank 对所有职位进行批量评分,获得一个排序后的候选列表。
- 申请职位
/apply https://jobindex.dk/job/1234567
如果无法获取该 URL(某些职位门户会阻止自动化访问),你可以直接粘贴职位描述:
/apply < 在此粘贴完整的职位描述 >
这会运行完整的工作流:评估匹配度、起草简历 + 求职信、由第二个代理进行评审、修改,并呈现最终输出。
其他命令
/setup、/scrape 和 /apply 构成了核心工作流。一旦你的个人资料就位,还有七个扩展命令:
/interview:为你已跟踪的申请中的预定面试做准备。它会从该申请的存档中构建一个分阶段准备包(确切的职位发布、面试官实际看到的简历和求职信、之前轮次记录的反馈),使用“验证后再使用”规则研究公司和面试官,将可能的问题映射到你的 STAR 示例,并提供遵循07-interview-prep.md中角色扮演协议的模拟面试。不足之处会给出诚实的过渡性回答,绝不编造经历。/outcome:记录申请的结果——面试阶段、录用、拒绝、无回应。它会将提交的简历、求职信和职位发布文本归档到documents/applications/<公司>_<职位>/中,以/setup路径 A 可解析的格式保存outcome.md,并更新跟踪器。当一些申请有了结果后,它会引导你返回/setup,根据实际获得面试机会的情况校准匹配度框架。/rank:连接/scrape和/apply:它会批量评分所有新抓取的职位发布(并行代理获取每个发布并评分五个评估维度),返回一个排序后的候选列表,并附有每个职位的诚实优势和不足。不符合条件的会被否决,截止日期临近的会标记紧急,已过期的职位会被标记为失效。选择一个编号,它会将后续流程交给完整的/apply工作流。/expand:通过扫描你个人资料中已链接的公开来源(GitHub 仓库、作品集网站、Kaggle、Google Scholar)并查找已命名课程和认证的教学大纲,来丰富你的个人资料。发现的技能会以来源标签的形式添加到你的个人资料中。在/setup之后立即运行此命令非常有用,以进一步充实你的资料。