Sprint 历史
jd-matcher 全部 8 个 Sprint 的目标、实现方案与验收记录。
Sprint 历史
项目共划分 8 个 Sprint,严格遵循依赖层顺序逐层实现。
每个 Sprint 对应代码文件头的注释(Sprint N — 层名)。
Sprint 总览
| Sprint | Goal | Layer | 状态 |
|---|---|---|---|
| S1 | 数据结构定义 | types | ✅ 完成 |
| S2 | 配置与权重 | config | ✅ 完成 |
| S3 | 简历数据仓库 | repo | ✅ 完成 |
| S4 | JD 解析器 | service/parser | ✅ 完成 |
| S5 | 本地匹配算法 | service/matcher | ✅ 完成 |
| S6 | AI 增强匹配 | service/ai | ✅ 完成 |
| S7 | 状态管理 | runtime | ✅ 完成 |
| S8 | UI 主界面 | ui | ✅ 完成 |
S1 — 数据结构定义
关键类型:
ParsedJD— JD 解析结果,供 matcher 和 aiMatcher 消费Resume— 简历结构,支持 JSON 格式直接反序列化MatchResult— 匹配结果,含维度分、技能明细、优势、建议AppState— 全局状态,由 store 管理
S2 — 配置与权重
权重设计理由:
| 维度 | 权重 | 理由 |
|---|---|---|
| 技能 | 50% | 技能是最直接的招聘筛选条件 |
| 经验 | 30% | 年限影响薪资段和团队期望 |
| 学历 | 20% | 国际公司对学历要求宽松,权重低 |
S3 — 简历数据仓库
文件格式支持:
| 格式 | 解析方式 | 精度 |
|---|---|---|
.json | JSON.parse() 直接反序列化 | ⭐⭐⭐ 完整 |
.txt | 关键词扫描(30 个常见技能) | ⭐⭐ 基础 |
.pdf | pdfjs-dist 提取文字 → 关键词扫描 | ⭐⭐ 基础 |
建议:使用 JSON 格式简历获得最准确的匹配结果。
S4 — JD 解析器
段落定位策略:
S5 — 本地匹配算法
S6 — AI 增强匹配
Provider 自动识别: