RepoDaily · 2026-07-10 · AI model / Agent framework

用 ai-job-search 把 Claude Code 变成结构化求职流水线

#1 AI model / Agent framework TypeScript +3,728 MadsLorentzen/ai-job-search 打开仓库

Mads Lorentzen 的 TypeScript 模板把 Claude Code 变成全栈求职助手:评估岗位匹配度、生成 LaTeX 简历、撰写求职信,并对每一份申请运行审查代理。

项目类型AI model / Agent framework
最适合已经在用 Claude Code 的个人求职者,希望拥有一个可 fork 并自定义的流水线,覆盖建档、匹配评分、简历与求职信生成以及面试准备。
风险等级中等——依赖 Claude Code CLI、LaTeX 工具链和 Bun,并且需要持续维护你自己的 fork。
评估时间大约 1–2 小时即可 fork、安装六个门户技能 CLI、配置 LaTeX 并运行 /setup。

核心问题: Claude Code 的 CLI 是否适合你的求职节奏?你能否在本机维护一套 LaTeX 发行版和 Bun 工具链?

91/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
96证据质量

包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 6 个工作流步骤、5 个下一步动作,以及 3 个命令/安装信号。

79维护可信度

趋势热度为 +3,728 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

87生产准备度

采纳风险标记为 medium,并包含 5 条安全说明与 4 条跳过条件。

100差异化

3 个机会视角、4 个替代方案,以及 4 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

84Agent / AI 适配度

文章正文和元数据中检测到 4 个 AI/Agent 相关信号。

项目概览

MadsLorentzen/ai-job-search 是一个基于 Claude Code 构建的 AI 求职框架。README 将它定义为一套结构化工作流:fork 仓库、填写个人资料,然后让 Claude 评估职位、用 LaTeX 定制简历、撰写求职信并帮你准备面试。README 明确声明这是一个独立项目,与 Anthropic 无任何附属或背书关系。

核心生命周期已功能完备:/setup → /scrape → /rank → /apply → /interview → /outcome,校准结果再回流到 /setup。辅助命令包括 /expand、/upskill、/add-template、/add-portal 和 /reset。README 称这套流程覆盖了真实求职的每个阶段,每个阶段都有对应的负责命令。

项目以通用模板形式发布。核心工作流(自我画像、匹配评估、起草-审查申请流水线)与语言和国家无关。内置的职位门户搜索技能面向丹麦市场——Jobindex、Jobnet、Akademikernes Jobbank 等——但设计上允许你通过 /add-portal 替换为本地招聘网站。

解决什么问题

  • 为每个岗位撰写定制求职信既重复又耗时,通用模板很难贴合具体职位。
  • 人工评估岗位匹配度标准不一,结构化评分极少被严格执行。
  • LaTeX 简历看起来专业但维护困难:字体包在不同 TeX 发行版间经常出错,pdflatex 在新版 MiKTeX 上常因 fontawesome5 报错。
  • 职业指导的最佳实践(结构化评估、前瞻性求职信框架、薪资基准)在理论上存在,却很少被落地为可重复的闭环。

工作原理

  1. Fork 并克隆仓库:`gh repo fork MadsLorentzen/ai-job-search --clone`,然后 cd 进入目录。
  2. 运行 /setup 填写个人资料。README 指出资料文件在本地 fork 中生成;CI 强制上游保持占位符。
  3. 运行 /scrape 搜索职位门户。.agents/skills/ 下内置六个 CLI 工具——jobbank-search、jobdanmark-search、jobindex-search、jobnet-search、linkedin-search、freehire-search——每个都通过 `bun install` 安装。
  4. 运行 /rank 评估匹配度。框架内置结构化评估标准,对匹配到的职位给出匹配评分。
  5. 对选中的匹配运行 /apply <url>。Claude 起草定制简历(用 lualatex 编译)和求职信(用 xelatex 编译),随后审查代理批评草稿并触发修订循环。
  6. 运行 /interview 准备面试,然后用 /outcome 记录结果并校准后续的 /setup 循环。

产品演示与界面预览

AI Job Search Assistant
AI Job Search Assistant — Official README visual asset that helps readers understand the project interface, architecture, workflow, or output. README.md image

架构解读:Markdown 规格即实现

最特别的设计选择在 CONTRIBUTING.md 中被直接点明:“Markdown 规格就是实现(the markdown specs ARE the implementation)。”不存在镜像 Agent 工作流的平行代码库。第二份副本——无论是另一个 Agent CLI、编排层还是包装命令——一旦任何一方变更就会与规格脱节。

正因如此,替代框架移植和重复工作流来源都会被拒绝(先例:#44、#49、#66)。贡献指南认为,对单人维护的项目而言,为同一工作流维护两份事实来源不可持续。

门户搜索 CLI 是例外:每个都位于 .agents/skills/<name>/cli 下,是基于 Bun 的 TypeScript 工具,测试放在 .agents/skills/<name>/cli/tests/。Python 工具位于 tests/ 下,由 tools/lint_skills.py 做 lint。

上手路径:具体命令与前置条件

  • 前置条件:Claude Code CLI、Python 3.10+、Bun,以及带 lualatex 和 xelatex 的 LaTeX 发行版(TeX Live、MacTeX、TinyTeX 或 MiKTeX)。
  • Fork:`gh repo fork MadsLorentzen/ai-job-search --clone`,然后 `cd ai-job-search`。
  • 安装每个门户工具:`cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..`(六个工具逐一执行)。
  • 简历用 lualatex 编译;求职信用 xelatex 编译,因为 cover.cls 依赖 fontspec。
  • 可选:安装 poppler(macOS `brew install poppler`,Debian/Ubuntu `apt install poppler-utils`,Windows `choco install poppler`)用于基于 pdftotext 的 ATS 可解析性检查。缺失时降级为视觉关键词审查。
  • 最小化 TeX 安装(TinyTeX、BasicTeX)需按 SETUP.md 安装额外宏包。

维护风险:狭窄的贡献哲学

项目范围刻意收窄。CONTRIBUTING.md 警告说,大多数被拒 PR 都是执行质量不错但不符合哲学的工作。唯一的统领规则是:“这个仓库是一个通用模板。”上游保持与市场无关、与人无关、与 Claude Code 原生绑定。

特定国家的门户技能被一致拒绝:#31(印度)、#39(法国)、#67(中国)。树内的丹麦门户是维护者自己的演示实例。理由是接受一个国家的门户就意味着要接受所有国家的门户,没有原则性的停止点。

个人资料数据也被拒绝:CI 强制占位符完整性(先例 #17、#72)。模板只提供占位符,你填写的资料只存在于你的 fork 中。

新命令面临很高的门槛,因为核心生命周期已功能完备。准入测试是:提案是否把框架中已有的、容易出错的东西操作化了?“有用”和“可行”本身并不充分。

命令面:完整生命周期

  • /setup — 填写个人资料,在本地生成资料文件。
  • /scrape — 搜索职位门户,呈现带匹配评分的职位列表。
  • /rank — 按结构化标准评估匹配度并评分/推荐。
  • /apply <url> — 起草简历(lualatex)和求职信(xelatex),随后运行审查代理批评与修订循环。
  • /interview — 基于已评估的岗位准备面试。
  • /outcome — 记录结果并校准回流到 /setup。
  • /expand、/upskill、/add-template、/add-portal、/reset — 围绕核心生命周期的辅助命令。

谁适合关注

适合关注

  • 你已经在使用 Claude Code CLI,并习惯在终端中工作。
  • 你已有(或愿意安装)本机的 LaTeX 发行版和 Bun。
  • 你想要 fork 后自有的模式,个人资料数据不离开本地仓库。
  • 你在丹麦求职(内置门户技能),或愿意通过 /add-portal 把门户技能适配到本地市场。

可以先跳过

  • 你没有 Claude Code 订阅或 CLI 访问权限。
  • 你想要带 Web UI 的托管 SaaS,不愿做本地配置。
  • 你无法在目标机器上安装 LaTeX 发行版或 Bun 运行时。
  • 你期望上游接受你的国家门户或个人资料数据作为 PR。

风险与注意事项

框架结构清晰且采用 MIT 许可,但采用的前提是拥有 Claude Code CLI、可用的 LaTeX 工具链(含特定编译器)以及 Bun——本地配置并不轻松。持续使用意味着维护你自己的 fork。

  • Claude Code CLI 是硬性前置条件;缺少它所有斜杠命令都无法运行。
  • LaTeX 编译要求简历用 lualatex、求职信用 xelatex;最小 TeX 安装需按 SETUP.md 补装宏包。
  • 必须安装 Bun,并且六个门户技能 CLI 都要分别 `bun install`。
  • 维护者明确拒绝国家特定和个人资料的贡献,丹麦以外的用户必须长期自行维护门户 fork。
  • “规格即实现”的设计意味着没有备用运行时;Claude Code 行为变化时,规格可能需要手动更新。
  • MIT 许可证(Copyright (c) 2026 Mads Lorentzen),允许个人和商业用途。
  • 个人资料留在你的 fork 中;CI 在上游强制占位符完整性,防止通过合并 PR 泄露个人数据。
  • 项目独立,与 Anthropic 无任何附属、背书或维护关系,README 中有明确声明。
  • 门户搜索 CLI 通过 Bun 在本地运行;除 Claude Code 本身向 Anthropic 发送的数据外,不向任何后端发送数据。
  • 可选的 ATS 检查使用 poppler 的 pdftotext 处理编译后的简历;缺失时优雅降级而非报错。

替代方案比较

方案适用场景代价
Awesome-CV
你只想要一个精致的 LaTeX 简历模板,不需要 Agent 驱动的申请流水线。免费 / 开源(LaTeX)。
直接使用 Claude.ai 或 ChatGPT 对话
你只想针对单封求职信或简历微调获得临时帮助,不想引入完整框架。订阅或免费额度。
Jobscan 等 ATS 扫描工具
你的核心需求是针对具体职位做关键词优化,而非端到端起草。订阅。
手动 LaTeX 简历搭配个人模板
你已有简历体系,只需 Claude Code 的对话帮助处理个别章节。免费。

这个趋势说明了什么

为非丹麦市场本地化门户技能

维护者在上游拒绝国家特定门户(#31 印度、#39 法国、#67 中国),但 /add-portal 命令和 .agents/skills/<name>/cli 模式让你可以方便地为本地招聘网站构建个人 fork。

CONTRIBUTING.md 将 /add-portal(#37)列为通用定制功能的先例,树内的丹麦门户展示了可参照的技能结构。

用自定义评分标准扩展审查代理循环

起草-审查流水线是 /apply 的核心。由于 Markdown 规格就是实现,你可以在 fork 中编辑审查标准,使其符合你所在行业的期望(如量化成就、领域关键词)。

README 说明审查代理会批评草稿并触发修订循环;CONTRIBUTING.md 确认规格是可编辑的 Markdown,而非编译代码。

把 ATS 检查接入提交前质量门

/apply 基于 pdftotext 的 ATS 可解析性检查可以在 fork 中扩展,在提交前标记职位描述中缺失的关键词,形成本地质量门。

README 记录 /apply 使用 poppler 的 pdftotext 对编译后的简历做 ATS 检查,缺失时优雅降级。

下一步建议

Fork、安装前置条件,用测试资料运行 /setup

评估这个框架最快的方式是 fork 它,安装 Claude Code + Python 3.10+ + Bun + LaTeX,配置门户 CLI,用占位数据运行 /setup,然后对真实职位运行 /scrape 和 /apply,亲历起草-审查循环。

  1. 运行 `gh repo fork MadsLorentzen/ai-job-search --clone` 并 `cd ai-job-search`。
  2. 安装 Claude Code CLI、Python 3.10+、Bun,以及带 lualatex 和 xelatex 的 LaTeX 发行版。
  3. 安装每个门户技能 CLI:`cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..`(六个逐一执行)。
  4. 运行 `python3 tools/lint_skills.py` 和 `bun run typecheck` 确认配置与 CI 一致。
  5. 用测试资料运行 /setup,然后对真实职位运行 /scrape 和 /apply <url>,走完整个流水线。

RepoDaily 判断

ai-job-search 是一个经过深思熟虑的 Claude Code 框架,把求职变成结构化的、fork 后自有的闭环。“规格即实现”的设计很独特,也使项目更易维护,但采用的前提是你已备好 Claude Code CLI、LaTeX 工具链和 Bun。对于已在 Claude 生态中的个人求职者——尤其是丹麦市场或愿意自行适配门户技能的人——它是一个强有力的、尊重隐私的起点。

信息来源