Skip to content

leonforcode/CV-assistant-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

CV-Assistant 智能简历管理与求职投递助手

架构与功能设计总结


一、项目概述

CV-Assistant 是一款基于 Playwright 浏览器自动化 + 本地知识库 + 大模型 Agent 技术栈的智能简历管理与求职投递助手。该系统提供从简历解析、定制生成、职位抓取到自动投递的完整求职自动化能力,帮助用户高效管理简历并提升求职成功率。

核心定位:通过 AI 技术实现求职全流程自动化,降低用户时间成本,提升简历与职位的匹配度。


二、核心功能矩阵

功能模块 功能描述 技术实现
简历解析 从 Word/PDF 提取结构化信息 minimax-docx/pdf + 视觉能力
知识库管理 构建和维护 CV 知识库 本地 JSON 文件存储
简历优化 基于 Agent + principles.md 原则智能优化 大模型 Agent 完全处理
简历生成 基于 JD 生成定制简历(保持原排版) 内容整理 + 排版分离
JD 抓取 从多平台抓取职位信息 Playwright 浏览器自动化
智能扩展搜索 根据目标公司和职位智能扩展搜索范围 多平台扩展算法
自动投递 自动化投递流程管理(含反检测机制) 浏览器自动化 + 反检测

三、架构设计理念:内容与排版分离

3.1 核心设计原则(2026-04 架构更新)

CV-Assistant 采用内容与排版分离的创新架构设计:

┌─────────────────────────────────────────────────────────────────────────┐
│                        内容与排版分离架构                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐            │
│   │  内容整理    │ ───▶ │  内容优化    │ ───▶ │  排版输出   │            │
│   │ (Agent/AI)  │      │ (Agent/AI)  │      │(CVFormatter)│            │
│   └─────────────┘      └─────────────┘      └─────────────┘            │
│         │                    │                     │                     │
│         ▼                    ▼                     ▼                     │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐            │
│   │principles.md│      │ principles  │      │ 内联Style  │            │
│   │ 用户原则机制 │      │ 大模型处理  │      │ (原样式保持)│            │
│   └─────────────┘      └─────────────┘      └─────────────┘            │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

3.2 内容处理流程

  1. 内容整理 (Agent/AI)

    • 由大模型根据 principles.md 原则整理信息
    • 结合用户特定原则 (user_principles.py)
  2. 内容优化 (Agent/AI) - 完全由大模型处理

    • 根据 principles.md 原则进行深度优化
    • 不再使用脚本算法,完全依赖 Agent 能力
  3. 排版模块 (cv_formatter.py)

    • 参考微信模板转换器机制
    • 使用内联 style 保证排版一致性
    • 支持保持原简历排版样式
  4. 原简历样式保持

    • 视觉能力分析:上传简历截图,AI 提取布局、字体、配色
    • 文档读取分析:从 PDF/DOCX 提取边距、字号、行距等样式参数

四、系统架构图

4.1 整体架构

flowchart TB
    subgraph User["用户层"]
        UI[用户界面]
    end

    subgraph Core["核心功能层"]
        CVP[CV Parser<br/>简历解析]
        KB[Knowledge Base<br/>知识库]
        CVO[CV Optimizer<br/>简历优化]
        CVG[CV Generator<br/>简历生成]
        JDS[JD Scraper<br/>JD抓取]
        JSE[Job Expander<br/>智能搜索]
        JD[JD Delivery<br/>自动投递]
    end

    subgraph Agent["AI Agent 层"]
        LLM[大模型 Agent]
        PR[Principles Engine<br/>原则引擎]
        UP[User Principles<br/>用户原则管理]
    end

    subgraph Infrastructure["基础设施层"]
        PF[Playwright<br/>浏览器自动化]
        DB[(本地JSON<br/>知识库)]
        VI[Vision Interface<br/>视觉能力]
        FM[CV Formatter<br/>排版输出]
        SD[Stealth Utils<br/>反检测机制]
    end

    subgraph External["外部服务"]
        DOCX[minimax-docx]
        PDF[minimax-pdf]
        BOSS[Boss直聘]
        LP[猎聘]
        LI[LinkedIn]
    end

    UI --> Core
    CVP -->|解析简历| External
    CVP --> VI
    KB <--> DB
    CVG --> LLM
    CVG --> PR
    CVG --> UP
    CVG --> FM
    JDS --> PF
    JSE --> PF
    JD --> PF
    JD --> SD
    PF --> BOSS
    PF --> LP
    PF --> LI
Loading

4.2 简历生成流程

flowchart LR
    subgraph Input["输入"]
        RES[原简历文件]
        JD[职位描述 JD]
        UN[用户名]
    end

    subgraph Process["处理流程"]
        SP[样式解析]
        CG[内容整理]
        CO[内容优化]
        FO[排版输出]
    end

    subgraph Output["输出"]
        PDF[PDF简历]
        DOCX[Word简历]
        HTML[HTML简历]
    end

    RES --> SP
    JD --> CG
    UN --> CG
    SP --> CG
    CG --> CO
    CO --> FO
    FO --> PDF
    FO --> DOCX
    FO --> HTML
Loading

4.3 模块调用关系

flowchart TB
    subgraph CVAssistant["CV-Assistant 主技能"]
        CVG[cv_generator.py<br/>简历生成主模块]
    end

    subgraph ExternalSkills["外部技能"]
        DOCX[minimax-docx<br/>文档读取]
        PDF[minimax-pdf<br/>PDF读取]
    end

    subgraph CoreModules["核心模块"]
        KB[CVKnowledge<br/>知识库]
        UP[UserPrinciples<br/>用户原则]
        FM[CVFormatter<br/>排版输出]
    end

    subgraph AI["AI 能力"]
        LLM[大模型 Agent]
        VI[视觉理解]
    end

    subgraph Browser["浏览器自动化"]
        PF[Playwright]
        ST[Stealth Utils<br/>反检测]
    end

    CVG --> DOCX
    CVG --> PDF
    CVG --> KB
    CVG --> UP
    CVG --> FM
    FM --> VI
    FM --> LLM
    CVG --> PF
    PF --> ST
Loading

五、核心模块详解

5.1 简历解析模块 (CV Parser)

文件: cv_parser.py

功能:

  • 从 Word/PDF 提取结构化信息
  • 优先调用外部技能读取(minimax-docx/minimax-pdf)
  • 备用使用 python-docx、PyMuPDF/pdfplumber
  • 视觉能力分析样式

提取字段:

  • 个人信息(姓名、电话、邮箱、GitHub、LinkedIn)
  • 教育经历(学校、学位、专业、GPA、荣誉)
  • 工作经历(公司、职位、时间、描述、技术栈、成就)
  • 项目经历(名称、角色、描述、技术栈、亮点)
  • 技能标签、证书认证、荣誉奖项

5.2 知识库模块 (Knowledge Base)

文件: cv_knowledge.py

存储方式: 本地 JSON 文件 (~/.cv-assistant/knowledge/)

功能:

  • 维护用户简历信息的结构化存储
  • 支持增删改查操作
  • 版本管理历史记录

5.3 简历生成模块 (CV Generator)

文件: cv_generator.py

核心功能:

  • 协调各模块完成简历生成
  • 缺口检测:分析 JD 与知识库的技能差距
  • 智能问答:引导用户补充缺失信息

Gap Detection 配置:

{
    "severity_thresholds": {
        "high": 0.8,
        "medium": 0.5,
        "low": 0.0
    },
    "auto_prompt": true,
    "max_questions_per_session": 5
}

5.4 排版输出模块 (CV Formatter)

文件: cv_formatter.py

设计原则:

  • 模块化:每个简历模块独立处理
  • 内联 Style:所有样式使用内联 style 属性
  • 可配置:支持自定义排版参数
  • 保持原样式:优先保持原简历的排版风格

默认配置:

  • 页面:A4 (210mm × 297mm)
  • 边距:20mm
  • 字体:Microsoft YaHei / PingFang SC
  • 行高:1.6

5.5 用户原则管理 (User Principles)

文件: user_principles.py

功能:

  • 按姓名识别用户,分别管理原则配置
  • 自动保存用户的特殊优化要求
  • 支持个性化定制

存储结构:

~/.cv-assistant/user_principles/
  ├── zhangsan_principles.json
  ├── zhangsan_profile.json
  ├── lisi_principles.json
  └── default_principles.json

5.6 JD 抓取模块 (JD Scraper)

文件: jd_scraper.py

支持的平台:

平台 代码 说明
Boss直聘 boss 国内主流招聘平台
猎聘 liepin 高端人才招聘
LinkedIn linkedin 需海外网络
前程无忧 51job 综合招聘平台
智联招聘 zhaopin 综合招聘平台

技术实现: Playwright 浏览器自动化

5.7 反检测机制 (Stealth Utils)

文件: stealth_utils.py

核心功能:

  • HumanMouseSimulator: 模拟人类鼠标移动(Bezier 曲线、可变速度、自然轨迹)
  • RateLimiter: 控制操作频率,避免检测
  • CaptchaDetector: 检测和处理各种验证码类型

反检测策略:

  • 随机化请求间隔(5-15秒)
  • 模拟真人操作轨迹
  • 自动更换 User-Agent
  • 失败自动重试(最多3次)

六、简历优化原则体系

6.1 PART 原则(推荐方法)

相比传统的 STAR 原则,CV-Assistant 采用更先进的 PART 原则:

要素 说明
Problem(问题) 先描述遇到的具体问题
Approach(方法) 解释采取的策略和方法
Result(结果) 展示取得的成果(数据化)
Take away(收获) 强调学到的经验和应用

6.2 核心优化原则

  1. 数据化成果 - 用数字体现价值
  2. 匹配岗位关键词 - 对照 JD 要求修改表述
  3. 突出核心经历 - 最相关的放最前面
  4. 拒绝口语化 - 使用动词开头
  5. 去掉无关经历 - 保证岗位垂直导向
  6. 格式统一清爽 - 字体、间距规整

6.3 排版规范

  • 排版设计越简单越好
  • 简历篇幅不超过一页
  • 层级清晰,模块之间有明显分界线
  • 学校名称、职位名称必须加粗显示

七、数据存储架构

flowchart TB
    subgraph LocalStorage["本地存储 (~/.cv-assistant)"]
        KB[knowledge/<br/>知识库]
        UP[uploads/<br/>上传文件]
        GD[generated/<br/>生成简历]
        CD[cache/<br/>缓存]
        BD[browser_data/<br/>浏览器数据]
        LG[logs/<br/>日志]
        UG[user_principles/<br/>用户原则]
    end

    subgraph Config["配置文件"]
        CFG[config.json]
        SET[settings.json]
        CRT[credentials.enc<br/>加密凭证]
    end
Loading

数据目录结构:

~/.cv-assistant/
├── knowledge/           # 知识库数据
│   ├── cv_master.json   # 主简历数据
│   └── versions/        # 版本历史
├── uploads/             # 上传文件
├── generated/           # 生成的简历
├── cache/               # 缓存文件
│   └── jd_cache/        # JD 缓存
├── browser_data/        # 浏览器数据
├── user_principles/     # 用户原则
├── logs/                # 日志文件
├── settings.json        # 设置
└── credentials.enc     # 加密凭证

八、技术亮点与竞争优势

8.1 技术亮点

  1. 内容与排版分离架构

    • 业界创新的设计理念
    • 大模型负责内容优化,排版模块负责样式保持
    • 确保生成的简历既专业又保持原有风格
  2. AI 驱动的简历优化

    • 完全基于大模型 Agent 处理
    • 融合专业简历优化原则(PART 原则)
    • 支持个性化用户原则定制
  3. 强大的反检测机制

    • 模拟人类操作行为
    • 多种验证码识别与处理
    • 提高自动投递成功率
  4. 多平台职位抓取

    • 支持国内主流招聘平台
    • 统一的抓取接口设计
    • 智能扩展搜索能力

8.2 竞争优势

维度 CV-Assistant 竞品
简历生成 AI 定制 + 原排版保持 模板填充
优化方式 Agent 完全处理 规则匹配
投递自动化 完整流程 + 反检测 单一投递
数据存储 本地隐私保护 云端存储
扩展性 模块化设计 固定功能

九、应用场景

  1. 求职者 - 一站式完成简历优化、职位搜索、自动投递
  2. HR 从业者 - 批量处理候选人简历
  3. 职业教练 - 辅助客户进行简历优化
  4. 猎头 - 高效筛选和投递候选人简历

十、总结

CV-Assistant 通过创新的内容与排版分离架构,结合大模型 Agent 智能优化Playwright 浏览器自动化技术,为用户提供了一个高效、隐私保护的智能求职助手。其核心价值在于:

  • ✅ 一站式求职流程自动化
  • ✅ AI 驱动的简历定制优化
  • ✅ 多平台职位智能抓取
  • ✅ 强大的反检测投递机制
  • ✅ 本地化数据隐私保护
  • ✅ 模块化架构易于扩展

文档生成时间: 2026-04-12 项目版本: CV-Assistant v2026-04

About

一款基于 Playwright 浏览器自动化 + 本地知识库 + 大模型 Agent 技术栈的智能简历管理与求职投递助手。该系统提供从简历解析、定制生成、职位抓取到自动投递的完整求职自动化能力,帮助用户高效管理简历并提升求职成功率

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors