desktop-organizer
Skill0 starsChanged 2 months agoMITView on GitHub
猎头简历库自动化整理。把桌面/下载目录中散落的候选人简历 PDF,按 22 个精确岗位方向(具身智能细分:世界模型/预训练/VLA/运控/仿真/具身数据/感知/具身综合 + 通用类)归类,按「姓名-具体工作方向.pdf」统一命名,识别某一届应届生(如 27 届 = 2027 毕业,含「教育经历写至今」的隐形应届生),扫描人才计划头衔(杰青/优青/博新/卓博/天才少年等),处理图片型扫描件 PDF。全程不删文件、dry-run 优先、生成回退表。
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Glen-Wei/headhunter-skillstheir own version, first seen Sep 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Glen-Wei/headhunter-skills★ 18same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Files
Desktop Organizer — 猎头简历库整理
把桌面散落的候选人简历变成一套可用的人才库。核心原则:不删除任何文件、dry-run 优先、判定结果必须可审计。
0. 环境准备(每次会话先做)
依赖:
pip install pymupdf桌面路径 — 必须实测,不能假设:
Windows 上桌面可能被移动到其他盘(如华为笔记本的 HuaweiMoveData)。先读取注册表确认,不要直接扫 C:\Users\<user>\Desktop(那可能只是个空镜像):
# Windows:读注册表确认真实桌面路径
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop或 PowerShell:
(Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders").Desktop扫描方式 — 不要用 Glob:Glob/find 会漏文件。一律用 Python os.listdir / os.walk。
1. 目录体系
<桌面>/简历库/ ← 主库,22 个方向文件夹
├── 01-世界模型/
├── 02-预训练/
├── ...
└── 22-移动端/
<桌面>/27届/ ← 某一届集中文件夹(命名规约不同,见 §4)
<桌面>/话术/ ← 公司名 / JD 类 docx
<桌面>/客户/<客户名>/ ← JD 归档| 文件类型 | 目标位置 | 规则 |
| 候选人简历 PDF | 简历库/<方向>/ | 判定方向 → 命名 → 归类 |
| 简历 docx | 不自动归类 | 单独列出,人工确认(转 PDF 后原 docx 放类目内 _原件docx/) |
| 公司名 / JD docx | 话术/ | 按文件名识别 |
| 图片 | 原位 | 分析内容后询问,不擅自处理 |
~$ / .lnk / 安装包 / 项目文件夹 | 原位 | 忽略,仅在报告列出 |
2. 22 方向判定
完整关键词表见 references/direction-taxonomy.md。
具身智能类(细分,优先匹配):01-世界模型 02-预训练 03-VLA 04-运控 05-仿真 06-具身数据 07-感知 08-具身综合
通用类:09-大模型 10-Agent 11-多模态 12-语音 13-算法 14-前端 15-后端 16-数据 17-产品 18-测试 19-Infra 20-管理 21-嵌入式 22-移动端
判定顺序:文件名关键词 → PDF 内容「求职意向 / 研究方向」字段 → 全文关键词 → 兜底(归最接近大类,报告中列出待确认)
方向要"最正确"——这些是实战纠错过的:
| 简历内容 | ❌ 错 | ✅ 对 |
| 世界模型与机器人学习算法 | VLA | 01-世界模型 |
| 具身仿真平台 / 评测 | 08-具身综合 | 05-仿真 |
| MindVLA 基座模型 | 03-VLA | 02-预训练 |
| 字节 PMO 做 AI 产品 | 06-具身数据 | 17-产品 |
| 多模态 Agent 后训练 | 11-多模态 | 10-Agent |
3. 主库命名规约:姓名-具体工作方向.pdf
文件夹是「大致方向」,文件名后缀必须是简历「实际工作内容」。
✅ 吴栋-世界模型.pdf (放在 01-世界模型/)
✅ 沈勇-语音识别.pdf (放在 13-算法/)
❌ 吴栋-VLA.pdf (用文件夹名当后缀,不合格)
❌ 沈勇-算法.pdf ("算法"是泛词,不合格)具体方向提取优先级:
- 原文件名里的具体方向词(
代东洋-语音合成-TTC.pdf→代东洋-语音合成.pdf) - 只有泛词(算法/工程师/研发/开发/技术/负责人/研究员/专家)→ 读 PDF 内容,优先「求职意向 / 从事职业 / 研究方向 / 目标岗位」字段
- 仍无法确定 → 文件夹名兜底
姓名提取:取文件名首段(中文 2-4 字 / 英文名 / 中英混排如 Eric李);英文名保留下划线(Cheng_Lu);提取失败读内容;仍失败保持原名并列为待人工处理。
_N 后缀:_2/_3 是版本标记不是方向,提取方向时先剥离,最终保留。
清理噪音:TTC、个人简历/resume/cv、公司后缀、学历(博士/硕士/27届)、城市、长 ID(ATCH2052...)。
流程顺序:判定方向 → 命名 → 归类,一步完成,落盘即新名。
4. 届数文件夹命名规约
<桌面>/27届/ 集中放 27 届候选人简历副本(主库仍保留原件),命名:
姓名-最近一段学校-最近一段实习工作-实习研究方向.pdf
吴栋-北京大学-百度阿波罗-多模态流式仿真世界模型.pdf
曹式铖-南开大学-星海图-G0.5 VLA预训练与后训练.pdf提取要点:
- 最近学校 = 最高学历(硕士/博士优先于本科;本科西工大 + 硕士北理工 → 用北理工)
- 最近实习 = 起止时间最新的一段(商汤 2025.9-至今 优先于光明实验室 2025.4-2025.8)
- 实习研究方向 = 该段的具体方向,10-20 字
- 无实习者用「XX课题 / XX科研」代替单位,方向填研究方向
- ⚠️ 自动提取不可靠(会把「具身智能」当公司名、把日期当方向)→ 必须生成 CSV 清单让人工核对后再执行
5. 届数判定(最容易漏人的部分)
目标:找出某一届应届生(如 27 届 = 2027 毕业)。
三个坑
坑 1:只看「文件名标 27 届」会漏掉一半人。 大量应届生简历不写届数,写的是「2024.09-至今」。必须按学制推算:
- 硕士 2024 入学(3 年制)/ 2025 入学(2 年制)→ 2027 毕业
- 博士 2022 / 2023 入学(4-5 年制)→ 2027 毕业
坑 2:全文正则匹配「至今」会把在职的也抓进来。 在职人员的工作经历同样写「2024-至今」。必须只在教育经历块内匹配——先定位「教育经历」标题,截到下一个区块标题(工作经历/项目经历/技能/荣誉)之前,再在这段文本里找。窗口内出现「有限公司/股份有限公司/职级/任职/年以上经验/Leader/主管/总监」即判定为工作经历,跳过。
坑 3:英文格式和竖排文本会让标准正则失效。
Sep. 2024 – Jun. 2027 中间夹月份;竖排排版的 PDF 文本流顺序错乱,导致「至今」和入学年不相邻。用宽松邻近匹配兜底:目标年份前后 110 字内同时出现入学年 + 教育词。
判定优先级与置信度
| 规则 | 置信度 |
| 1. 显式标注「27届 / 2027届 / 27年应届 / 预计2027」 | high |
| 2. 教育经历结束年份 = 2027 | high |
| 3. 教育块内「入学年-至今」,按学制推算 = 2027 | high |
| 4. 宽松邻近匹配兜底 | low(误判率高,必须人工复核) |
宽松匹配会命中大量在职人员——这是刻意设计(宁多不漏),但输出必须按置信度分开,low 的逐个人工看。
必须排除的误判
- 工作经历「至今」的在职人员
- 已毕业(2020-2024、2021-2025 等)
- 博士后(非应届)
- 教育时间缺失、无法确认毕业年份的 → 存疑不收录,单独列出
图片型 PDF 单独排查
文本提取 0 字的 PDF(扫描件/图片型)靠文件名判断会漏。渲染成 jpg 做视觉识别:
import pymupdf
doc = pymupdf.open(path)
doc[0].get_pixmap(dpi=150).save("out.jpg")跨来源核对
届数信息在改名后可能丢失。如果库里已做过一轮改名,要同时参考改名前的原始文件名(可能带「27届」标记)。只读内容会漏,只读文件名也会漏——双源核对。
6. 人才计划扫描
关键词 30+:杰青、优青、海外优青、长江学者、千人计划、青年千人、万人计划、博新计划、卓博计划、上海市超级博士后、科技新星、青托、天才少年、阿里星、水木学者、浦江人才、香江学者、以及企业计划(字节筋斗云、百度探路星、地平线专项等)。
⚠️ 必须区分「本人获得」和「导师获得」:简历常写「导师:XXX(杰青)」——那是导师的头衔。命中上下文含「导师 / Advisor / 合作导师 / Prof.」的,标记为待复核。
7. 执行脚本
# 扫描(结构化 JSON + 控制台摘要)
python scripts/scan_resumes.py --lib "<桌面>/简历库" --out scan.json
python scripts/scan_resumes.py --lib "<桌面>/简历库" --jie 2027 --only-jie
python scripts/scan_resumes.py --lib "<桌面>/简历库" --jie 2027 --only-jie --min-confidence high
python scripts/scan_resumes.py --lib "<桌面>/简历库" --only-scanned --render-dir ./render
# 归档桌面散落简历
python scripts/organize.py --src "<桌面>" --lib "<桌面>/简历库" # 预览
python scripts/organize.py --src "<桌面>" --lib "<桌面>/简历库" --apply --revert-csv revert.csv
# 届数同步
python scripts/jie_sync.py --lib "<桌面>/简历库" --out-dir "<桌面>/27届" --year 2027 --preview review.csv
python scripts/jie_sync.py --lib "<桌面>/简历库" --out-dir "<桌面>/27届" --year 2027 --apply --from-csv review.csv
# 人才计划
python scripts/talent_scan.py --lib "<桌面>/简历库"8. 安全红线
- 不删除任何文件。重复文件只报告,脚本里没有任何删除调用
- dry-run 默认,
--apply才真正写盘 - 只动源目录根层,不递归子文件夹
- md5 去重跨库比对,同 md5 跳过不移动
- 同名冲突加
_2/_3,绝不覆盖 - 回退表:
--revert-csv输出完整 原路径 ↔ 新路径 - 批量改名/移动前先生成预览清单给使用者确认(几百个文件的操作会触发权限弹窗,也是安全阀)
~$开头是 Word 锁定临时文件,忽略
9. 输出报告格式
每次整理后汇报:
- 处理了多少份、按方向分布
- 新增归档明细(原文件名 → 新路径)
- 跳过 / 重复的文件清单
- 无法判定的,附上内容摘要供人工决策
- 需要人工确认的事项(docx 简历、姓名存疑、图片型 PDF)
10. 定时巡检(可选)
建议做成每周一次的自动化任务,覆盖:
- 扫描桌面根目录新散落简历 → 归档
- 检查 22 个方向文件夹:方向放错的、md5 重复的、空文件夹
- 检查某一届是否漏同步
- 输出巡检报告
参考
references/direction-taxonomy.md— 22 方向完整关键词表 + 常见误判清单scripts/resume_core.py— 核心库(PDF/教育块/姓名/学校/方向/届数/人才计划)README.md— 项目说明
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

