Skip to main content

招聘冷邮件智能生成工具 - 基于候选人简历文本自动生成 Cold Email

Project description

ColdMsg - 招聘冷邮件智能生成工具

基于候选人简历文本,利用 LLM 自动匹配职位并生成专业的招聘 Cold Email。

功能特性

  • 智能匹配:AI 根据候选人技术背景自动匹配最合适的职位
  • 模板可配:邮件模板各字段均可自定义,支持占位符变量替换
  • 多种使用方式:Python 库 / CLI 命令行 / Web 界面
  • 职位管理:支持 YAML/JSON 导入导出,Web 端增删改查
  • 配置灵活.env + config.yaml + 环境变量三层优先级

安装

pip install cold-msg

快速开始

1. 配置环境变量

cp .env.example .env

编辑 .env 文件,填入 LLM 相关配置:

LLM_MODEL=deepseek-v3.1-terminus
COLDMSG_SENDER_NAME=Michael
COLDMSG_TEAM_NAME=高端招聘团队

2. 准备职位列表

在项目根目录创建 config.yaml

sender_name: Michael
team_name: 高端招聘团队
company_desc: 国际知名大型科技公司
llm_model: deepseek-v3.1-terminus

jobs:
  - job_title: 大模型Agent专家
    qualification: Agent,Agentic技术,博士,5年+经验
    location: 北上深等
  - job_title: 编译器实验室专家
    qualification: 编译器技术精通,MLIR,LLVM,GCC,AI编译等
    location: 北上深杭等

email_template:
  sender_name: Michael
  team_name: 高端招聘团队
  company_desc: 国际知名大型科技公司
  greeting: "您好{FullName},"
  intro: "我来自{TeamName},很冒昧的给您发邮件。"
  body: "我负责{CompanyDesc}招聘,向您推荐\"{JobTitle}\"的职位。"
  location_line: "职位地点: {Location}"
  closing: "如果您有兴趣具体了解的话,可以留个电话或者微信~"
  sign_off: "祝颂商祺"
  signature: "Michael"

使用方式

Python 库

from cold_msg import generate_cold_email

result = generate_cold_email(
    resume_text="张三,10年AI研发经验,精通大模型训练、推理优化..."
)

if result.match_job_title:
    print(f"推荐职位: {result.recommend_title}")
    print(result.email_content)
else:
    print("未匹配到合适职位")

CLI 命令行

# 生成冷邮件
cold-msg generate "张三,10年AI研发经验,精通大模型训练、推理优化..."

# 指定模型和输出文件
cold-msg generate "简历文本" --model deepseek-v3.1-terminus -o result.json

# 输出原始 JSON
cold-msg generate "简历文本" --raw

# 启动 Web 界面
cold-msg web --port 6060

# 查看配置
cold-msg config show

# 管理职位
cold-msg jobs list
cold-msg jobs add --title "高级算法工程师" --qual "NLP, LLM, 3年+" --loc "北京"
cold-msg jobs import --file jobs.yaml
cold-msg jobs export --file jobs.json

# 管理邮件模板
cold-msg template show
cold-msg template set greeting "您好{FullName},您好!"
cold-msg template preview
cold-msg template reset

Web 界面

cold-msg web

浏览器访问 http://127.0.0.1:6060,提供三个页面:

页面 路径 功能
生成邮件 / 粘贴简历文本,一键生成冷邮件
职位管理 /jobs 增删改查职位,支持 YAML 导入导出
模板配置 /config 自定义邮件模板各字段,实时预览

REST API

方法 路径 说明
POST /api/generate 生成冷邮件
GET /api/config 获取当前配置
POST /api/config 保存配置
GET /api/jobs 获取职位列表
POST /api/jobs 更新职位列表
POST /api/jobs/import-yaml YAML 导入职位
GET /api/email-template 获取邮件模板
POST /api/email-template 更新邮件模板
POST /api/email-template/preview 预览模板

生成邮件请求示例:

curl -X POST http://127.0.0.1:6060/api/generate \
  -H "Content-Type: application/json" \
  -d '{"resume_text": "张三,10年AI研发经验,精通大模型训练..."}'

邮件模板占位符

占位符 含义 替换来源
{FullName} 候选人全名 AI 从简历自动识别
{TeamName} 招聘团队名称 配置项 team_name
{CompanyDesc} 公司描述 配置项 company_desc
{JobTitle} 推荐职位名称 AI 根据匹配结果填入
{Location} 职位工作地点 AI 根据匹配职位填入

项目结构

cold_msg/
├── __init__.py             # 包入口
├── cli.py                  # CLI 命令行接口 (typer)
├── core/
│   ├── config.py           # 配置管理 (dataclass + yaml + dotenv)
│   ├── prompt.py           # Prompt 构建
│   ├── llm.py              # LLM 调用 (llmdog)
│   └── generator.py        # 核心生成器
└── web/
    ├── app.py              # Flask Web 应用 + REST API
    └── templates/          # HTML 模板
        ├── index.html
        ├── config.html
        └── jobs.html

配置优先级

从高到低:

  1. 环境变量LLM_MODEL, COLDMSG_SENDER_NAME
  2. .env 文件 — 项目根目录
  3. config.yaml — 项目根目录
  4. 内置默认值

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cold_msg-0.1.2.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cold_msg-0.1.2-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file cold_msg-0.1.2.tar.gz.

File metadata

  • Download URL: cold_msg-0.1.2.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for cold_msg-0.1.2.tar.gz
Algorithm Hash digest
SHA256 15ef5ee4d2a49968c7724d7173904cb7e41857dbd231e680a5861c6bceaf6339
MD5 1aef5d42d2ff21e3db959ce7c9261463
BLAKE2b-256 0315dd48a812c2666a10e59dc9008e952c9ec3b1b9db69ca98c12af6d746db1e

See more details on using hashes here.

File details

Details for the file cold_msg-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: cold_msg-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for cold_msg-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0983eb95094665de7a29b7ec8701cd4728cea8cae910f7cb320fafcacb1ff16a
MD5 f717a032bee9a2b7367618e244fc98f4
BLAKE2b-256 06a7d8b285acdafa0302811b8ba3dcc9bde83ab4f955bc908df461ea0c398d04

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page