# career-ops

> 来源：[GitHub](https://github.com/santifer/career-ops) · ⭐ 19702 stars

## 项目简介

在当今竞争激烈的就业市场中，求职者常常面临海量信息筛选、简历与职位匹配度低、投递效率不高等痛点。传统的求职平台虽然提供了岗位聚合，但在个性化、智能化的深度分析和效率提升上仍有不足。正是在这样的背景下，**career-ops** 应运而生。它是一个基于 Claude Code 构建的 AI 驱动的求职搜索系统，旨在利用人工智能技术彻底革新求职流程。

该项目并非简单的信息聚合器，而是一个集成了智能分析、批量处理和个性化报告生成的“求职作战指挥中心”。其核心价值在于，它将求职从一个被动搜索的过程，转变为一个由数据驱动、AI 辅助决策的主动操作流程。通过深度分析职位描述（JD），并结合用户预设的技能档案，系统能够精准评估匹配度、生成定制化简历和求职信，极大提升了求职的针对性和成功率。高达 19702 的 GitHub Star 数，也印证了开发者社区对其理念和实用性的高度认可。

## 核心特性

*   **14 种智能技能模式分析**：系统内建了 14 种针对不同技术栈或角色的分析模式（如前端开发、后端开发、数据科学、DevOps 等）。每种模式都包含一套预定义的技能关键词和评估逻辑，能够快速、结构化地解析职位要求，并与求职者技能进行对标。
*   **Go 语言编写的可视化仪表盘**：项目提供了一个由 Go 语言构建的本地 Web 仪表盘。这个设计选择确保了仪表盘的高性能和轻量级，能够快速启动并流畅地展示分析结果、匹配分数和操作建议，为用户提供清晰直观的交互界面。
*   **一键生成个性化 PDF 报告**：分析完成后，系统可以一键生成包含匹配度详情、技能差距分析、以及根据该 JD 优化的简历/求职信建议的 PDF 报告。这为求职者准备每一份申请提供了强有力的、定制化的文档支持。
*   **高效的批量处理能力**：支持一次性导入多个职位描述进行批量分析。用户可以快速筛选出匹配度最高的机会，优先投入精力，避免了手动逐个分析的低效劳动，特别适合海投或同时关注多个机会的求职者。
*   **深度集成 Claude AI**：项目的“智能大脑”深度依赖于 Anthropic 的 Claude 模型（通过 Claude Code）。它不仅用于基础的文本解析，更承担了理解上下文、进行语义匹配、生成人类可读的分析和建议等复杂任务，是系统高准确度和实用性的基石。

## 技术��现

career-ops 的技术架构体现了清晰的关注点分离和现代全栈开发思想。整体上，它是一个**本地优先**的桌面端应用，主要技术栈为 JavaScript/Node.js，并巧妙地结合了 Go 来提升关键模块的性能。

1.  **前后端分离的本地架构**：
    *   **后端/核心引擎 (Node.js)**：这是系统的主干，负责所有核心业务逻辑。它处理命令行交互，调用 Claude AI API 进行职位描述的智能解析与匹配计算，并管理整个分析流程。Node.js 的非阻塞 I/O 模型非常适合处理这类涉及网络请求（API 调用）和文件操作（处理 JD 文本、生成 PDF）的密集型任务。
    *   **前端仪表盘 (Go)**：这是一个独立的、用 Go 编写的 HTTP 服务器。它提供 Web 界面，并通过 API 与 Node.js 后端通信。使用 Go 实现仪表盘服务是一个亮点，Go 的编译特性和高效的并发模型（goroutine）使得这个本地 Web 服务启动极快、资源占用极低，且响应敏捷，完美胜任数据展示的任务。

2.  **AI 集成与提示工程**：项目的核心竞争力在于其对 Claude API 的深度运用。它并非简单地将 JD 文本抛给 AI，而是构建了一套精心设计的**提示��模板**。这些模板将 JD、用户技能配置以及具体的“技能模式”结合起来，引导 Claude 进行结构化、标准化的分析。例如，它会要求 AI 以特定 JSON 格式输出匹配结果，方便程序后续处理。这种设计将 AI 的“模糊智能”转化为了稳定、可程序化消费的“确定输出”。

3.  **模块化与配置驱动**：14 种技能模式以配置文件的形式存在，使得扩展新的职业领域变得非常容易。PDF 生成模块（很可能使用如 `pdfkit` 这样的库）也独立于核心分析逻辑，确保了系统的可维护性。

## 快速上手

使用 career-ops 需要预先准备 Anthropic 的 API Key。以下是基本的命令行使用步骤：

1.  **克隆项目并安装依赖**：
    ```bash
    git clone https://github.com/santifer/career-ops.git
    cd career-ops
    npm install
    ```

2.  **配置 API 密钥**：
    在项目根目录创建或编辑 `.env` 文件，填入你的 Claude API Key。
    ```bash
    ANTHROPIC_API_KEY=your_api_key_here
    ```

3.  **准备你的技能配置文件**：
    在 `config/` 目录下复制示例配置文件，并编辑 `skills.json`，填入你的个人技能信息。
    ```json
    {
      "languages": ["JavaScript", "Python"],
      "frameworks": ["React", "Node.js"],
      "tools": ["Git", "Docker"],
      "experience": "5 years of full-stack development"
    }
    ```

4.  **启动仪表盘并进行分析**：
    *   在一个终端启动 Go 仪表盘（通常有提供脚本，如 `go run dashboard/main.go`）。
    *   在另一个终端，使用 CLI 分析一份职位描述。假设 JD 文本保存在 `jd.txt` 中。
    ```bash
    # 使用“全栈开发”模式分析单个 JD
    node cli.js analyze --mode fullstack --input jd.txt

    # 批量分析一个目录下的所有 JD 文件
    node cli.js batch --mode backend ./jds-directory/
    ```
    分析完成后，结果会在仪表盘界面可视化展示，并可以生成 PDF 报告。

## 应用场景

**场景一：技术转行者的定向突破**
一名传统行业的开发者想转向人工智能领域。他可以使用 career-ops 的“数据科学”或“机器学习”模式，批量分析上百个 AI 相关岗位。系统不仅能快速告诉他哪些岗位与现有技能（如 Python、数据分析）有交集，更能清晰列出普遍要求的、但他尚不具备的技能（如 TensorFlow, MLOps），为他规划学习路径提供精准的“差距分析报告”。

**场景二：资深工程师的高效求职**
一位拥有丰富经验的资深全栈工程师，对下一份工作的技术栈、团队文化有明确要求。他可以将自己的深度技能和偏好详细配置到 `skills.json` 中，然后使用批量处理功能筛选市面上的机会。系统能帮他过滤掉大量不匹配的初级岗位或技术栈陈旧的职位，快速锁定那 10% 真正优质、匹配的目标，并针对每一个生成强调其资深经验的定制化申请材料建议。

**场景三：求职辅导与职业规划**
职业教练或导师可以利用 career-ops 作为辅助工具。为学员建立技能档案后，通过分析当前市场热门职位的 JD，可以客观地评估学员的市场竞争力，并用生成的 PDF 报告作为讨论基础，制定个性化的技能提升计划和求职策略，使辅导过程更加数据化和可视化。

## 总结

career-ops 是一个极具前瞻性和实用性的开源项目，它成功地将生成式 AI 的能力落地到求职这一具体的高频痛点场景中。其价值不仅在于自动化，更在于通过结构化的分析框架和批量处理能力，赋予求职者前所未有的“信息主动权”和“决策支持”。它非常适合有一定技术背景、正在积极寻找技术类职位的开发者，尤其是那些希望提升求职策略、追求高质量匹配而非盲目海投的求职者。项目的模块化设计也使其成为开发者学习如何将大���言���型（LLM）深度集成到实际应用中的优秀范例。