docs(project): 完善项目说明与实施规划

This commit is contained in:
zhiye.sun
2026-08-14 15:11:21 +08:00
parent 58f030aa76
commit 310f7abae1
5 changed files with 456 additions and 0 deletions

95
docs/roadmap.md Normal file
View File

@@ -0,0 +1,95 @@
# JobRadar 实施路线图
## 阶段一:基础工程
目标是建立可持续开发的 Django 项目基线。
- [x] 初始化 Django 项目。
- [x] 创建 Conda 环境。
- [x] 创建本地和远程 Git 仓库。
- [x] 补充项目、架构和路线图文档。
- [ ] 拆分开发、测试和生产配置。
- [ ] 将密钥及本地配置移出版本库。
- [ ] 接入 Django 用户认证并建立用户资料模型。
- [ ] 为搜索任务、筛选配置和岗位操作增加用户归属。
- [ ] 默认关闭公开注册,只保留管理员创建账号入口。
- [ ] 接入 PostgreSQL 并建立迁移基线。
- [ ] 增加统一日志、测试和代码质量工具。
## 阶段二:单站采集闭环
目标是稳定采集一个明确授权范围内的招聘网站。
- [ ] 确认首个目标网站及其服务条款和访问边界。
- [ ] 定义站点适配器协议和原始岗位数据结构。
- [ ] 实现搜索任务、采集批次和原始岗位模型。
- [ ] 实现首个站点适配器。
- [ ] 增加限流、超时、重试和失败日志。
- [ ] 完成来源岗位编号去重和内容变更识别。
- [ ] 在 Django Admin 中提供任务和原始数据管理能力。
验收条件:可以手动运行一次采集,查看新增、更新、重复和失败数量,并从标准化岗位追溯到原始来源。
## 阶段三:岗位标准化与筛选
目标是用确定性规则减少无效岗位。
- [ ] 定义岗位、企业和岗位来源模型。
- [ ] 标准化岗位名、地点、薪资、经验和学历。
- [ ] 建立排除词、黑名单和硬性筛选规则。
- [ ] 输出通过、淘汰和待确认结果及具体原因。
- [ ] 实现岗位列表、详情、收藏、忽略和投递状态。
- [ ] 保存规则版本,支持重新筛选历史岗位。
验收条件:不调用大模型也能稳定过滤明确不符合要求的岗位,并解释每条淘汰原因。
## 阶段四:企业联网补全
目标是可靠判断企业主体和企业性质。
- [ ] 确定合法、稳定的企业信息来源。
- [ ] 建立企业别名、标准主体和证据模型。
- [ ] 保存企业性质、行业、集团、来源和置信度。
- [ ] 实现多来源冲突检测和待复核队列。
- [ ] 支持人工确认,并保留自动判断历史。
验收条件:企业性质结论包含可访问的来源和查询时间,无法确认的企业不会被强行分类。
## 阶段五AI 分析与权重评分
目标是形成可解释的岗位推荐结果。
- [ ] 定义个人岗位画像和技能偏好。
- [ ] 定义结构化 AI 输出模型。
- [ ] 提取技能、职责、隐含条件和风险点。
- [ ] 实现可配置评分维度及权重校验。
- [ ] 保存维度分数、风险扣分、理由和分析版本。
- [ ] 对相同内容建立缓存,控制调用成本。
验收条件:每个总分都可以分解到评分维度、权重和证据,大模型不能越过硬性规则直接改变结果。
## 阶段六:调度、通知与扩站
目标是让系统长期稳定运行。
- [ ] 接入 Celery、Redis 和 Celery Beat。
- [ ] 实现任务幂等、指数退避和失败恢复。
- [ ] 增加任务中心与运行状态展示。
- [ ] 增加高分新岗位通知。
- [ ] 增加第二个站点适配器,验证扩展边界。
- [ ] 增加备份、清理和恢复机制。
- [ ] 使用 Nginx 或 Caddy、生产级应用服务器和 HTTPS 完成公网部署。
- [ ] 增加安全 Cookie、CSRF、登录限流和安全响应头检查。
验收条件:定时任务连续运行时不会重复创建岗位,单个站点失败不会影响其他任务,异常可以从日志和任务记录中定位。
## 第一轮开发前待确认
1. 首个目标招聘网站及允许使用的访问方式。
2. 搜索岗位、城市、薪资、经验和学历范围。
3. 必须包含与必须排除的关键词。
4. 企业性质、行业和公司规模偏好。
5. 评分维度及初始权重。
6. 企业信息数据源和大模型服务方式。
7. 运行频率、单次采集页数和通知渠道。
8. 公网域名、部署服务器和 HTTPS 证书管理方式。