开源工具,将Claude Code等AI编程CLI扩展为求职指挥中心,可评估职位(A-F评分转1-5分)、生成定制简历、追踪申请状态。
English | Español | Deutsch | Français | Português (Brasil) | 한국어 | 日本語 | 简体中文 | 繁體中文 | Українська | Русский | Polski | Dansk | தமிழ் | العربية | हिन्दी | Türkçe

我花了数月时间用笨办法找工作。于是我造了这个我曾梦寐以求的系统。公司用 AI 筛选候选人。我让候选人用 AI 选择公司。现在它开源了。

740+ 个职位已评估 · 100+ 份个性化 CV · 1 个理想岗位已拿下
同样可在任何支持 agent-skill-standard 的 CLI 上运行。参见支持的 CLI。
career-ops(career-ops.org,也称 careerops)将任何 AI 编程 CLI 变成完整的求职指挥中心。不必再手动在电子表格里跟踪申请进度,你得到的是一个 AI 驱动的流水线,具有以下能力:
用结构化评估体系评估 Offer——在 5 个加权维度上对 A-F 进行评分,外加 G 项,即单独的招聘信息真实性评估,该项不影响 1-5 的总分
生成定制化 PDF——针对 ATS 优化、逐个职位定制的 CV
自动扫描招聘门户(Greenhouse、Ashby、Lever、企业官网)
批量处理——用子 AI 智能体并行评估 10+ 个 Offer
在单一数据源中追踪一切,并带完整性校验
研究公司并找到该联系的人——海投简历只能让你进入候选池;主动研究才能换来面谈机会
重要提示:这不是一个撒网工具。career-ops 是一个过滤器——它帮助你从数百个职位中筛选出少数值得投入时间的 Offer。系统强烈建议不要申请评分低于 4.0/5 的职位。你的时间很宝贵,招聘人员的时间也是。提交前务必人工审核。
career-ops 是智能体化的:无论你选择哪款 AI 编程 CLI,它都能用 Playwright 导航招聘页面,通过对比你的 CV 与职位描述进行适配度评估(不是关键词匹配),并根据每个招聘帖定制你的简历。
请注意:最初的评估结果不会很理想。系统还不了解你。给它喂上下文——你的 CV、你的职业故事、你的业绩证明、你的偏好、你的长处、你想要规避的事。你越用心培养它,它就变得越强。把它当作在培养一名新的招聘专员:第一周他们需要了解你,之后他们就会变得不可或缺。
创造者本人用它评估了 740+ 个职位,生成了 100+ 份定制 CV,最终拿下了应用 AI 主管的职位。阅读完整案例研究。
CareerOps 宣言
career-ops 是 CareerOps 宣言的第一个参考实现。去读一读。如果它说的正是你认同的,就签署它。你的签名会成为一次提交。
最快方式——一条命令:
npx @santifer/career-ops init
💡 npx 随 Node.js 附带——它只运行一次安装程序,不会全局安装任何东西。还没有 Node?先安装它。(已经在用 Claude Code / Gemini / Codex CLI 了?那你已经有了。)
这会把最新版本克隆到 ./career-ops 并安装依赖。然后:
cd career-ops
claude # 或 codex / qwen / opencode / agy / grok — 在这里打开你的 AI CLI
首次启动时,career-ops 会引导你完成设置——你的 CV、个人资料和目标职位——全程通过聊天完成。无需手动编辑任何东西。
git clone https://github.com/santifer/career-ops.git
cd career-ops && npm install
npx playwright install chromium # 仅在生成 PDF 时需要
# 2. 检查设置
npm run doctor # 验证所有前置条件
# 3. 配置
cp config/profile.example.yml config/profile.yml # 用你的信息编辑
cp templates/portals.example.yml portals.yml # 自定义公司
# 4. 添加你的 CV
# 在项目根目录创建 cv.md,用 markdown 格式写你的简历
# 5. 在此目录打开你的 AI CLI
claude # 或 codex / opencode / qwen / agy / grok
npm i -g @santifer/career-ops
这会将 career-ops 二进制文件全局安装,这样你就可以直接运行它,而无需通过 npx。与 npx @santifer/career-ops init(用于引导项目目录)不同,全局安装为你提供了一个可在终端任意位置使用的持久化 career-ops 命令。
该用哪个?
npx @santifer/career-ops init — 首次使用最佳;创建一个专用项目文件夹。
npm i -g @santifer/career-ops — 已有项目文件夹、希望直接运行 career-ops 命令时最佳。
这个系统的设计初衷就是让 AI 编码 CLI 自行定制。模式、原型、评分权重、谈判脚本——尽管让它去改。它读取的正是它所使用的文件,所以它完全知道该编辑什么。
完整的设置指南见 docs/SETUP.md,使用自定义或本地模型低成本运行 career-ops 的说明见 docs/RUNNING_ON_A_BUDGET.md(docs/FREE_TIER.md 介绍了在 Antigravity CLI 免费层上零成本运行的方法),调度定期扫描和零令牌分类到候选名单的方案见 docs/AUTOMATION.md,ATS 自动填充流程的详情见 docs/APPLY_AUTOFILL.md,常见设置问题解答见 docs/FAQ.md。设计原则见 ARCHITECTURE.md;运行时流程见 docs/ARCHITECTURE.md。
career-ops 原生支持 Antigravity CLI,与支持 Claude Code 和 OpenCode 的方式相同。所有斜杠命令都通过共享的技能入口点提供,使用相同的 modes/*.md 评估逻辑。
Google 已将面向消费者的 Gemini CLI 访问迁移到 Antigravity CLI。GEMINI.md 现在是一个空操作兼容性保护,因为 Antigravity 在同时读取 AGENTS.md 和 GEMINI.md 时不会重复完整的项目说明。
# 1. 在 career-ops 目录中运行
cd career-ops
agy
# 2. 使用统一的 /career-ops 命令及子命令:
/career-ops "Senior AI Engineer at Anthropic..."
/career-ops pipeline
/career-ops scan
/career-ops pdf
/career-ops tracker
该技能使用 .agents/skills/career-ops/SKILL.md 中的开放标准定义,并为每个支持的 CLI(例如 .claude/、.cursor/、.qwen/、.antigravitycli/、.grok/)创建符号链接/引用。
career-ops 通过相同的共享路由支持 Codex,但其调用模型与自动注册斜杠命令的 CLI 不同。完整指南见 docs/CODEX.md。
cd career-ops
codex
Codex 不保证斜杠命令可用。如果 /career-ops 不可用,请让 Codex 直接用自然语言运行模式:
Evaluate this JD with career-ops auto-pipeline: https://company.com/jobs/123
Run the career-ops scan mode and summarize new matches.
Run the career-ops pipeline mode for data/pipeline.md.
Run the career-ops pdf mode for the latest evaluated role.
Run the career-ops tracker mode and summarize the current statuses.
codex exec "Evaluate this JD with career-ops auto-pipeline: https://company.com/jobs/123"
codex exec "Run career-ops scan mode in this repo and summarize new matches."
codex exec "Run career-ops pipeline mode for data/pipeline.md."
codex exec "Run career-ops pdf mode for the latest evaluated role."
codex exec "Run career-ops tracker mode and summarize the current statuses."
career-ops 原生支持 Grok Build CLI,与支持 Claude Code 和 OpenCode 的方式相同。AGENTS.md 作为项目规则自动加载,所有斜杠命令都通过共享的技能入口点提供。
# 1. 在 career-ops 目录中运行
cd career-ops
grok
# 2. 使用统一的 /career-ops 命令及子命令:
/career-ops "Senior AI Engineer at Anthropic..."
/career-ops pipeline
/career-ops scan
/career-ops pdf
/career-ops tracker
对于无头批处理工作流,使用 grok -p "prompt"(添加 --yolo 以自动批准工具执行)。
# 1. 在 https://aistudio.google.com/apikey 获取免费 API 密钥
cp .env.example .env
# 编辑 .env,设置 GEMINI_API_KEY=your_key_here
# 2. 安装依赖
npm install
# 3. 评估职位描述
node gemini-eval.mjs "We are looking for a Senior AI Engineer..."
node gemini-eval.mjs --file ./jds/my-job.txt
node agent-inbox.mjs add "..." # 为下次会话排队一个请求
npm run gemini:eval -- "JD text here"
免费层:两个选项都无需计费即可工作。原生 CLI 使用 Google OAuth;API 脚本使用 gemini-3.6-flash(速率限制取决于模型和层级;参见 Google AI 文档了解当前配额)。
career-ops 使用共享命令路由。在注册斜杠命令的 CLI 中,它看起来是这样的:
/career-ops → 显示所有可用命令
/career-ops {paste a JD} → 完整自动流水线(评估 + PDF + 追踪器)
/career-ops scan → 扫描门户获取新职位
/career-ops pdf → 生成 ATS 优化的简历
/career-ops cover → 求职信生成器(粘贴 JD 或 /career-ops cover {slug})
/career-ops email → 正式申请邮件草稿(仅草稿;从不发送、提交或点击)
/career-ops batch → 批量评估多个职位
/career-ops tracker → 查看申请状态
/career-ops apply → 用 AI 填写申请表
/career-ops outcome → 记录申请结果并归档产物
/career-ops pipeline → 处理待处理的 URL
/career-ops contacto → 寻找招聘经理 / 招聘人员 / 同级 + 为每种联系类型起草 ≤300 字符的 LinkedIn 消息
/career-ops deep → 生成结构化的 6 轴研究提示(AI 策略、最近动向、文化、挑战、竞争对手、候选人角度)
/career-ops training → 评估课程 / 证书
/career-ops project → 评估作品集项目
或者直接粘贴职位 URL 或描述——career-ops 会自动检测并运行完整流水线。
在 Codex 中,斜杠命令不保证可用。请在提示词中使用相同的模式名称,或者从 codex exec 调用。
你粘贴职位 URL 或描述
│
▼
┌──────────────────┐
│ 原型检测 │ 分类:LLMOps / Agentic / PM / SA / FDE / Transformation
│ Archetype │
│ Detection │
└────────┬─────────┘
│
┌────────▼─────────┐
│ A-G 评估 │ 匹配度、差距、薪资研究、STAR 故事、合理性
│ A-G Evaluation │ (读取 cv.md)
│ (reads cv.md) │
└────────┬─────────┘
│
┌────┼────┐
▼ ▼ ▼
Report PDF Tracker
.md .pdf entry
扫描器内置了 100+ 公司和 45+ 跨主流招聘平台的搜索查询。将 templates/portals.example.yml 复制到 portals.yml 并添加你自己的:
AI Labs:Anthropic、OpenAI、Mistral、Cohere、LangChain、Pinecone Voice AI:ElevenLabs、PolyAI、Parloa、Hume AI、Deepgram、Vapi、Bland AI AI Platforms:Retool、Airtable、Vercel、Temporal、Glean、Arize AI Contact Center:Ada、LivePerson、Sierra、Decagon、Talkdesk、Genesys Enterprise:Salesforce、Twilio、Gong、Dialpad LLMOps:Langfuse、Weights & Biases、Lindy、Cognigy、Speechmatics Automation:n8n、Zapier、Make.com European:Factorial、Attio、Tinybird、Clarity AI、Travelperk
搜索的招聘平台:55+ 提供商模块覆盖 ATS API、平台级订阅源、XML/RSS 订阅源、markdown 订阅源和本地解析器。完整表格参见支持的招聘平台。
默认情况下 node scan.mjs(即 npm run scan)信任每个 ATS 订阅源返回的内容。某些公司在职位关闭后仍会在公开 API 中保留过时招聘信息,所以这些过期条目会泄漏到 pipeline.md 中。传递 --verify 以在 API 轮次后启动 Playwright,并在进入流水线前丢弃过期的招聘信息:
node scan.mjs --verify # 零令牌发现 + Playwright 活性检查
验证是顺序执行的,且仅针对新职位(在去重后),因此成本保持在可控范围内。
内置终端仪表板让你可以可视化浏览流水线:
npm run serve:dashboard # 启动 TUI
npm run build:dashboard # 可选:构建独立二进制文件
功能:6 个过滤标签页、4 种排序模式、分组/平铺视图、懒加载预览、内联状态变更。
还有一个实验性 Web UI(alpha,需 opt-in——除非你启动它,否则什么都不运行):参见 web/README.md。
career-ops/
├── AGENTS.md # 智能体规范说明(所有 CLI)
├── CLAUDE.md # Claude Code 包装器(导入 AGENTS.md)
├── CODEX.md # Codex 包装器(导入 AGENTS.md)
├── OPENCODE.md # OpenCode 包装器(导入 AGENTS.md)
├── GEMINI.md # 旧版空操作防护,避免 Antigravity 重复上下文
├── cv.md # 你的简历(自行创建)
├── article-digest.md # 你的论证要点(可选)
├── config/
│ └── profile.example.yml # 个人资料模板
├── modes/ # 技能模式
│ ├── _shared.md # 共享上下文(自行定制)
│ ├── oferta.md # 单个 Offer 评估
│ ├── pdf.md # PDF 生成
│ ├── cover.md # 求职信生成
│ ├── email.md # 正式申请邮件草稿
│ ├── scan.md # 招聘门户扫描器
│ ├── batch.md # 批量处理
│ └── ...
├── templates/
│ ├── cv-template.html # ATS 优化简历模板
│ ├── portals.example.yml # 扫描器配置模板
│ └── states.yml # 规范状态码
├── batch/
│ ├── batch-prompt.md # 自包含工作进程提示词
│ └── batch-runner.sh # 编排脚本
├── dashboard/ # Go TUI 流水线查看器
├── data/ # 你的追踪数据(gitignore)
├── reports/ # 评估报告(gitignore)
├── output/ # 生成的 PDF(gitignore)
├── fonts/ # Space Grotesk + DM Sans 字体
├── docs/ # 安装、自定义、预算指南、架构文档
└── examples/ # 简历、报告、论证要点示例
AI 智能体:附带共享技能和模式的 AI 编程 CLI(AGENTS.md + CLI 包装器)
PDF:Playwright + HTML 模板
求职信:HTML 模板 + Playwright(A4 PDF,与简历相同的流水线)
扫描器:Playwright + Greenhouse API + WebSearch
仪表盘:Go + Bubble Tea + Lipgloss(Catppuccin Mocha 主题)
数据:Markdown 表格 + YAML 配置 + TSV 批处理文件
cv-santiago -- 个人作品集网站(santifer.io),附带 AI 聊天机器人、LLMOps 仪表盘和案例研究。如果你需要展示求职以外的作品集,可以 fork 一份并自行定制。
什么是 career-ops?career-ops 是一个开源的、CLI 无关的求职指挥中心。它将任何 AI 编程 CLI 转化为一条流水线,能够根据你的简历评估 Offer、生成 ATS 定制的 PDF、找到合适的联系人,并在同一处追踪所有进度——而最终决定权始终在你手中。它是《CareerOps Manifesto》的首个参考实现。更多详情见 career-ops.org。
我能免费运行 career-ops 吗,或者用更便宜的/本地模型?可以。career-ops 是 CLI 无关的,支持免费模型和本地模型——通过 OpenRouter 免费模型、Ollama 或任何 OpenAI 兼容端点——因此无需绑定付费订阅。完整设置见 docs/RUNNING_ON_A_BUDGET.md。
我付钱购买了 Claude Pro/Max,但 career-ops 却在消耗 API 额度。为什么?因为环境中的 ANTHROPIC_API_KEY 优先于你登录的订阅:CLI 使用该密钥并按 token 计费。运行 echo $ANTHROPIC_API_KEY,如果输出任何内容,从 shell 配置文件中删除它,重启终端,然后运行 /login。批处理模式是例外,因为 claude -p 工作进程不使用交互式登录:运行一次 claude setup-token 并将结果导出为 CLAUDE_CODE_OAUTH_TOKEN。完整指南见 docs/RUNNING_ON_A_BUDGET.md。
career-ops 支持哪些 AI CLI?career-ops 运行在任何主流 AI 编程 CLI 上——Claude Code、Codex、Gemini / Antigravity、OpenCode、Grok、Qwen 等——通过开放的 Agent Skill Standard,因此从不绑定单一供应商。使用你已经有的 CLI 即可。
如何在 Windows 上安装 career-ops?career-ops 可以在 Windows 上运行。平台特定设置及已知问题——Git Bash 发现、行尾符、任务计划程序——见 docs/WINDOWS.md。如果安装时技能加载失败并出现符号链接错误,修复方法见 docs/FAQ.md。完整步骤见 docs/SETUP.md。
career-ops 会自动帮我投递职位吗?不会。career-ops 是一个过滤器,不是撒网式自动投递器。AI 负责评估、排序和起草;你来审核和决定。它永远不会提交、发送或点击任何东西——你始终拥有最终决定权。这种人机协同设计正是核心所在。
career-ops 是免费开源的吗?是。career-ops 是免费开源的,对求职者而言将始终免费——它是《CareerOps Manifesto》的首个参考实现。阅读后,如果它说出了你的信念,请签名。