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)

Career-Ops Multi-Agent Job Search System

我曾花了好几个月时间用最艰难的方式找工作。所以我打造了这个我曾梦寐以求的系统。
公司使用 AI 来筛选候选人。而我只是给候选人提供了 AI,让他们去挑选公司。
现在它是开源的。

Claude Code OpenCode Ready OpenCode Gemini CLI Codex Node.js Go Playwright MIT Trademark Policy Discord
EN ES DE FR PT-BR KO JA ZH-CN ZH-TW

santifer%2Fcareer-ops | Trendshift

Career-Ops on Claude | Product Hunt

媒体报道

WIRED       Business Insider

Career-Ops Demo

评估了 740+ 个职位 · 生成了 100+ 份个性化简历 · 斩获了 1 个梦想职位

Live star telemetry of santifer/career-ops

Discord

Latest release

Built with
Claude Code OpenCode Gemini CLI Codex Qwen GitHub Copilot
Node.js Go Playwright Bubble Tea MIT Trademark Policy

## 这是什么 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 ```
请查阅 [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 ``` ## 技术栈 ![Claude Code](https://img.shields.io/badge/Claude_Code-000?style=flat&logo=anthropic&logoColor=white) ![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat&logo=node.js&logoColor=white) ![Playwright](https://img.shields.io/badge/Playwright-2EAD33?style=flat&logo=playwright&logoColor=white) ![Go](https://img.shields.io/badge/Go-00ADD8?style=flat&logo=go&logoColor=white) ![Bubble Tea](https://img.shields.io/badge/Bubble_Tea-FF75B5?style=flat&logo=go&logoColor=white) - **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) 管辖,允许社区 使用,但对商业产品命名和 背书保留权利。 ## 保持联系 [![Website](https://img.shields.io/badge/santifer.io-000?style=for-the-badge&logo=safari&logoColor=white)](https://santifer.io) [![LinkedIn](https://img.shields.io/badge/LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://linkedin.com/in/santifer) [![X](https://img.shields.io/badge/X-000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/santifer) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/8pRpHETxa4) [![Email](https://img.shields.io/badge/Email-EA4335?style=for-the-badge&logo=gmail&logoColor=white)](mailto:hi@santifer.io)
标签:Claude Code, Go语言, MITM代理, 多语言, 批量处理, 日志审计, 求职辅助, 特征检测, 程序破解, 网络调试, 自动化, 自定义脚本