Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Resume Editor

БесплатноНе проверен

MCP server for AI-native resume optimization, providing tools to load JD, analyze match, rewrite sections, and assemble customized resumes.

GitHubEmbed

Описание

MCP server for AI-native resume optimization, providing tools to load JD, analyze match, rewrite sections, and assemble customized resumes.

README

面向「一岗一简历」与高频海投要求简历快速复用的现实矛盾,独立构思并设计实现的 AI Agent 工程项目。

已在 Claude + DeepSeek + VSCode(Cline)集成环境下完整测试通过。


项目背景

求职时存在一个核心矛盾:每个岗位的 JD 侧重不同,高度定制化的简历才能提高命中率,但海投场景下手动逐条调整耗时且难以复用。

本项目通过 MCP 协议将简历改写流程工具化,构建可跨 JD 场景稳定复用的 AI Agent 系统,并配套工业级自动化评测脚手架(Promptfoo + LangSmith),确保大模型输出质量可控、可审计、可回归。


系统架构

用户输入 JD
    │
    ▼
┌─────────────────────────────────────────┐
│           网页前端(UI 入口)              │
└──────────────────┬──────────────────────┘
                   │
                   ▼
┌─────────────────────────────────────────┐
│         MCP Server(server.py)          │
│                                         │
│  Resources                              │
│  ├── resume://full        完整经历库     │
│  └── resume://current_jd  当前目标JD    │
│                                         │
│  Tools                                  │
│  ├── load_jd              加载并持久化JD │
│  ├── analyze_jd_match     匹配度分析     │
│  ├── rewrite_section      分段改写       │
│  ├── assemble_resume      组装完整简历   │
│  └── save_resume_draft    保存草稿       │
└──────────────────┬──────────────────────┘
                   │
        ┌──────────┴──────────┐
        ▼                     ▼
   Claude API            DeepSeek API
  (工具调用决策)        (内容生成)
        │                     │
        └──────────┬──────────┘
                   ▼
┌─────────────────────────────────────────┐
│         LLM Eval Harness                │
│  Promptfoo 5×3 矩阵评测                 │
│  LangSmith 全链路 Trace                 │
└─────────────────────────────────────────┘

核心功能

1. 标准化上下文接入(MCP Resource)

通过 resume://fullresume://current_jd 两个 Resource,将简历素材库与目标 JD 自动挂载到模型上下文,无需每次手动粘贴,实现跨会话的上下文稳定注入。

2. 模块化改写工作流(Skill)

将非结构化的简历改写经验蒸馏为四步标准流程:

load_jd → analyze_jd_match → rewrite_section → assemble_resume

每段经历按核心匹配 / 次要匹配 / 补充匹配三类分级改写,遵循「JD 需求点 → 我做了什么 → 结果/价值」结构公式,严格不虚构内容。

3. Claude + DeepSeek 多模型协作

模型 职责
Claude MCP 工具调用决策、质量把控
DeepSeek 中文内容生成(降低成本)

通过 Prompt Engineering 强约束格式输出,拦截模型幻觉,消除模型在改写结果中夹带前言与客套话的问题;将非结构化改写经验蒸馏为可调用 Skill,具备从需求抽象到工程交付的完整 AI Native 研发视野。

4. LLM Eval Harness(评测)

Promptfoo 5×3 正交矩阵评测数据集

针对大模型面对不同行业和不同简历背景梯度下的适配问题,构建覆盖:

  • 5 类行业岗位:理工 / 工程 / 农业 / 医疗 / 法律
  • 3 种简历梯度:优秀 / 中等 / 劣势背景

15 个正交测试场景

断言从简单到复合的演进

初版使用 icontains 简单关键词断言,在 promptfoo view 评测看板中发现假阴性问题——模型输出整体质量合格,但因某个特定词缺失即判 FAIL。

根因分析:硬字符串匹配思维在面对生成式 AI 时容易失效——生成式模型的输出本身就存在合理的语义多样性,用固定词强卡必然误杀。

因此将断言重构为基于多同义词模糊正则匹配与 JavaScript 的函数式断言,通过逻辑组合(|| / &&)和关键语义多路覆盖降低误判率:

// 重构后:兼顾格式约束与语义容错的复合断言
function({ output }) {
  const lines = output.split('\n').filter(l => l.trim());
  // 多路语义覆盖:出现任意同义词均视为通过
  const hasContent = /育种|选育|品种/.test(output) ||
                     /实验|试验|测试/.test(output);
  // 格式约束:行数不超过上限
  return lines.length <= 6 && hasContent;
}

LangSmith 全链路白盒 Trace

通过 wrap_openai 为 DeepSeek SDK 挂载自动追踪探针,在云端看板实现:

  • 双层嵌套运行树:Tool 级调用(父层)+ LLM 响应(子层)
  • **精准追踪 Prompt 拼接、Token 消耗、响应延迟、模型成本

工程目录

agent-resume/
├── server.py                          # MCP Server 核心(Resources + Tools)
├── requirements.txt                   # Python 依赖
├── .gitignore
├── agent-sessions.code-workspace      # VSCode 工作区配置
├── .claude/
│   └── agents/
│       └── resume_editor.agent.md    # Agent 系统级行为规范与四步流程
├── data/
│   ├── resume.md                     # 完整经历素材库(自行填写)
│   └── current_jd.txt                # 当前目标 JD(load_jd 工具自动写入)
├── output/
│   └── *.md                          # 各岗位定制化简历草稿
└── tests/
    ├── promptfoo/                     # 5×3 矩阵评测配置 + JS 函数式断言
    └── langsmith/                     # LangSmith 白盒追踪驱动脚本

快速开始

环境准备

# 克隆项目
git clone https://github.com/your-username/resume-adjuster.git
cd resume-adjuster

# 创建虚拟环境
python -m venv venv
source venv/bin/activate        # Windows: venv\Scripts\activate

# 安装 Python 依赖
pip install mcp openai langsmith

# 安装 Promptfoo
npm install -g promptfoo

配置 API Keys

请在工程中填入自己对应的Keys。

DeepSeek官方API接口链接:https://api-docs.deepseek.com/zh-cn/

# .env
ANTHROPIC_API_KEY=your_anthropic_key     # Claude
DEEPSEEK_API_KEY=your_deepseek_key       # DeepSeek
LANGSMITH_API_KEY=your_langsmith_key     # LangSmith
LANGSMITH_PROJECT=resume_adjuster
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com

填写简历素材库

data/resume.md 中填入你的完整经历,素材越结构化,改写质量越高。 resume.md文件中已给出示例。


### 在 VSCode + Cline 中启动

1. 启动 MCP Server:

```bash
python server.py
  1. 在 Cline 的 MCP 配置中注册(.vscode/cline_mcp_config.json):
{
  "mcpServers": {
    "resume-adjuster": {
      "command": "python",
      "args": ["/你的绝对路径/server.py"]
    }
  }
}
  1. 重载 Cline,在对话中粘贴 JD,Agent 自动走完四步流程。

运行评测

# Promptfoo 5×3 矩阵评测(--no-cache 避免旧缓存污染结果)
npx promptfoo eval -c tests/promptfooconfig.yaml --no-cache

# 查看评测看板
npx promptfoo view

# LangSmith 白盒追踪
python tests/langsmith/run_langsmith_eval.py

技术栈

类别 技术
AI 协议 MCP(Model Context Protocol)
模型 Claude(Anthropic)/ DeepSeek
客户端 Cline + VSCode
评测框架 Promptfoo
链路追踪 LangSmith
后端 Python / asyncio
文档生成 docx.js

📄 License

MIT

from github.com/gaowenting0303/agent-resume

Установка Resume Editor

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/gaowenting0303/agent-resume

FAQ

Resume Editor MCP бесплатный?

Да, Resume Editor MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Resume Editor?

Нет, Resume Editor работает без API-ключей и переменных окружения.

Resume Editor — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Resume Editor в Claude Desktop, Claude Code или Cursor?

Открой Resume Editor на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Resume Editor with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai