招聘简历邮箱自动巡检(通用版)
概览
将"邮箱多渠道检索 → 本地归档巡检 → 即时证据化筛选 → 防重复入池 → 回邮箱分发 A/B 类给用人部门主管"封装为可复用闭环。适用于各大招聘平台(如智联招聘、猎聘、前程无忧等)投递 + 应聘者个人邮箱直发(gmail/163/outlook 等)混合场景。所有私有数据(邮箱别名、归档根目录、岗位体系、筛选标准、审阅收件人)均参数化,不写死。
参数(运行前确认)
| 参数 | 说明 | 必填 |
| EMAIL_ALIAS | 已连接的邮箱连接器 alias_id(如 QQ邮箱 alias_xxx),既用于收件检索也用于回发 | 必填 |
| RES_ROOT | 简历归档根目录(绝对路径),下含 岗位1..N 子目录与 待面试/ | 必填 |
| JOB_ROLES | 岗位体系:名称 + 关键词映射(见 references/templates.md 模板) | 必填 |
| SCREENING_STANDARD | 筛选标准文档路径(含学历门槛、各岗硬性条件、评分维度、加分项) | 必填 |
| REVIEW_RECIPIENTS | A/B 类简历分发目标:岗位→主管邮箱映射 JSON,或单一审阅邮箱(HR 汇集后转发) | 必填 |
| SEND_SCORECARD | 回邮箱时是否附打分表,默认 true;false 仅附面试重点问题 | 可选 |
| PLATFORM_SENDER | 招聘平台投递通知发件域,默认 cv@notice.example.com(请按实际平台替换,如某平台为 cv@notice.platform.com) | 可选 |
| DAYS | 检索近 N 天,默认 7 | 可选 |
工作流
0) 准备:读取 SCREENING_STANDARD 与 RES_ROOT 下既有筛选卡,沿用已有评级,只对本次新简历评分。
1) 邮箱三渠道检索(近 DAYS 天、带附件、按 message_id 去重):
- A) from=PLATFORM_SENDER 平台邮件(收件箱+垃圾箱,limit=50,has_more 翻页取全);
- B) 收件箱+垃圾箱个人直发/公司名简历(主题或附件名含:简历/Vibe Coding/Python/AI编程/Cursor/Claude/Trae/投标/标书/运营/公众号/小红书/行政/实习/助理/<公司名关键词>);
- C) 主题精确搜 q=公司名/简历/Vibe Coding/投标/新媒体/行政实习(SUBJECT 与 ALL 各一次)。
2) 本地巡检与下载(关键防失败):合并附件 vs RES_ROOT 各岗位子目录(文件名+大小去重)。凡邮箱有、本地缺的,【必须委托后台子代理(Agent, run_in_background)执行 ListAttachments+DownloadAttachment 落盘】;主代理只读取落盘的小体积 .txt/PDF,绝不内联大 base64。子代理完成后,主代理运行 scripts/decode_extract.py 解码+大小校验+抽文本。
3) 岗位归类(个人直发关键):按 JOB_ROLES 关键词映射归入对应岗位;含公司名但无法定位岗位→根目录标"<公司名>相关-待人工归类";无法判定→"待人工归类",不强行猜测。
4) 证据化筛选:按 SCREENING_STANDARD 先过学历门槛(不达标直接 D;已裁定豁免者不得重判 D),再评 A高/B中/C待定/D不匹配,无确定性依据归 C。为每份生成筛选卡(含「面试重点问题」字段)。
5) 防重复入池:建 RES_ROOT/待面试/YYYY-MM-DD/,复制 A/B/C 级(先查待面试下各目录是否含同名,跳过已收录);写 面试池结论_YYYY-MM-DD.md。D 留原岗位目录不进池。
6) 回邮箱分发 A/B 类(核心交付):用 EMAIL_ALIAS 将 A/B 级简历发往 REVIEW_RECIPIENTS:
- 每封邮件:附件含候选人简历 PDF + 打分表(若 SEND_SCORECARD=true,模板见 references/templates.md);正文含该候选人的「面试重点问题」(取自筛选卡)与初判依据。
- 分发规则:若 REVIEW_RECIPIENTS 为岗位→邮箱映射,按应聘岗位定向发送;若为单一邮箱,统一发送(HR 自行转发主管)。
- 邮件主题:【简历审阅】{姓名} · {岗位} · {A/B} · {YYYY-MM-DD}。
- 发送失败不阻断主流程,在输出中说明失败原因,下次可重发。
7) 输出汇报:各渠道检索数、新下载数、分级、池当日新增/累计可面试数、分发条数(成功/失败)、邮箱vs本地是否对齐、是否发现个人直发/公司名相关简历。
防失败铁律(必读,已踩坑验证)
① 所有 DownloadAttachment 必须经后台子代理,主代理不内联大附件(否则触发 400 input length too long 整轮失败、调度器可能跳过后续日期);
② 子代理分批 ≤15 封/次、调用间隔 ≥10s,防限流;
③ 三渠道每天跑全,不能只看平台邮件判"0 新增"(平台静默期个人直发仍持续有简历);
④ 不改动邮箱设置、不删邮件;FTN 超大附件(仅 download_url 无 attachment_id)不可经 API 下载,记录 URL 转人工网页端保存。
资源
scripts/decode_extract.py:子代理落盘后的 base64 解码 + 大小校验 + PyMuPDF 文本抽取(确定性,避免重复编写)。references/templates.md:JOB_ROLES 配置、筛选卡、面试池结论、面试重点问题、打分表模板。references/workflow.md:后台子代理下载提示词、邮箱三渠道检索参数、FTN 处理、回邮箱分发(SendMessage)模板。