前言¶
在 DeepSeek Harness (DSH) 的生態中,HR 或招聘團隊處理簡歷面臨一個常見痛點:文檔格式繁雜(Word、PDF、Excel 等),數量龐大,手動篩選效率極低。若直接將所有簡歷一次性丟給 LLM 進行全量分析,不僅會觸及上下文窗口上限,還會導致成本線性膨脹且結果不可追溯。
dsh-resume-screening 插件針對這一場景,構建了一套從入庫、建檔到智能篩選的完整工作流。它將 Markdown 作爲”真相源”歸檔簡歷,利用 SQLite 作爲篩選索引,先通過規則庫進行毫秒級粗篩,再對少數入圍者進行 LLM 精判,最終輸出 0-100 分的適配度排序。
這是什麼¶
dsh-resume-screening 是一個面向 HR 的批量簡歷入庫與自動化初篩工具,由 wangzhanchao883 維護,採用 MIT 許可證。
它的核心價值在於:支持單庫管理 10 萬份以內的簡歷(docx/pdf/xlsx/xls/md/txt),實現自動去重、結構化建檔,並允許用自然語言下達篩選條件。
核心功能¶
插件提供六大核心能力:
1. 批量入庫與統一管理:支持多格式文件,自動轉換爲 Markdown 歸檔,按內容哈希去重。
2. 結構化建檔:抽取硬性字段(學歷、性別、年齡等)與細粒度技能(LLM 兜底),建立多值標籤體系。
3. 兩段式智能篩選:先通過數據庫規則進行毫秒級粗篩,再對入圍者調用 LLM 輸出 0-100 分精判。
4. 增量自動入庫:resume_screen 支持傳入文件夾,自動入庫未處理的簡歷並篩選。
5. 崗位條件複用:將自然語言描述的招聘要求保存爲規則,可反覆複用。
6. 工程底座:Markdown 爲真相源,SQLite 爲篩選索引,支持全量重建。
快速開始¶
在 DSH 對話中執行以下命令完成基礎流程:
# 1. 初始化簡歷庫
resume_init
# 2. 掃描文件夾收簡歷
resume_ingest folderPath="D:\簡歷庫\0908簡歷"
# 3. 建立崗位要求(自然語言結構化)
resume_define_rule 崗位名="JAVA工程師崗" 必選: gender=男;education in 本科/碩士/博士;skill contains java 加分: experience_years>=2 (+15)
# 4. 自動入庫 + 初篩 + LLM 精判
resume_screen reqId=2 folderPath="D:\簡歷庫\0908簡歷" llm=true
# 5. 導出結果
resume_export reqId=2 outPath="D:\簡歷庫\結果.csv"
篩選規則與運算符¶
插件支持自然語言描述篩選條件,底層基於 SQLite 索引。常用運算符口徑如下:
| 運算符 | 口徑 |
|---|---|
= / != |
去空白 + 大小寫不敏感比較;數值等價("5" == 5) |
in |
逗號分隔(中英文逗號都認)任一相等 |
>= <= > < |
數值比較;值不是數字時退化爲相等比較 |
contains |
大小寫不敏感 + 拉丁詞整詞邊界(如 java 命中 Java,不命中 JavaScript) |
工具一覽¶
| 工具 | 作用 |
|---|---|
resume_init |
初始化簡歷庫(歸檔目錄 + SQLite + 標籤字典) |
resume_ingest |
掃描文件夾收簡歷,內容哈希去重 |
resume_process |
批量轉換、規則抽取、LLM 兜底、入庫 |
resume_status |
查看庫內簡歷處理狀態分佈 |
resume_define_rule / resume_list_rules |
保存 / 查看崗位篩選條件 |
resume_screen |
執行篩選;llm=true 追加精判;folderPath 觸發自動入庫 |
resume_export |
導出篩選結果 CSV |
resume_rebuild |
從歸檔 Markdown 全量重建索引 |
工作原理¶
插件採用分層架構:
* Markdown 歸檔(真相源):每份簡歷一篇 .md,含結構化屬性與原文。
* SQLite(篩選索引):派生索引,支持多值標籤、加權排序和多條件匹配,可隨時全量重建。
* 篩選引擎(規則層):必選硬過濾 + 可選加分加權排序,純函數、可復現。
* LLM 精判層:對入圍者讀原文判適配度,輸出結構化評分與理由。
安裝與啓用¶
本插件依賴宿主環境及特定版本。
環境要求:
* DeepSeek Harness (DSH): 0.1.7 ~ 0.2.x(設置面板依賴 0.1.7 的 configForms 契約)。
* Node.js: ^22 或 >=24(用到內置 node:sqlite)。
依賴包:
* @deepseek-ai/dsh-tools
* @deepseek-ai/schemastery
* @deepseek-ai/cosmokit
* mammoth、pdfjs-dist、xlsx
請通過以下地址從 GitHub 安裝插件:
https://github.com/wangzhanchao883/dsh-resume-screening
配置與設置¶
插件支持 Web 設置面板,參考 dsh-study-notebook 的 settings.section 模式,分爲三個板塊:
1. 通用:設置簡歷庫根目錄、歸檔子目錄、LLM 開關與閾值等。
2. 標籤庫:增改標籤定義(如技能類別、經驗方向)。
3. 崗位要求:配置一崗位一組條件(標籤 + 算子 + 閾值 + 必選/可選 + 權重)。
0.1.7 配置注意事項:
* Volatile 盒處理:.volatile() 字段的解析值是「Volatile 盒」而非純值。在 apply 或 settings.describe() 中獲取配置時,必須調用 .get() 解包,否則可能導致路徑操作報錯。
* 配置刷新:寫入設置面板不會自動觸發插件重新 apply。插件必須在每個入口重讀 settings.describe()。
適用場景¶
適合處理文檔量大、格式統一但人工篩選繁瑣的招聘場景。特別是需要保留篩選結果追溯、對硬性指標要求嚴格、且希望控制 LLM 調用成本的團隊。
結語¶
dsh-resume-screening 通過將簡歷歸檔與篩選邏輯解耦,結合規則引擎與 LLM,爲 HR 提供了一個可落地、可擴展的自動化初篩方案。