santifer/career-ops · 上手攻略
- 仓库:santifer/career-ops
- 链接:https://github.com/santifer/career-ops
- 分类:trending / agent / ai-job-search
- 作者:Tom
- 更新:2026-07-03
把"求职"这个长期、碎片、靠自驱力的过程,做成 Claude Code / OpenCode / Codex 等任意 AI CLI 都能直接跑起来的 Skill 流水线。不是一个自动投递器,而是一个带评分的漏斗 + ATS 简历工厂 + 跟踪仪表盘。
1. 是什么
career-ops(也写作 careerops,项目站 career-ops.org)是一个"以 AI CLI 为大脑、以本地 Skill 文件为规则"的开源求职操作系统。它本身不训练任何模型,而是把 14 个 Skill 模式(evaluate / scan / pipeline / pdf / cover / batch / tracker / interview / negotiation / portal / cover-letter / ...)以"slash 命令 + 文件路由"的形式挂在你的 AI CLI 上,让 Claude Code / Gemini CLI / Codex / OpenCode / Qwen / Kimi / Grok Build / Antigravity CLI 都能像读 README 一样读懂它,再去驱动 Playwright 抓页面、用 A-F 评分判断一个 offer 值不值得投、自动生成 ATS 优化 PDF 简历、维护一份本地 pipeline.json 作为"单一事实源"。
作者 santifer 自己用这套系统评估了 740+ 个 offer、生成了 100+ 份定制简历,最终拿到 Head of Applied AI 的 offer;项目在 Product Hunt、Wired、Business Insider、trendshift 都有露出(README 顶部自带 badge)。最近一次 commit 在 2026-07-02,处于活跃维护期。
2. 解决什么问题
求职里有 4 件事最磨人,career-ops 全部用 Skill 文件去"流水线化":
- 海量 offer 筛选:手动逐个读 JD → 评判是否匹配 → 决定要不要投。
career-ops用一个"6 块评估(Role summary / CV match / Level strategy / Comp research / Personalization / Interview prep)+ Block G 合法性反诈"的 10 维加权 A-F 评分模型,让 AI 像 recruiter 一样打分并把低于 4.0/5 的直接劝退。 - 简历定制:每个 JD 都要改一遍简历,ATS 还挑关键词。
/career-ops pdf会从你的cv.md+profile.yml出发,对当前 JD 注入关键词,套 Space Grotesk + DM Sans 的版式,再用 Playwright 渲染成 A4 PDF。 - 多门户扫描:Anthropic、OpenAI、ElevenLabs、Retool、n8n 等 45+ 家公司预置了 Greenhouse / Ashby / Lever / Wellfound 的扫描模板,
/career-ops scan直接用 headless 浏览器去抓最新岗位。 - 进度跟踪:所有评估产物(PDF、笔记、cover letter、状态)落到本地
data/pipeline.json或tracker/目录里,配套一个 Go 写的 Bubble Tea 终端仪表盘(build-dashboard.mjs之后npm run dashboard),可筛选可排序,避免散落在 Notion / 飞书 / 邮件里。
它不主动投递——README 明确写"system never submits an application, you always have the final call",定位是"过滤器 + 弹药库",不是 spam。
3. 快速安装
career-ops 提供了"一行命令"和"git clone"两条路径。两种方式都要求先装好 Node.js(>= 18 推荐)和 AI CLI 二选一(Claude Code 优先,codex / opencode / gemini / qwen / kimi / grok / agy 均可)。
方式 A:一键(推荐)
npx @santifer/career-ops init
npx 会拉最新 release 到 ./career-ops、装依赖(Playwright 需要的 Chromium 用 npx playwright install chromium 单独再跑一次)。如果你的机器上已经装了 Claude Code 或 Codex CLI,那 npx 自带的 Node 就够用,无需手动装 Node。
cd career-ops
claude # 或 codex / opencode / gemini / qwen / kimi / agy / grok
第一次启动会让 AI 引导你做 onboarding:粘 CV、定 archetype、调权重,全部对话完成。
方式 B:手动 git clone
git clone https://github.com/santifer/career-ops.git
cd career-ops && npm install
npx playwright install chromium # 只有 PDF 生成需要
npm run doctor # 校验 Node / Playwright / 浏览器 / AI CLI 是否齐
cp config/profile.example.yml config/profile.yml
cp templates/portals.example.yml portals.yml
# 把简历写成 cv.md,放在项目根目录
claude # 或 codex / opencode / ...
接入 Antigravity CLI / Codex / Grok
README 把每种 CLI 都单独写了一段:
- Antigravity CLI(Google 把消费级 Gemini CLI 合并过来的版本):
cd career-ops && agy,然后/career-ops pipeline这类统一入口即可。GEMINI.md是兼容性 no-op,防止 Antigravity 重复加载。 - Codex:
codex后 slash 命令不一定注册,README 给出降级方案——直接用自然语言:"Run the career-ops scan mode";headless 跑用codex exec "Run career-ops scan mode in this repo"。 - Grok Build CLI:
grok启动后用/career-ops {subcommand};headless 批量 worker 用grok -p "prompt",加--yolo自动批准工具调用。 - 不走 CLI、纯脚本模式:
cp .env.example .env填GEMINI_API_KEY,node gemini-eval.mjs "JD 文本...",免费档走 gemini-2.5-flash(15 RPM / 1M tokens/day)。
4. 核心用法
/career-ops 是统一入口,参数是 subcommand:
| 命令 | 作用 | 输出 |
|---|---|---|
/career-ops |
列出所有可用命令 | 菜单 |
/career-ops {paste JD or URL} |
全自动流水线:评估 + PDF + 写 tracker | data/pipeline.json + 1 份 PDF + 1 条 tracker 记录 |
/career-ops scan |
跑 portals.yml 里 45+ 公司 | 新发现的 offer 列表 |
/career-ops pdf |
给"最近一次评估的岗位"生成 ATS PDF | output/cv-{slug}.pdf |
/career-ops cover |
给定 JD 生成 cover letter(4 角度 prompt:why / problems / approach / tone) | output/cover-{slug}.pdf |
/career-ops batch |
用 headless worker(claude -p / opencode run)并发评估 10+ 岗位 |
多份评估稿 |
/career-ops tracker |
看当前 pipeline 状态汇总 | 终端表格 |
/career-ops apply |
触发申请流程(仍然只填表不点提交) | 草稿 |
最常用的"快上手三件套"是 pipeline / scan / tracker。
4.1 把第一份 offer 跑通
# 在 Claude Code 里(career-ops 目录下)
/career-ops https://jobs.ashbyhq.com/anthropic/abc-123-senior-ai-engineer
会发生:
1. AI 抓页面 → 提取 JD → 写 data/inbox/anthropic-senior-ai-engineer.md
2. 跑 evaluate 模式,按 10 维度打 A-F,给出建议
3. 跑 pdf 模式,生成 output/cv-anthropic-senior-ai-engineer.pdf
4. 跑 tracker 模式,把这条 offer 写进 data/pipeline.json,状态 evaluated
5. 把面试准备、薪资谈判、STAR+R 故事等增量信息追加到 interview-bank/
4.2 用自然语言定制系统
README 反复强调"system designed to be customized by the AI CLI itself",也就是说你可以这样直接对 Claude 说:
"Change the archetypes to backend engineering roles"
"Translate the modes to English"
"Add these 5 companies to portals.yml"
"Update my profile with this CV I'm pasting"
AI 会自己读自己用的同一批 yml / md 文件再写回去——比手动改配置稳。
4.3 跑仪表盘
npm run dashboard # Go + Bubble Tea TUI
或者浏览器版(README 提到部分模式有 web 渲染):
npm run dashboard:web
可以按 score / status / 投递日期排序,定位"卡在评估后没投"的岗位。
4.4 低成本跑(关键)
docs/RUNNING_ON_A_BUDGET.md 专门讲怎么切到本地/便宜模型:把 config/models.yml 里的 default 改成 gemini-2.5-flash / qwen-coder / deepseek-coder,再把 batch 模式的开头加上 --max-budget-usd 0.5。这是把"740+ 评估"打平成本的关键。
5. 典型适用场景
- 海外 / 远程求职、重度 LinkedIn 投简历者:每天 30+ 个 JD、要筛要改简历,career-ops 的 batch + PDF 流水线把单 JD 处理时间压到 5 分钟以内。
- AI 工程师 / 研究员主动 od:用
scan监控 45+ 家公司新岗位,第一时间拿到。 - 校招 / 海投 / 练手评估:用 evaluate 模式当 mock interview,自己给自己打分。
- 多个 AI CLI 都在手边的人:一份 career-ops,同时给 Claude Code、Codex、OpenCode、Grok、Qwen 用,slash 命令是统一入口。
不适合:
- 一周只投 1-2 个岗位——开销不划算,直接手写 cover letter 更快。
- 不想给 AI CLI 读自己简历的人(项目强依赖 AI CLI 读 cv.md 和 profile.yml)。
6. 坑与注意
- 第一次评估质量不高:README 自承"the system doesn't know you yet"。至少喂 1 份真实 CV + 1 份"过去做过什么"的故事清单,再跑 2-3 轮反馈,评估分数才会贴近真实。
- 评分 < 4.0 强烈不建议投:项目自带的劝退阈值很激进,4.5+ 才算"值得花 1 小时定制简历"。信它,但前几周建议自己复核。
- PDF 用 Playwright 渲染:意味着每次 PDF 都会启 Chromium,第一次跑
npx playwright install chromium别忘;服务器 / 容器环境要给到--no-sandbox的启动参数(看pdf/子模块 README)。 - codex / antigravity / grok 行为有差异:slash 命令注册机制不同,Codex 上
/career-ops不一定可用,要回退到自然语言。 - 数据 100% 本地、但都是明文:
data/pipeline.json/cv.md/output/都是明文,记得加进.gitignore或 git-crypt,别把私人简历推公共仓。 - TRADEMARK.md 限制:
career-ops这个名字是作者商标,使用时不能冒充官方或转售;自用、fork、PR 不影响。 - 依赖活跃的 AI CLI:Claude Code 路线最稳,Codex / OpenCode 路线 README 写得略简单,遇问题优先看
docs/CODEX.md和docs/SUPPORTED_CLIS.md。
7. 与同类对比
| 项目 | 定位 | 差别 |
|---|---|---|
| ResumAI / Teal / LoopCV | 简历优化 + 自动投递 SaaS | 闭源、按月付费、主动投递;career-ops 本地、开源、只做评估和弹药 |
| Auto-Job-Apply 类浏览器插件 | 浏览器内自动填表 | 黑盒、易被 ATS 拉黑;career-ops 不主动投递 |
| AI CLI 通用 Skill 框架(如 Anthropic skills、OpenAI skills 协议) | 通用 Skill runtime | career-ops 是"面向求职域"的一个具体 Skill bundle,复用 Claude Code / OpenCode 等 runtime |
| 个人 Notion / 飞书求职管理系统 | 全手动 | career-ops 把"筛选 + ATS 改简历"这两步最难的事交给 AI |
| LangChain / LlamaIndex + LLM 自搭 | 自建 AI 工作流 | career-ops 已经是搭好且经过 740+ 评估调参的现成 pipeline |
一句话:career-ops 是"用 Claude Code 把求职做成漏斗",而不是"让 AI 替你投简历"。
8. 一句话推荐结论
正在重度求职、且日常已经用 Claude Code / Codex / OpenCode 的人,把
npx @santifer/career-ops init跑一遍,省下的不是投递时间,而是"每天判断 30 个 offer 值不值得"的精神损耗。 把它当漏斗和简历工厂用,别当自动投递器用——这样它就值 58k stars。