AI Skill Hub 强烈推荐:智能求职助手 是一款优质的AI工具。在 GitHub 上收获超过 44.3k 颗 Star,AI 综合评分 8.2 分,在同类工具中表现稳健。如果你正在寻找可靠的AI工具解决方案,这是一个值得深入了解的选择。
基于Claude AI的开源求职系统,整合14种技能模式和Go语言仪表板,自动化处理职位搜索、简历优化、面试准备等环节。适合求职者、HR和职业发展从业者提升求职效率。
智能求职助手 是一款基于 JavaScript 开发的开源工具,专注于 AI智能体、工作流自动化、求职系统 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
基于Claude AI的开源求职系统,整合14种技能模式和Go语言仪表板,自动化处理职位搜索、简历优化、面试准备等环节。适合求职者、HR和职业发展从业者提升求职效率。
智能求职助手 是一款基于 JavaScript 开发的开源工具,专注于 AI智能体、工作流自动化、求职系统 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:npm 全局安装 npm install -g career-ops # 方式二:npx 直接运行(无需安装) npx career-ops --help # 方式三:项目依赖安装 npm install career-ops # 方式四:从源码运行 git clone https://github.com/santifer/career-ops cd career-ops npm install npm start
# 命令行使用
career-ops --help
# 基本用法
career-ops [options] <input>
# Node.js 代码中使用
const career_ops = require('career-ops');
const result = await career_ops.run(options);
console.log(result);
# career-ops 配置说明 # 查看配置选项 career-ops --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export CAREER_OPS_CONFIG="/path/to/config.yml"
English | Español | Português (Brasil) | 한국어 | 日本語 | Українська | Русский | 繁體中文
<p align="center"> <a href="https://x.com/santifer"><img src="docs/hero-banner.jpg" alt="Career-Ops — Multi-Agent Job Search System" width="800"></a> </p>
<p align="center"> <em>I spent months applying to jobs the hard way. So I engineered the system I wish I had.</em><br> Companies use AI to filter candidates. <strong>I just gave candidates AI to <em>choose</em> companies.</strong><br> <em>Now it's open source.</em> </p>
<p align="center"> <img src="https://img.shields.io/badge/Claude_Code-000?style=flat&logo=anthropic&logoColor=white" alt="Claude Code"> <img src="https://img.shields.io/badge/OpenCode-111827?style=flat&logo=terminal&logoColor=white" alt="OpenCode"> <img src="https://img.shields.io/badge/Gemini_CLI-4285F4?style=flat&logo=google&logoColor=white" alt="Gemini CLI"> <img src="https://img.shields.io/badge/Codex_(soon)-6B7280?style=flat&logo=openai&logoColor=white" alt="Codex"> <img src="https://img.shields.io/badge/Node.js-339933?style=flat&logo=node.js&logoColor=white" alt="Node.js"> <img src="https://img.shields.io/badge/Go-00ADD8?style=flat&logo=go&logoColor=white" alt="Go"> <img src="https://img.shields.io/badge/Playwright-2EAD33?style=flat&logo=playwright&logoColor=white" alt="Playwright"> <img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT"> <a href="TRADEMARK.md"><img src="https://img.shields.io/badge/Trademark-Policy-blue.svg" alt="Trademark Policy"></a> <a href="https://discord.gg/8pRpHETxa4"><img src="https://img.shields.io/badge/Discord-5865F2?style=flat&logo=discord&logoColor=white" alt="Discord"></a> <br> <img src="https://img.shields.io/badge/EN-blue?style=flat" alt="EN"> <img src="https://img.shields.io/badge/ES-red?style=flat" alt="ES"> <img src="https://img.shields.io/badge/DE-grey?style=flat" alt="DE"> <img src="https://img.shields.io/badge/FR-blue?style=flat" alt="FR"> <img src="https://img.shields.io/badge/PT--BR-green?style=flat" alt="PT-BR"> <img src="https://img.shields.io/badge/KO-white?style=flat" alt="KO"> <img src="https://img.shields.io/badge/JA-red?style=flat" alt="JA"> <img src="https://img.shields.io/badge/ZH--CN-red?style=flat" alt="ZH-CN"> <img src="https://img.shields.io/badge/ZH--TW-blue?style=flat" alt="ZH-TW"> </p>
---
<p align="center"> <img src="docs/demo.gif" alt="Career-Ops Demo" width="800"> </p>
<p align="center"><strong>740+ job listings evaluated · 100+ personalized CVs · 1 dream role landed</strong></p>
<p align="center"><a href="https://discord.gg/8pRpHETxa4"><img src="https://img.shields.io/badge/Join_the_community-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a></p>
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" ```
Free tier: Both options work without billing. Native CLI uses Google OAuth; the API script uses gemini-2.5-flash (15 RPM, 1M tokens/day free).
I'm Santiago -- Head of Applied AI, former founder (built and sold a business that still runs with my name on it). I built career-ops to manage my own job search. It worked: I used it to land my current role.
My portfolio and other open source projects → santifer.io
| Feature | Description |
|---|---|
| **Auto-Pipeline** | Paste a URL, get a full evaluation + PDF + tracker entry |
| **6-Block Evaluation** | Role summary, CV match, level strategy, comp research, personalization, interview prep (STAR+R) |
| **Interview Story Bank** | Accumulates STAR+Reflection stories across evaluations -- 5-10 master stories that answer any behavioral question |
| **Negotiation Scripts** | Salary negotiation frameworks, geographic discount pushback, competing offer leverage |
| **ATS PDF Generation** | Keyword-injected CVs with Space Grotesk + DM Sans design |
| **Portal Scanner** | 45+ companies pre-configured (Anthropic, OpenAI, ElevenLabs, Retool, n8n...) + custom queries across Ashby, Greenhouse, Lever, Wellfound |
| **Batch Processing** | Parallel evaluation with claude -p workers |
| **Dashboard TUI** | Terminal UI to browse, filter, and sort your pipeline |
| **Human-in-the-Loop** | AI evaluates and recommends, you decide and act. The system never submits an application -- you always have the final call |
| **Pipeline Integrity** | Automated merge, dedup, status normalization, health checks |
npm install
git clone https://github.com/santifer/career-ops.git cd career-ops && npm install npx playwright install chromium # Required for PDF generation
npm run doctor # Validates all prerequisites
npm install -g @google/gemini-cli
```bash
```bash
Career-ops is a single slash command with multiple modes:
/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 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
Or just paste a job URL or description directly -- career-ops auto-detects it and runs the full pipeline.
cp config/profile.example.yml config/profile.yml # Edit with your details cp templates/portals.example.yml portals.yml # Customize companies
```bash
The scanner comes with 45+ companies ready to scan and 19 search queries across major job boards. Copy templates/portals.example.yml to portals.yml and add your own:
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
Job boards searched: Ashby, Greenhouse, Lever, Wellfound, Workable, RemoteFront
By default node scan.mjs (a.k.a. npm run scan) trusts what each ATS feed returns. Some companies leave stale postings in their public API even after the role is closed, so those expired entries can leak into pipeline.md. Pass --verify to launch Playwright after the API pass and drop expired postings before they hit the pipeline:
node scan.mjs --verify # zero-token discovery + Playwright liveness check
The verification is sequential and only runs against new offers (after dedup), so the cost stays bounded.
Career-ops supports Gemini CLI natively — the same way it supports Claude Code and OpenCode. All 15 slash commands are available, using the same modes/*.md evaluation logic.
cp .env.example .env
Career-Ops 是一个基于 Multi-Agent(多智能体)架构的智能求职系统。该项目由资深 AI 专家 Santiago 开发,旨在通过自动化流程辅助求职者进行职位评估、简历优化及面试准备。它不仅能自动分析职位描述(JD),还能生成针对性的面试策略,帮助开发者在激烈的求职竞争中脱颖而出,实现高效、智能的职业转型。
Career-Ops 提供了一套完整的自动化求职流水线。其核心功能包括:Auto-Pipeline 模式,只需粘贴职位 URL 即可自动完成职位评估、生成 PDF 报告并同步至追踪器;6-Block Evaluation 深度评估模块,涵盖职位总结、简历匹配度分析、职级策略、薪资调研、个性化内容生成以及基于 STAR+R 模型的面试准备,确保求职过程全方位覆盖。
在使用 Career-Ops 之前,请确保您的开发环境已安装 Node.js 及 npm。此外,由于系统涉及 PDF 生成功能,需要通过 npx playwright 安装 chromium 浏览器内核。建议在运行前通过 npm run doctor 命令进行环境自检,以确保所有前置依赖项均已正确配置。
首先,通过 git clone 克隆项目仓库并进入目录,执行 npm install 安装依赖,随后运行 npx playwright install chromium 以支持 PDF 生成。安装完成后,请务必运行 npm run doctor 进行环境校验。若需使用 Gemini CLI 功能,请通过 npm install -g @google/gemini-cli 进行全局安装。
Career-ops 通过单斜杠命令进行交互,支持多种模式。使用 `/career-ops` 可查看所有可用命令;输入 `/career-ops {JD内容}` 可启动全自动流水线(评估+PDF+追踪器);`/career-ops scan` 用于扫描门户网站新职位;`/career-ops pdf` 用于生成针对 ATS 优化的简历;`/career-ops batch` 支持批量评估职位;`/career-ops tracker` 查看申请状态;`/career-ops apply` 则用于辅助填写申请表。
项目配置分为个人资料与模板两部分。首先需将 config/profile.example.yml 复制为 config/profile.yml 并编辑个人信息;同时将 templates/portals.example.yml 复制为 portals.yml 以自定义目标公司。对于 API 密钥配置,请将 .env.example 复制为 .env,并在其中设置 GEMINI_API_KEY。系统支持通过 Native Gemini CLI 进行集成,逻辑由 modes/*.md 驱动。
Career-ops 原生支持 Gemini CLI 集成,其交互体验与 Claude Code 及 OpenCode 一致。系统内置了 15 种斜杠命令模式,所有评估逻辑均通过 modes/*.md 模块化实现。开发者可以通过配置 Google AI Studio 获取的 API Key 来驱动核心的 Gemini 模型能力,实现高效的文本分析与逻辑推理。
创新的AI求职助手,集成多模态功能和可视化仪表板。高星数体现社区认可,Claude驱动保证质量。适合规模化应用。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,智能求职助手 是一款质量优秀的AI工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | career-ops |
| 原始描述 | 开源AI工作流:AI-powered job search system built on Claude Code. 14 skill modes, Go dashboard,。⭐44.3k · JavaScript |
| Topics | AI智能体工作流自动化求职系统Claude职业发展 |
| GitHub | https://github.com/santifer/career-ops |
| License | MIT |
| 语言 | JavaScript |
收录时间:2026-05-13 · 更新时间:2026-05-16 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。