Career-Ops 入门: 让 AI Agent 帮你筛 700+ 岗位、生成 100+ 定制简历

2026年6月9日

一句话简介: 你已经在用 Claude Code 写代码, 为什么不顺手用它找工作? Career-Ops 把 AI 编程 CLI 变成求职指挥官 — 粘贴一个 JD URL, 自动评估、生成 ATS 简历、追踪进度。作者本人用它筛了 740+ 个 offer, 生成了 100+ 份定制简历, 最终上岸 Head of Applied AI。

项目简介

Career-Ops (a.k.a. careerops) 是一个 AI 驱动的求职流水线, GitHub: santifer/career-ops, MIT 协议。它的核心定位是:

把任何 AI 编程 CLI 变成一个完整的求职 command center。

它不是又一个 "AI 改简历" 工具, 也不是海投机器人。Career-Ops 的设计哲学是 做减法: 从几百个 offer 里面, 帮你筛出真正值得投的那几个, 用 A-F 评分 + 6 大评估维度 + ATS 优化 PDF + 全自动追踪。

核心能力 (15 个 slash command):

场景命令说明
粘贴 JD URL/career-ops自动流水线 (评估 + 报告 + PDF + tracker)
单个评估/career-ops evaluateA-F 评分 + 6 维度分析
多个对比/career-ops compare多 offer 排序
扫描岗位/career-ops scan45+ 预配置公司, 跑 Ashby/Greenhouse/Lever API
批量评估/career-ops batch并发跑 claude -p workers
生成 PDF/career-ops pdfATS 优化简历 (Space Grotesk + DM Sans 字体)
LaTeX 导出/career-ops latexOverleaf 友好的 .tex
投递追踪/career-ops tracker状态总览
申请填表/career-ops applyAI 辅助填表单 (不点 Submit)
深度调研/career-ops deep公司调研
面试备战/career-ops interview公司专属 STAR+R 故事
LinkedIn 触达/career-ops contact找人 + 起草消息
复盘模式/career-ops patterns拒信模式分析, 优化打法
跟进节奏/career-ops followup跟进时间表
课程/项目评估/career-ops training / project自我提升路径

支持的 AI 编程 CLI: Claude Code / OpenCode / Gemini CLI / Codex / Qwen / GitHub Copilot / Kimi — 只要是 follow open agent skill standard 的都行。

多语言支持: 默认英语, 另有德语 (modes/de/) / 法语 (modes/fr/) / 日语 (modes/ja/) / 土耳其语 (modes/tr/) / 简体中文 (README.cn.md) / 繁体中文 (README.zh-TW.md)。

战绩: 作者 santifer 用它 评估了 740+ 个 offer, 生成了 100+ 份定制简历, 最终拿到 Head of Applied AI 的 offer

难度 / 时长 / 收获

  • 难度: ⭐⭐ (中等, 需要会用 Claude Code 之类的 AI 编程 CLI)
  • 时长: 30–60 分钟首次 onboarding (含 cv.md 准备 + profile 配置)
  • 收获:
    • 跑通一个真实可用的 AI 求职流水线
    • 理解 "User Layer vs System Layer" 的 Agent 架构设计
    • 学会用 A-F 评分 + STAR+R 故事做精准求职
    • 看一个被 WIRED / Business Insider 报道过的开源项目怎么搭
    • 顺手把 15 个 slash command 装进口袋, 求职期间天天用

目标读者画像

  • 正在找工作 / 换工作 / 看机会的开发者
  • 已经是 Claude Code / OpenCode / Gemini CLI 用户
  • 想从"海投"切换到"精准投", 不愿在垃圾 offer 上浪费时间
  • 想知道一个 7k+ Star 的生产级 AI Agent 项目长啥样

TIP

求职期最花钱的就是 token。Career-Ops 的 batch mode 跑 10+ offer 评估非常爽, 但接 Claude / Anthropic 官方 API 跑 100 份 offer, 一晚账单 $20-40, 一个月下来四位数的 token 成本很正常。

我的接法 (分享, 不是推荐): 接 Defapi, 走的是 Anthropic 兼容协议, Base URL 改一行就行:

# 假设你用 Claude Code, 在 ~/.claude/settings.json 或 env 里改
ANTHROPIC_BASE_URL=https://api.defapi.org
ANTHROPIC_API_KEY=sk-xxxxx   # 在 defapi.org 后台拿

Defapi 的所有模型基本都兼容三套主流协议 — v1/chat/completions (OpenAI) / v1/messages (Anthropic) / v1beta/models (Gemini) — Agent 端零代码改动, 评估 prompt / STAR 故事 / tracker schema 全部照旧。模型还是同一个, 只是采购成本低一些, 求职期一个月 token 账单直接腰斩是实打实的。后面 FAQ Q5 会再展开。

核心依赖与环境

最低配置:

项目要求
Node.js20+
AI 编程 CLI至少装一个 (Claude Code / OpenCode / Gemini CLI / Codex / Qwen / Copilot)
PlaywrightChromium 浏览器 (PDF 生成需要)
操作系统macOS / Linux / Windows (WSL 推荐)

可选 / 增强:

项目用途
Go 1.21+跑 TUI Dashboard
Google AI Studio API Keygemini-eval.mjs 独立脚本 (免费额度)
Chromium 浏览器验证 offer 是否还活着 (Playwright 自动装)
各种 LLM API Key接 Claude / OpenAI / Anthropic 协议即可

TIP

不一定要 Claude Max 订阅。Career-Ops 是"LLM 协议驱动"的, 任何兼容 v1/messagesv1/chat/completions 的 API 都能接 (具体接法见上面"目标读者"后的 TIP)。

完整项目结构树

career-ops/
├── AGENTS.md                    # Agent 通用指令 (跨 CLI)
├── CLAUDE.md                    # Claude Code 专属 (import AGENTS.md)
├── GEMINI.md                    # Gemini CLI 专属
├── cv.md                        # 你的简历 (你自己创建, 关键文件)
├── article-digest.md            # 你的亮点证明 (可选)
├── config/
│   └── profile.example.yml      # 你的个人画像模板
├── modes/                       # 15 个 skill mode
│   ├── _shared.md               # 系统层共享上下文
│   ├── _profile.template.md     # 用户层定制 (放个人 archetype)
│   ├── oferta.md                # 单 offer 评估
│   ├── pdf.md                   # PDF 生成
│   ├── scan.md                  # 岗位扫描
│   ├── batch.md                 # 批量处理
│   ├── auto-pipeline.md         # URL → 评估 + PDF + tracker
│   ├── de/                      # 德语模式
│   ├── fr/                      # 法语模式
│   ├── ja/                      # 日语模式
│   └── tr/                      # 土耳其语模式
├── templates/
│   ├── cv-template.html         # ATS 优化 CV 模板
│   ├── cv-template.tex          # LaTeX 模板
│   ├── portals.example.yml      # 45+ 预配置公司
│   └── states.yml               # 投递状态词典
├── data/                        # 投递数据 (gitignored)
│   ├── applications.md          # 主追踪表
│   ├── pipeline.md              # 待处理 URL 收件箱
│   ├── scan-history.tsv         # 扫描去重
│   └── follow-ups.md            # 跟进历史
├── reports/                     # 评估报告 (gitignored)
├── output/                      # 生成的 PDF (gitignored)
├── jds/                         # JD 文本存这里 (可选)
├── interview-prep/              # 面试备战
│   ├── story-bank.md            # 累积的 STAR+R 故事
│   └── {company}-{role}.md      # 公司专属情报
├── batch/
│   ├── batch-prompt.md          # worker 提示词
│   ├── batch-runner.sh          # 编排脚本
│   └── tracker-additions/       # 待合并到主追踪表
├── dashboard/                   # Go TUI (Bubble Tea)
│   ├── main.go
│   └── internal/
├── fonts/                       # Space Grotesk + DM Sans
├── providers/                   # LLM provider 配置
├── docs/                        # 多语言文档 + 媒体报道
├── examples/                    # 样例 CV / 报告 / 亮点
└── *.mjs                        # 扫描 / 验证 / 合并 / 健康检查脚本

作为用户, 你只需要碰 cv.md / config/profile.yml / modes/_profile.md / portals.yml 四个文件 — 这就是 User Layer, 系统更新不会动它。其余都让 Agent 自己处理。

手把手步骤

步骤 1: 克隆 + 安装

git clone https://github.com/santifer/career-ops.git
cd career-ops
npm install
npx playwright install chromium   # PDF 生成需要

WARNING

不要跳过 npx playwright install chromium。后面 /career-ops pdf 走 Playwright 渲染, 缺 Chromium 直接报 "browser not found"。

步骤 2: 健康检查

npm run doctor

会验证 Node.js 版本、Playwright、关键文件、目录权限。失败的话医生会告诉你缺什么, 修完再跑一次。

步骤 3: 创建你的 cv.md

这是 整个流水线的源头 — 没有它 Agent 无法评估 offer。

在项目根目录创建 cv.md:

# Your Name

**Email:** [email protected]
**Location:** Berlin, Germany (CET)
**LinkedIn:** linkedin.com/in/you
**GitHub:** github.com/you

## Summary

Senior backend engineer with 6 years building distributed systems...
(目标: 2-3 段, 写"你做什么 + 你最强的一两件事")

## Experience

### Staff Engineer — Company A (2023 - Present)
- Led migration of X to Y, reducing Z by 40%
- (尽量带数字, 这部分会被 Agent 用来 match JD)

### Senior Engineer — Company B (2020 - 2023)
- ...

## Education
...

## Skills
Backend: Go, Python, PostgreSQL, Kafka
AI/ML: PyTorch, LangChain, RAG
...

TIP

不想自己写? 启动 Claude Code 之后, 跟它说 "我贴下我的旧简历" / "这是我 LinkedIn URL" / "我口述你帮我写", Agent 会帮你转成 cv.md。三种 onboarding 路径, README 里都给了提示词。

步骤 4: 配置 config/profile.yml

cp config/profile.example.yml config/profile.yml

打开 config/profile.yml, 填:

personal:
  name: "Your Name"
  email: "[email protected]"
  location: "Berlin, Germany"
  timezone: "CET"

targeting:
  roles:
    - "Senior Backend Engineer"
    - "Staff Engineer"
    - "AI Platform Engineer"
  comp_target:
    base_min: 130000
    base_target: 160000
    currency: "EUR"
  remote_preference: "remote-first"
  deal_breakers:
    - "no on-call"
    - "no Java"
    - "no < 20 person startups"

# 想用中文 / 德语 / 法语 / 日语 / 土耳其语模式就加这一行
# language:
#   modes_dir: modes/de

WARNING

不要手改 modes/_shared.md。系统更新会覆盖它。个人 archetype / 谈判话术 / 薪资目标, 一律写到 modes/_profile.mdconfig/profile.yml。这是 README 里反复强调的 Data Contract 规则。

步骤 5: 配置 portals.yml

cp templates/portals.example.yml portals.yml

默认带 45+ 公司 + 19 个搜索 query, 覆盖:

# AI Labs
- anthropic
- openai
- mistral
- cohere

# Voice AI
- elevenlabs
- vapi
- deepgram

# AI Platforms
- retool
- airtable
- vercel
- temporal

想加自己盯的公司, 在 portals.yml 里加即可。Job board 覆盖 Ashby / Greenhouse / Lever / Wellfound / Workable / RemoteFront。

步骤 6: 让 Agent 帮你 "Onboard"

# 选一个你装了的 AI CLI
claude       # Claude Code
# 或
gemini       # Gemini CLI
# 或
opencode     # OpenCode
# 或
codex        # Codex

在 CLI 里说:

帮我设置 career-ops。我刚 clone 下来, cv.md 和 config/profile.yml 都填好了。
请检查一下我的 onboarding 是不是完整的, 还有什么该补的。

Agent 会跑一遍开机检查:

  1. cv.md 在不在? ✅
  2. config/profile.yml 是不是真的 (不是 .example)? ✅
  3. modes/_profile.md 是不是从 _profile.template.md 复制过来的? ⚠️
  4. portals.yml 是不是真的 (不是 .example)? ✅

任何一个 ❌ 都会进入引导模式, 一对一提示你补。

TIP

第一次跑 Agent 会主动问你 "你最自豪的一个职业成就是什么? 你有什么 deal-breaker? 你的 superpower 是什么?" — 多花 5 分钟认真答, 这部分会进 modes/_profile.md, 后续评估分数准不准全看它。第一周像在 onboarding 一个新来的招聘官, 第二周它就比大多数真人 recruiter 更懂你。

步骤 7: 第一次评估

粘贴一个 JD URL 给 Agent:

/career-ops https://jobs.anthropic.com/staff-software-engineer-applied-ai

Agent 会跑全自动流水线:

  1. Archetype 检测 — 分类成 LLMOps / Agentic / PM / SA / FDE / Transformation
  2. A-F 评估 — 6 维度 (Role summary / CV match / Level strategy / Comp research / Personalization / Interview prep)
  3. 生成报告 — 写到 reports/001-anthropic-2026-06-09.md
  4. 生成 PDF — 跑 Playwright 渲染 ATS 简历, 输出到 output/001-anthropic-cv.pdf
  5. 写入 tracker — 加一行到 data/applications.md
  6. 更新 pipeline 完整性 — 跑 node verify-pipeline.mjs 检查

你应该看到 30-60 秒后, 一份完整的评估报告 + 一份 ATS 简历 PDF 出现。

WARNING

第一份评估分数不会准。系统还不了解你, 容易给高分或低分。别急, 跑 3-5 份后, 根据结果反馈告诉 Agent "这个分数给高了" / "我没提过我有 XX 经验" — Agent 会把学到的写进 modes/_profile.md, 越用越准。

步骤 8: 第一次扫描

/career-ops scan

或等价地:

node scan.mjs                  # 零 token, 纯 API 抓取
node scan.mjs --verify         # API + Playwright 二次验证, 过滤过期岗位

45+ 预配置公司 + 19 个搜索 query 一轮扫下来, 通常 200-500 个新岗位, 直接进 data/pipeline.md 收件箱。然后 claude -p workers 并发跑评估, 一晚上处理 100+ offer 不是梦。

步骤 9: 跑 TUI Dashboard (可选)

如果你想用终端 UI 看进度:

cd dashboard
go build -o career-dashboard .
./career-dashboard --path ..

6 个过滤 tab, 4 种排序模式, 分组/扁平视图, lazy-loaded 预览, 选中即改状态。Catppuccin Mocha 主题, 颜值能打。

步骤 10: 更新系统 (重要!)

Career-Ops 迭代快, 隔几周就有新 mode / 新公司配置。

# 在项目根目录, 让 Agent 帮你查
claude  # 跟它说 "检查 career-ops 有没有新版本"

Agent 会自动跑 node update-system.mjs check, JSON 输出长这样:

{"status": "update-available", "local": "1.3.0", "remote": "1.4.0", "changelog": "..."}

它会告诉你 "v1.3.0 → v1.4.0 可用, 你的数据 (CV / profile / tracker / reports) 不会被碰, 要不要更新?"。要更新就:

node update-system.mjs apply       # 更新
node update-system.mjs rollback    # 不满意就回滚

常见问题排查

Q1: cv.md 找不到 / Agent 卡在 onboarding

最常见原因, cv.md 没放在项目根目录:

# 确认在项目根
ls -la cv.md
# 应该看到 -rw-r--r-- cv.md

# 没有就创建 (在项目根目录)
cd career-ops
touch cv.md
# 然后填内容

Q2: PDF 生成失败, "browser not found"

Playwright 没装或没装 Chromium:

npx playwright install chromium
# 国内网络慢的话可以加镜像
PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright npx playwright install chromium

Q3: 评估分数虚高 / 虚低

第一周都这样。修复:

  1. 多跑 3-5 份评估, 每次给 Agent 反馈 "这分数我不同意, 因为 XX"
  2. Agent 会把学到的写进 modes/_profile.md
  3. 重点看 modes/_profile.md 里有没有补全: 你的薪资底线 / 远程偏好 / 角色定位 / 反向 case

重要: 个人化内容写到 modes/_profile.mdconfig/profile.yml, 不要改 modes/_shared.md, 后者会被系统更新覆盖。

Q4: WebSearch / WebFetch 验证 offer 准不准

不准。Career-Ops 内部规则是 必须用 Playwright 验证 offer 还在:

# 走 slash command, 内部会跑 Playwright
/career-ops verify --url <JD_URL>

批量模式 (claude -p) 里 Playwright 不可用, 会标 **Verification:** unconfirmed (batch mode), 你得手动复核。

Q5: 批量评估 token 消耗爆炸

跑 100+ offer 评估, 一晚上 token 账单轻松过 $20。修复有三档:

  1. 降低 batch 数量 — 一次跑 10-20 个, 别一次扫 100+
  2. 本地模型兜底ofertas (对比) / tracker / pdf 这类结构化任务可以换本地小模型
  3. Defapi 半价 API — 协议完全兼容, 跟官方走的是同一个模型, 每月账单直接腰斩 (具体配置见"目标读者"段后的 TIP)

Q6: 想换德语 / 法语 / 日语 / 土耳其语模式

# 1. 编辑 config/profile.yml
language:
  modes_dir: modes/de   # 或 fr / ja / tr

或者直接跟 Agent 说 "用德语模式跑", Agent 会切到 modes/de/ 下的评估逻辑 (带 DACH 市场的 13. Monatsgehalt / Probezeit / AGG / Tarifvertrag 这些本地化词汇)。

WARNING

改成 modes/de/ 之后, 你投英语岗位也会跑德语评估。除非你只投德语岗位, 不然保持默认英语模式, 只在投德语岗位时手动切。

Q7: 状态字段出现 **Applied** 之类带格式的脏数据

tracker 状态被手动加粗了。修复:

node normalize-statuses.mjs     # 状态规范化
node dedup-tracker.mjs          # 去重
node verify-pipeline.mjs        # 健康检查

之后改 templates/states.yml 加 canonical 状态即可。

扩展阅读 / 进阶方向

  • User Layer vs System Layer: 这是 Career-Ops 最有意思的工程设计 — modes/_profile.md (用户) 永远不被 modes/_shared.md (系统) 覆盖, 你 onboarding 的所有个性化东西, 跑 100 次系统更新也丢不了。建议读 DATA_CONTRACT.md 了解全貌
  • 改 archetype: 跟 Agent 说 "change the archetypes to data engineering roles", 它会改 modes/_profile.md 而不是 modes/_shared.md
  • 多语言切换: 投德/法/日/土岗位时切 modes/{de,fr,ja,tr}/, 评估逻辑会自动本地化 (CDI / 賞与 / 通勤手当 这些当地词)
  • TUI Dashboard 进阶: dashboard 用 Go + Bubble Tea + Lipgloss 写的, Catppuccin Mocha 配色。源码在 dashboard/internal/, 想加自定义过滤 / 排序直接改
  • STAR+R 故事银行: interview-prep/story-bank.md 会跨评估累积你的 "Situation + Task + Action + Result + Reflection" 故事, 3-5 份评估之后你就有了 5-10 个能应付任何行为面问题的故事
  • fork 配套作品集: 作者的 portfolio 也是开源的 — santifer/cv-santiago, 有 AI 聊天机器人 + LLMOps 看板 + case studies, fork 一个改成你自己的

GitHub 仓库: santifer/career-ops, 多语言文档在 README.{cn,es,ja,ko-KR,pt-BR,ru,ua,zh-TW}.md, 设计哲学看 DATA_CONTRACT.md, 媒体报道在 docs/press/, 路线图在 ROADMAP.md (项目里搜不到的话, 问 Agent "show me your roadmap")。

Updated 2026年6月9日