santifer/career-ops
GitHub: santifer/career-ops
一个基于 AI CLI 工具构建的智能求职管理系统,能够自动化完成职位评估、简历定制、求职信生成和投递追踪等全流程工作。
Stars: 53891 | Forks: 10716
# Career-Ops
[English](README.md) | [Español](README.es.md) | [Français](README.fr.md) | [Português (Brasil)](README.pt-BR.md) | [한국어](README.ko-KR.md) | [日本語](README.ja.md) | [简体中文](README.cn.md) | [繁體中文](README.zh-TW.md) | [Українська](README.ua.md) | [Русский](README.ru.md) | [Polski](README.pl.md) | [العربية](README.ar.md)
请查阅 [docs/SETUP.md](docs/SETUP.md) 获取完整的设置指南。
## Gemini CLI 集成
Career-Ops 原生支持 [Gemini CLI](https://github.com/google-gemini/gemini-cli),就像它支持 Claude Code 和 OpenCode 一样。所有 15 个 slash 命令均可用,并使用相同的 `modes/*.md` 评估逻辑。
### 选项 A:原生 Gemini CLI(推荐)
```
# 1. 安装 Gemini CLI (需要 Node.js 20+)
npm install -g @google/gemini-cli
# 或者:npx @google/gemini-cli --version
# 2. 在 career-ops 目录中运行 — 首次启动时,使用你的
# Google 账号(免费)登录进行身份验证
cd career-ops
gemini
# 3. 像使用 Claude Code 一样使用斜杠命令
/career-ops "Senior AI Engineer at Anthropic..."
/career-ops-evaluate --file ./jds/openai.txt
/career-ops-scan
/career-ops-pdf
/career-ops-tracker
```
`GEMINI.md` 文件会作为上下文自动加载。所有 15 个命令都在 `.gemini/commands/*.toml` 中进行了定义。
### 选项 B:独立 API 脚本(无需安装 CLI)
```
# 1. 在 https://aistudio.google.com/apikey 获取免费的 API key
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
npm run gemini:eval -- "JD text here"
```
## 用法
Career-ops 是一个具有多种模式的 slash 命令:
```
/career-ops → Show all available commands
/career-ops {paste a JD} → Full auto-pipeline (evaluate + PDF + tracker)
/career-ops scan → Scan portals for new offers
/career-ops pdf → Generate ATS-optimized CV
/career-ops cover → Cover letter generator (paste JD or /career-ops cover {slug})
/career-ops batch → Batch evaluate multiple offers
/career-ops tracker → View application status
/career-ops apply → Fill application forms with AI
/career-ops pipeline → Process pending URLs
/career-ops contacto → LinkedIn outreach message
/career-ops deep → Deep company research
/career-ops training → Evaluate a course/cert
/career-ops project → Evaluate a portfolio project
```
或者直接粘贴职位 URL 或描述——career-ops 会自动检测它并运行完整的 pipeline。
## 工作原理
```
You paste a job URL or description
│
▼
┌──────────────────┐
│ Archetype │ Classifies: LLMOps / Agentic / PM / SA / FDE / Transformation
│ Detection │
└────────┬─────────┘
│
┌────────▼─────────┐
│ A-F Evaluation │ Match, gaps, comp research, STAR stories
│ (reads cv.md) │
└────────┬─────────┘
│
┌────┼────┐
▼ ▼ ▼
Report PDF Tracker
.md .pdf .tsv
```
## 预配置的招聘门户
扫描器自带 **45+ 家**可供扫描的公司,以及跨主要招聘网站的 **19 个**搜索查询。将 `templates/portals.example.yml` 复制为 `portals.yml` 并添加你自己的配置:
**AI Labs:** Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone
**语音 AI:** ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram, Vapi, Bland AI
**AI 平台:** Retool, Airtable, Vercel, Temporal, Glean, Arize AI
**客服中心:** Ada, LivePerson, Sierra, Decagon, Talkdesk, Genesys
**企业:** Salesforce, Twilio, Gong, Dialpad
**LLMOps:** Langfuse, Weights & Biases, Lindy, Cognigy, Speechmatics
**自动化:** n8n, Zapier, Make.com
**欧洲企业:** Factorial, Attio, Tinybird, Clarity AI, Travelperk
**搜索的招聘网站:** Ashby, Greenhouse, Lever, Wellfound, Workable, RemoteFront
默认情况下,`node scan.mjs`(即 `npm run scan`)会信任每个 ATS feed 返回的结果。一些公司在职位关闭后仍会在其公开 API 中留下过时的信息,因此这些过期条目可能会混入 `pipeline.md`。传入 `--verify` 可在 API 扫描后启动 Playwright,并在过期信息进入 pipeline 之前将其剔除:
```
node scan.mjs --verify # zero-token discovery + Playwright liveness check
```
验证是按顺序进行的,且只针对新增的 Offer(去重后)执行,因此成本是可控的。
## Dashboard TUI
内置的终端 Dashboard 可让你以可视化方式浏览你的 pipeline:
```
cd dashboard
go build -o career-dashboard .
./career-dashboard --path ..
```
功能:6 个过滤标签页,4 种排序模式,分组/平铺视图,懒加载预览,内联状态更改。
## 项目结构
```
career-ops/
├── AGENTS.md # Canonical agent instructions (all CLIs)
├── CLAUDE.md # Claude Code wrapper (imports AGENTS.md)
├── OPENCODE.md # OpenCode wrapper (imports AGENTS.md)
├── cv.md # Your CV (create this)
├── article-digest.md # Your proof points (optional)
├── config/
│ └── profile.example.yml # Template for your profile
├── modes/ # 15 skill modes
│ ├── _shared.md # Shared context (customize this)
│ ├── oferta.md # Single evaluation
│ ├── pdf.md # PDF generation
│ ├── cover.md # Cover letter generation
│ ├── scan.md # Portal scanner
│ ├── batch.md # Batch processing
│ └── ...
├── templates/
│ ├── cv-template.html # ATS-optimized CV template
│ ├── portals.example.yml # Scanner config template
│ └── states.yml # Canonical statuses
├── batch/
│ ├── batch-prompt.md # Self-contained worker prompt
│ └── batch-runner.sh # Orchestrator script
├── dashboard/ # Go TUI pipeline viewer
├── data/ # Your tracking data (gitignored)
├── reports/ # Evaluation reports (gitignored)
├── output/ # Generated PDFs (gitignored)
├── fonts/ # Space Grotesk + DM Sans
├── docs/ # Setup, customization, architecture
└── examples/ # Sample CV, report, proof points
```
## 技术栈





- **Agent**:Claude Code,配合自定义技能和模式
- **PDF**:Playwright/Puppeteer + HTML 模板
- **求职信**:HTML 模板 + Playwright(A4 PDF,与 CV 使用相同的 pipeline)
- **扫描器**:Playwright + Greenhouse API + WebSearch
- **Dashboard**:Go + Bubble Tea + Lipgloss(Catppuccin Mocha 主题)
- **数据**:Markdown 表格 + YAML 配置 + TSV 批处理文件
## 其他开源项目
- **[cv-santiago](https://github.com/santifer/cv-santiago)** —— 包含 AI 聊天机器人、LLMOps 面板和案例研究的作品集网站 (santifer.io)。如果你需要在求职时展示作品集,可以 fork 它并变成你自己的。
## 关于作者
我是 Santiago —— 现任 Applied AI 负责人,曾经的创业者(建立并出售了一家至今仍带有我名字的企业)。我构建 career-ops 是为了管理我自己的求职过程。它确实奏效了:我用它找到了目前的工作。
我的作品集和其他开源项目 → [santifer.io](https://santifer.io)
## 免责声明
**career-ops 是一款本地开源工具,不是托管服务。** 使用本软件即表示你承认:
1. **你掌控你的数据。** 你的 CV、联系方式和个人数据都保留在你的机器上,并直接发送给你选择的 AI 提供商(Anthropic、OpenAI 等)。我们不收集、存储或有权访问你的任何数据。
2. **你掌控 AI。** 默认的 prompt 会指示 AI 不要自动提交申请,但 AI 模型的行为可能不可预测。如果你修改了 prompt 或使用不同的模型,风险自负。**在提交之前,请务必检查 AI 生成内容的准确性。**
3. **你需遵守第三方的服务条款。** 你必须按照你交互的职业门户网站(Greenhouse、Lever、Workday、LinkedIn 等)的服务条款使用此工具。请勿使用此工具向雇主发送垃圾信息或向 ATS 系统发起恶意请求。
4. **不作任何保证。** 评估结果仅供参考,并非绝对事实。AI 模型可能会产生有关技能或经验的幻觉。对于就业结果、申请被拒、账号受限或任何其他后果,作者概不负责。
详见 [LEGAL_DISCLAIMER.md](LEGAL_DISCLAIMER.md)。本软件基于 [MIT License](LICENSE) 授权“按原样”提供,不提供任何形式的保证。
## 许可证与商标
代码遵循 [MIT](LICENSE) 授权。“career-ops”的名称和
品牌受 [商标政策](TRADEMARK.md) 管辖,允许社区
使用,但对商业产品命名和
背书保留权利。
## 保持联系
[](https://santifer.io)
[](https://linkedin.com/in/santifer)
[](https://x.com/santifer)
[](https://discord.gg/8pRpHETxa4)
[](mailto:hi@santifer.io)
我曾花了好几个月时间用最艰难的方式找工作。所以我打造了这个我曾梦寐以求的系统。
公司使用 AI 来筛选候选人。而我只是给候选人提供了 AI,让他们去挑选公司。
现在它是开源的。
媒体报道
评估了 740+ 个职位 · 生成了 100+ 份个性化简历 · 斩获了 1 个梦想职位
## 这是什么 Career-Ops([career-ops.org](https://career-ops.org),也称为 **careerops**)可将任何 AI 编码 CLI 转化为全方位的求职指挥中心。无需再在电子表格中手动追踪申请,你将获得一个 AI 驱动的 pipeline,它可以: - **评估 Offer**:采用结构化的 A-F 评分系统(10 个加权维度) - **生成定制 PDF**:针对职位描述 (JD) 优化、定制对 ATS 友好的 CV - **自动扫描门户**(Greenhouse、Ashby、Lever、公司主页) - **批量处理**:使用 sub-agents 并行评估 10+ 个 Offer - **追踪一切**:在具有完整性检查的单一事实来源中进行管理 Career-ops 是 agentic(智能体式)的:无论你选择哪种 AI 编码 CLI,它都会使用 Playwright 浏览职业页面,通过分析你的 CV 与 JD 之间的契合度来评估匹配度(而非简单的关键字匹配),并根据每条招聘信息调整你的简历。 该项目的作者正是使用它评估了 740+ 个 Offer,生成了 100+ 份定制 CV,并最终获得了一份 Applied AI 负责人的工作。[阅读完整的案例分析](https://santifer.io/career-ops-system)。 ## 功能 | 功能 | 描述 | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | | **自动化 Pipeline** | 粘贴 URL,即可获得完整的评估 + PDF + tracker 记录 | | **6 大评估模块** | 职位摘要、CV 匹配度、职级策略、薪资调研、个性化定制、面试准备 (STAR+R) —— 外加一个 Block G 招聘信息合法性检查,用于标记诈骗和虚假招聘 | | **面试故事库** | 在多次评估中积累 STAR+Reflection 故事 —— 5-10 个核心故事足以应对任何行为面试问题 | | **谈判话术** | 薪资谈判框架、异地折扣应对策略、竞争性 Offer 筹码 | | **ATS PDF 生成** | 注入关键字的 CV,采用 Space Grotesk + DM Sans 设计 | | **求职信生成器** | 包含关键字映射且经过调研的求职信,提供四个交互式角度提示(为何申请/问题/方法/语气),聊天内草拟审批关卡,并通过与 CV 相同的 HTML + Playwright pipeline 生成 A4 PDF。每次评估时自动草拟;可通过 `/career-ops cover` 按需补全并生成 | | **门户扫描器** | 预配置了 45+ 家公司(Anthropic、OpenAI、ElevenLabs、Retool、n8n...)+ 跨越 Ashby、Greenhouse、Lever、Wellfound 的自定义查询 | | **批量处理** | 使用无头 CLI 工作进程进行并行评估(`claude -p` / `opencode run`) | | **Dashboard TUI** | 用于浏览、过滤和排序你的 pipeline 的终端 UI | | **Human-in-the-Loop** | AI 负责评估和建议,你来做决定和行动。系统永远不会自动提交申请——决定权始终在你手中 | | **Pipeline 完整性** | 自动合并、去重、状态标准化、健康检查 | ## 快速开始 **最快的方式 —— 只需一条命令:** ``` npx @santifer/career-ops init ``` 这会将最新版本克隆到 `./career-ops` 中并安装依赖。然后: ``` cd career-ops claude # or gemini / codex / qwen / opencode — open your AI CLI here ``` **首次启动时,career-ops 会通过对话引导你完成设置——你的 CV、个人画像和目标职位——完全不需要手动编辑任何内容。**想手动设置?(git clone)
``` git clone https://github.com/santifer/career-ops.git cd career-ops && npm install npx playwright install chromium # only needed for PDF generation # 2. 检查设置 npm run doctor # Validates all prerequisites # 3. 配置 cp config/profile.example.yml config/profile.yml # Edit with your details cp templates/portals.example.yml portals.yml # Customize companies # 4. 添加你的简历 # 在项目根目录下创建 cv.md,并使用 markdown 填写你的简历 # 5. 个性化 claude # Open Claude Code in this directory opencode # Or use OpenCode # 然后要求你的 CLI 让系统适应你: # "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" # 6. 开始使用 # 粘贴一个职位 URL 或运行 /career-ops ```标签:Claude Code, Go语言, MITM代理, 多语言, 批量处理, 日志审计, 求职辅助, 特征检测, 程序破解, 网络调试, 自动化, 自定义脚本
