This commit is contained in:
张成
2025-12-25 22:51:37 +08:00
parent 55ef28440a
commit c43bf79e2d
17 changed files with 1333 additions and 4093 deletions

874
_doc/功能规划文档.md Normal file
View File

@@ -0,0 +1,874 @@
# 自动找工作系统 - 功能规划文档
> 版本: v1.0 | 规划日期: 2025-12-25 | 状态: 待开发
## 文档说明
本文档规划了自动找工作系统的未开发功能,按优先级分为4个方向共20项功能。每项功能包含现状分析、待开发内容和预期价值,可直接转化为开发任务。
## 优先级说明
- **HIGH**: 核心功能,对系统价值提升明显,建议优先开发
- **MEDIUM**: 重要优化,提升用户体验和系统性能,可分阶段实施
- **LOW**: 未来规划,可根据实际需求决定是否开发
---
## 第一部分: 功能完善和补充
**优先级: HIGH** | **预计工期: 4-6周**
### 1.1 自动聊天功能完善 ⭐⭐⭐⭐⭐
**现状分析**
- ✅ 聊天记录表结构完整 (`chat_records`)
- ✅ AI聊天内容生成基础框架 (`aiService.generateChatContent`)
- ✅ 聊天类型分类 (greeting/followup/interview/reply)
- ❌ AI生成器未完整实现
- ❌ 聊天时机判断逻辑缺失
- ❌ 多轮对话上下文管理未实现
**待开发内容**
1. **AI聊天内容生成器完整实现**
- 完善 Prompt 模板(不同场景)
- 集成简历信息和岗位描述
- 个性化内容生成(根据HR回复调整策略)
- 长度和语气控制
2. **聊天时机智能判断**
- HR查看后多久发消息(规则+AI预测)
- 避免过于频繁或过晚联系
- 根据不同平台特性调整策略
- 工作时间优先发送
3. **多轮对话上下文管理**
- 记录对话历史
- 上下文理解(避免重复询问)
- 话题延续和自然过渡
- 面试邀约智能识别和响应
4. **情感分析和回复策略调整**
- 分析HR回复的情感倾向
- 根据情感调整后续策略
- 识别拒绝信号(及时停止沟通)
- 识别兴趣信号(加大沟通力度)
**技术实现**
- 文件路径: `api/middleware/job/chatManager.js`
- 依赖: `aiService.js`, `chat_records表`
- 预计工期: 2周
**预期价值**
- 📈 HR回复率提升 30%+
- 📈 面试邀约率提升 20%+
- 💡 减少人工沟通成本 80%+
- ✨ 提供24小时自动化沟通能力
---
### 1.2 账号保活任务 ⭐⭐⭐⭐⭐
**现状分析**
- ✅ 配置项已有 (`pla_account.auto_active`, `active_interval`, `active_actions_json`)
- ✅ 任务类型定义 (`auto_active_account`)
- ❌ 执行逻辑未实现
- ❌ 行为模拟策略缺失
**待开发内容**
1. **定时浏览岗位模拟真实用户**
- 随机浏览岗位详情
- 模拟点击、滚动行为
- 页面停留时间随机化(10-60秒)
- 每日浏览次数控制(5-20次)
2. **随机时间间隔访问**
- 避免固定时间访问(容易被识别)
- 工作时间随机分布
- 模拟午休和下班后的访问
- 周末降低活跃频率
3. **多样化操作行为**
- 搜索岗位(随机关键词)
- 查看推荐岗位
- 浏览公司主页
- 修改简历可见性
- 更新最后活跃时间
4. **避免账号被标记为机器人**
- 行为模式随机化
- 添加鼠标轨迹模拟
- 操作速度人性化(不要太快)
- 避免连续大量操作
**技术实现**
- 文件路径: `api/middleware/schedule/taskHandlers.js` (新增 `handleAutoActiveTask`)
- MQTT指令: 新增 `auto_active` 操作类型
- 预计工期: 1周
**预期价值**
- 📉 账号封禁风险降低 70%+
- 📈 简历曝光率提升 40%+
- 🔒 账号在线状态保持稳定
- ✨ 自动维护账号活跃度
---
### 1.3 简历自动更新 ⭐⭐⭐⭐
**现状分析**
- ✅ 简历同步功能完整
- ✅ 简历信息存储完善
- ❌ 简历刷新逻辑未实现
- ❌ 简历优化建议缺失
**待开发内容**
1. **定时刷新简历排名**
- 每天自动刷新简历(提升排名)
- 最佳刷新时间智能选择(如早上9点)
- 通过MQTT下发刷新指令
- 记录刷新历史和效果
2. **简历内容优化建议**
- AI分析当前简历不足
- 给出具体优化建议(哪些技能需要补充)
- 对比同类岗位的简历特征
- 建议调整项目经验描述
3. **A/B测试不同简历版本效果**
- 支持多个简历版本
- 自动切换测试
- 统计不同版本的查看率和回复率
- 推荐最优版本
**技术实现**
- 文件路径: `api/middleware/job/resumeManager.js` (新增刷新方法)
- MQTT指令: 新增 `refresh_resume` 操作
- 数据库: `resume_info` 新增 `last_refresh_time` 字段
- 预计工期: 1周
**预期价值**
- 📈 简历曝光率提升 50%+
- 📈 查看率提升 30%+
- 💡 简历质量持续优化
- ✨ 自动维护简历新鲜度
---
### 1.4 岗位黑名单和收藏 ⭐⭐⭐⭐
**现状分析**
- ❌ 黑名单功能未实现
- ❌ 收藏功能未实现
- ❌ 岗位对比功能缺失
**待开发内容**
1. **公司黑名单**
- 不再投递某公司的岗位
- 黑名单原因记录(薪资虚标、工作内容不符等)
- 支持批量添加
- 黑名单导入导出
2. **岗位类型黑名单**
- 不再投递某类岗位(如外包、销售)
- 支持自定义黑名单关键词
- 黑名单优先级高于匹配规则
3. **收藏感兴趣岗位**
- 标记收藏岗位
- 收藏原因备注
- 收藏夹分类管理
- 收藏岗位状态跟踪(是否还在招聘)
4. **岗位对比功能**
- 多个岗位并排对比
- 对比维度: 薪资、技能要求、公司、地点、福利
- AI给出推荐意见
- 导出对比报告
**技术实现**
- 数据库: 新增 `job_blacklist`, `job_favorites`
- 文件路径: `api/controller_admin/` 新增相关API
- 前端: `admin/src/views/work/` 新增黑名单和收藏页面
- 预计工期: 1周
**预期价值**
- 📈 投递精准度提升 40%+
- 📉 无效投递减少 60%+
- 💡 提供个性化岗位管理
- ✨ 提高求职效率
---
### 1.5 多轮面试跟踪 ⭐⭐⭐⭐
**现状分析**
-`apply_records` 表有 `hasInterview` 字段
- ❌ 只记录是否有面试,未细分轮次
- ❌ Offer管理功能缺失
- ❌ 入职状态未追踪
**待开发内容**
1. **一面/二面/三面状态追踪**
- 新增面试轮次字段 (`interview_round`)
- 每轮面试时间、地点、面试官记录
- 面试类型(电话、视频、现场)
- 面试状态(待面试、已面试、通过、淘汰)
2. **面试反馈记录**
- 面试官反馈内容
- 面试问题记录
- 自我评价
- 改进建议
3. **Offer管理**
- Offer详情(薪资、福利、入职时间)
- 接受/拒绝/谈薪状态
- 谈薪记录(几轮谈判,最终结果)
- Offer对比(如有多个Offer)
4. **入职状态追踪**
- 入职日期
- 试用期状态
- 转正时间
- 离职时间(如有)
**技术实现**
- 数据库: `apply_records` 新增字段或新增 `interview_records`, `offer_records`
- 文件路径: `api/controller_admin/apply_records.js` 扩展
- 前端: `admin/src/views/work/apply_records.vue` 新增详情面板
- 预计工期: 1.5周
**预期价值**
- 📊 完整的求职生命周期管理
- 📈 面试准备更充分
- 💡 Offer决策更科学
- ✨ 提供长期职业数据积累
---
## 第二部分: AI能力增强
**优先级: HIGH** | **预计工期: 5-7周**
### 2.1 简历智能优化 ⭐⭐⭐⭐⭐
**现状分析**
- ✅ 简历AI分析基础功能 (`aiService.analyzeResume`)
- ✅ 竞争力评分、技能提取、优劣势分析
- ❌ 优化建议深度不足
- ❌ 针对性改进方案缺失
**待开发内容**
1. **AI简历分析深度提升**
- 细粒度分析(每个项目、每段经历)
- 识别简历中的弱项和亮点
- 对比行业优秀简历
- 生成详细分析报告
2. **简历改进建议(针对性)**
- 针对目标岗位给出定制化建议
- 建议补充哪些技能关键词
- 建议如何重写工作描述
- 建议哪些内容需要精简
3. **技能关键词优化建议**
- 分析热门技能关键词
- 建议替换为更专业的术语
- 建议技能顺序排列
- 建议补充相关技能
4. **项目经验描述优化**
- 使用STAR法则重写项目描述
- 量化项目成果(如提升XX%性能)
- 突出个人贡献和技术难点
- 精简冗长描述
**技术实现**
- 文件路径: `api/middleware/job/aiService.js` 新增 `optimizeResume` 方法
- Prompt工程: 设计专业的简历优化Prompt
- 前端: `resume_info_detail.vue` 新增优化建议面板
- 预计工期: 2周
**预期价值**
- 📈 简历竞争力提升 20%+
- 📈 查看率提升 35%+
- 📈 回复率提升 25%+
- 💡 简历质量专业化
---
### 2.2 面试问题预测 ⭐⭐⭐⭐
**待开发内容**
1. **基于岗位描述预测面试问题**
- 分析岗位职责和要求
- 预测技术问题(如React性能优化、数据库索引等)
- 预测行为问题(如团队合作、项目经验)
- 预测HR问题(如离职原因、职业规划)
2. **提供参考答案**
- 给出专业、结构化的答案
- 提供多种回答思路
- 标注答案亮点和注意事项
- 面试官可能的追问
3. **根据简历生成个性化回答**
- 结合简历中的项目经验
- 使用简历中的真实案例
- 避免空洞的回答
- 突出个人优势
**技术实现**
- 文件路径: `api/middleware/job/aiService.js` 新增 `predictInterviewQuestions` 方法
- 数据来源: `job_postings.jobDescription`, `resume_info`
- 前端: 新增 `interview_prep.vue` 面试准备页面
- 预计工期: 1.5周
**预期价值**
- 📈 面试通过率提升 30%+
- ⏱️ 面试准备时间减少 70%+
- 💡 回答更专业、更自信
- ✨ 提供全方位面试辅导
---
### 2.3 薪资谈判策略 ⭐⭐⭐⭐
**待开发内容**
1. **AI分析岗位薪资合理范围**
- 根据岗位要求和地区计算合理薪资
- 参考行业薪资数据(如拉勾、Boss薪资报告)
- 考虑公司规模和融资阶段
- 给出薪资范围建议(如18-22K)
2. **给出谈薪建议和话术**
- 什么时候开始谈薪(面试哪个阶段)
- 如何提薪资要求(不卑不亢)
- 谈判策略(如先等对方报价)
- 具体话术模板
3. **根据市场行情评估Offer价值**
- 对比市场平均薪资
- 综合评估(薪资+福利+发展空间)
- 识别低于市场价的Offer
- 给出接受/拒绝建议
**技术实现**
- 文件路径: `api/middleware/job/aiService.js` 新增 `analyzeSalary` 方法
- 数据源: 岗位描述、地区、公司、市场数据
- 前端: `offer_analysis.vue` Offer分析页面
- 预计工期: 1周
**预期价值**
- 💰 薪资平均提升 10-15%
- 📈 谈判成功率提升 40%+
- 💡 避免接受低薪Offer
- ✨ 提供科学的薪资决策
---
### 2.4 公司背景调查 ⭐⭐⭐⭐
**待开发内容**
1. **整合企查查/天眼查数据**
- 调用企查查API获取公司信息
- 公司基本信息(注册资本、成立时间、法人)
- 融资情况(融资轮次、投资方)
- 诉讼记录、欠薪记录
2. **AI分析公司发展前景**
- 根据融资情况评估发展阶段
- 根据招聘规模判断业务状态
- 根据行业趋势预测前景
- 给出公司评级(A/B/C/D)
3. **风险预警**
- 识别高风险公司(如多次欠薪、频繁裁员)
- 识别虚假招聘(如招聘周期异常长)
- 识别外包公司(尽管岗位描述未标注)
- 给出风险提示和建议
**技术实现**
- 文件路径: `api/services/company_background_service.js`
- 数据源: 企查查API、`company_info`
- 前端: `job_postings.vue` 新增公司背调入口
- 预计工期: 1.5周
**预期价值**
- 📉 入职风险降低 80%+
- 💡 避免进入高风险公司
- ✨ 提供全面的公司情报
- 🔍 识别隐藏的问题公司
---
### 2.5 职业发展路径 ⭐⭐⭐
**待开发内容**
1. **基于简历和目标生成职业规划**
- 分析当前职业阶段(初级/中级/高级)
- 根据目标岗位生成发展路径
- 列出需要补充的技能和经验
- 给出时间线规划(1年/3年/5年)
2. **技能提升建议**
- 推荐学习资源(课程、书籍、开源项目)
- 建议考取的证书
- 建议参加的技术社区
- 建议做的练手项目
3. **转行可行性分析**
- 评估转行难度
- 分析已有技能的可迁移性
- 给出转行路径建议
- 预测转行后的薪资变化
**技术实现**
- 文件路径: `api/middleware/job/aiService.js` 新增 `generateCareerPath` 方法
- 数据源: `resume_info`, 目标岗位描述
- 前端: 新增 `career_plan.vue` 职业规划页面
- 预计工期: 1.5周
**预期价值**
- 📊 提供长期职业指导
- 💡 明确发展方向和目标
- 📈 技能提升更有针对性
- ✨ 降低职业迷茫感
---
## 第三部分: 用户体验优化
**优先级: MEDIUM** | **预计工期: 4-5周**
### 3.1 数据可视化增强 ⭐⭐⭐⭐
**待开发内容**
1. **投递转化漏斗图**
- 投递数 → 查看数 → 回复数 → 面试数 → Offer数
- 每个环节的转化率
- 识别漏斗中的薄弱环节
- 对比不同平台的漏斗差异
2. **面试成功率趋势**
- 按时间展示面试通过率变化
- 分析成功率提升/下降原因
- 识别面试表现最好的时间段
- 给出改进建议
3. **薪资分布统计**
- 投递岗位的薪资分布
- Offer薪资分布
- 对比期望薪资和实际薪资
- 不同技能栈的薪资对比
4. **不同平台效果对比**
- Boss、猎聘等平台的效果对比
- 投递量、回复率、面试率对比
- 平台特点分析
- 推荐最优平台
**技术实现**
- 前端: `admin/src/views/statistics/` 新增统计页面
- ECharts图表: 漏斗图、折线图、柱状图、饼图
- API: `statistics_server.js` 新增统计接口
- 预计工期: 1周
**预期价值**
- 📊 数据洞察更直观
- 💡 快速发现问题环节
- 📈 数据驱动优化决策
- ✨ 提供专业的数据分析
---
### 3.2 实时通知系统 ⭐⭐⭐⭐
**待开发内容**
1. **浏览器通知**
- 面试邀约即时通知
- Offer通知
- 重要聊天消息通知
- 任务执行状态通知
2. **邮件通知**
- 每日投递报告
- 面试提醒(提前1天)
- 重要事件邮件
- 周报月报
3. **企业微信/钉钉集成**
- 通过企业微信机器人推送
- 支持快捷操作(如快速回复)
- 群组通知
- @指定人员
4. **关键事件提醒**
- 面试邀约(立即通知)
- Offer(立即通知)
- 简历被查看(可配置)
- 任务执行失败(立即通知)
**技术实现**
- 文件路径: `api/services/notification_service.js`
- 浏览器通知: Web Notification API
- 邮件: nodemailer
- 企业微信: 企业微信Webhook
- 预计工期: 1.5周
**预期价值**
- ⏱️ 响应时间缩短 90%+
- 📲 不错过任何重要消息
- 💡 多渠道及时触达
- ✨ 提供主动式消息推送
---
### 3.3 批量操作功能 ⭐⭐⭐
**待开发内容**
1. **批量启用/禁用账号**
- 勾选多个账号
- 一键启用/禁用
- 批量设置自动化开关
- 操作日志记录
2. **批量设置投递策略**
- 批量修改投递时间范围
- 批量修改每日上限
- 批量设置关键词过滤
- 应用模板到多个账号
3. **批量导出数据**
- 勾选导出字段
- 导出为CSV/Excel
- 定时导出任务
- 导出历史管理
**技术实现**
- 前端: 各列表页面新增批量操作工具栏
- API: 各模块新增批量操作接口
- 预计工期: 1周
**预期价值**
- ⏱️ 管理效率提升 80%+
- 💡 降低重复操作
- ✨ 提供便捷的批量工具
---
### 3.4 移动端适配 ⭐⭐⭐
**待开发内容**
1. **响应式布局优化**
- 适配手机、平板屏幕
- 菜单改为抽屉式
- 表格改为卡片式
- 图表自适应尺寸
2. **移动端专属操作界面**
- 大图标按钮
- 手势操作(滑动、长按)
- 底部操作栏
- 快捷入口
3. **快捷操作入口**
- 快捷查看今日统计
- 快捷查看任务状态
- 快捷回复聊天
- 快捷查看面试安排
**技术实现**
- 前端: 响应式CSS
- 使用 iView 的响应式组件
- 新增移动端专属组件
- 预计工期: 1.5周
**预期价值**
- 📱 随时随地管理
- 💡 提升移动端体验
- ✨ 扩大使用场景
---
### 3.5 智能推荐 ⭐⭐⭐
**待开发内容**
1. **推荐最适合的岗位**
- 基于简历和历史投递记录
- AI预测岗位匹配度
- 推荐优先投递的岗位
- 推荐理由说明
2. **推荐最佳投递时间**
- 分析不同时间投递的效果
- 推荐最佳投递时段
- 避开竞争激烈的时段
- 根据平台特性调整
3. **推荐优化策略**
- 分析数据找出问题
- 推荐具体改进措施
- 预测改进后的效果
- 跟踪改进效果
**技术实现**
- 文件路径: `api/middleware/job/recommendService.js`
- AI模型: 基于历史数据训练
- 前端: 首页新增推荐面板
- 预计工期: 1周
**预期价值**
- 📈 投递效果提升 25%+
- 💡 降低决策成本
- ✨ 提供智能化建议
---
## 第四部分: 系统性能提升
**优先级: MEDIUM** | **预计工期: 3-4周**
### 4.1 缓存策略优化 ⭐⭐⭐⭐
**待开发内容**
1. **Redis缓存热点数据**
- 缓存职位类型配置(5分钟→实时)
- 缓存统计数据(避免重复计算)
- 缓存简历信息(减少数据库查询)
- 缓存设备状态
2. **职位类型配置缓存**
- 当前5分钟缓存改为即时失效
- 配置更新时清除缓存
- 预加载常用配置
3. **简历信息缓存**
- 缓存最近查询的简历
- LRU淘汰策略
- 简历更新时清除缓存
**技术实现**
- Redis集成: `ioredis`
- 文件路径: `api/middleware/cache/cacheManager.js`
- 缓存策略: LRU, TTL
- 预计工期: 1周
**预期价值**
- 📈 响应速度提升 50%+
- 📉 数据库压力降低 60%+
- 💡 提升系统吞吐量
- ✨ 提供更快的用户体验
---
### 4.2 数据库查询优化 ⭐⭐⭐⭐
**待开发内容**
1. **慢查询分析和优化**
- 开启MySQL慢查询日志
- 分析TOP 10慢查询
- 优化SQL语句
- 添加必要索引
2. **索引优化**
- 分析现有索引使用情况
- 添加复合索引
- 删除冗余索引
- 定期索引维护
3. **分表分库策略**
- 大表分表(如 `chat_records` 按月分表)
- 历史数据归档
- 读写分离(可选)
**技术实现**
- 使用 `EXPLAIN` 分析查询
- Sequelize 索引配置优化
- 数据库迁移脚本
- 预计工期: 1周
**预期价值**
- 📈 查询性能提升 3-5倍
- 📉 慢查询数量减少 80%+
- 💡 数据库可支撑更大数据量
- ✨ 提升系统稳定性
---
### 4.3 任务队列扩展 ⭐⭐⭐
**待开发内容**
1. **支持更多任务类型**
- 定时报告生成
- 数据清理任务
- 批量操作任务
- 自定义任务
2. **任务优先级动态调整**
- 根据紧急程度调整优先级
- VIP用户任务优先执行
- 失败任务降低优先级
- 长时间等待的任务提升优先级
3. **任务失败自动重试优化**
- 更智能的重试策略
- 不同错误类型不同重试间隔
- 重试次数动态调整
- 重试失败后的降级处理
**技术实现**
- 文件路径: `api/middleware/schedule/taskQueue.js` 优化
- 新增任务类型处理器
- 优化优先级算法
- 预计工期: 1周
**预期价值**
- 📈 任务处理更稳定
- 💡 支持更复杂的任务场景
- ✨ 提供更灵活的任务管理
---
### 4.4 并发控制优化 ⭐⭐⭐
**待开发内容**
1. **增加并发设备数**
- 当前最多5个设备
- 支持动态配置并发数
- 根据服务器性能自动调整
- 支持分布式部署
2. **更精细的限流策略**
- 不同任务类型不同限流
- 不同平台不同限流
- 根据时间段动态调整
- API请求限流
3. **分布式锁机制**
- 避免多实例冲突
- Redis分布式锁
- 锁超时自动释放
- 死锁检测
**技术实现**
- Redis分布式锁: `redlock`
- 配置动态化
- 负载均衡策略
- 预计工期: 1周
**预期价值**
- 📈 系统吞吐量提升 2-3倍
- 💡 支持更大规模部署
- ✨ 提供企业级并发控制
---
### 4.5 日志和监控 ⭐⭐⭐⭐
**待开发内容**
1. **完善日志记录**
- 统一日志格式(JSON)
- 日志级别分级(DEBUG/INFO/WARN/ERROR)
- 敏感信息脱敏
- 日志文件按日期切割
2. **性能监控面板**
- API响应时间监控
- 数据库查询时间监控
- 任务执行时间监控
- 内存和CPU监控
3. **异常告警机制**
- 错误率超过阈值告警
- 任务失败立即告警
- 系统资源不足告警
- 钉钉/企业微信告警
4. **操作审计日志**
- 记录所有关键操作
- 操作人、操作时间、操作内容
- 敏感操作二次确认
- 审计日志导出
**技术实现**
- 日志库: `winston`
- 监控: `prometheus` + `grafana` (可选)
- 告警: `api/services/alert_service.js`
- 预计工期: 1.5周
**预期价值**
- 🔍 问题定位效率提升 80%+
- 📊 系统运行状态可视化
- 🚨 及时发现和处理异常
- ✨ 提供运维级别的监控
---
## 附录: 开发优先级建议
### 短期(1-2个月)
**优先开发高价值、低成本功能**
| 功能 | 优先级 | 预计工期 | 价值 |
|------|--------|----------|------|
| 自动聊天功能完善 | ⭐⭐⭐⭐⭐ | 2周 | HR回复率+30% |
| 账号保活任务 | ⭐⭐⭐⭐⭐ | 1周 | 封禁风险-70% |
| 简历智能优化 | ⭐⭐⭐⭐⭐ | 2周 | 竞争力+20% |
| 缓存策略优化 | ⭐⭐⭐⭐ | 1周 | 响应速度+50% |
**预计总工期: 6周**
### 中期(3-4个月)
**完善核心功能和AI能力**
| 功能 | 优先级 | 预计工期 | 价值 |
|------|--------|----------|------|
| 简历自动更新 | ⭐⭐⭐⭐ | 1周 | 曝光率+50% |
| 岗位黑名单和收藏 | ⭐⭐⭐⭐ | 1周 | 精准度+40% |
| 多轮面试跟踪 | ⭐⭐⭐⭐ | 1.5周 | 完整生命周期 |
| 面试问题预测 | ⭐⭐⭐⭐ | 1.5周 | 通过率+30% |
| 数据可视化增强 | ⭐⭐⭐⭐ | 1周 | 数据洞察更直观 |
**预计总工期: 6周**
### 长期(5-6个月)
**提升体验和系统性能**
| 功能 | 优先级 | 预计工期 | 价值 |
|------|--------|----------|------|
| 薪资谈判策略 | ⭐⭐⭐⭐ | 1周 | 薪资+10-15% |
| 公司背景调查 | ⭐⭐⭐⭐ | 1.5周 | 风险-80% |
| 实时通知系统 | ⭐⭐⭐⭐ | 1.5周 | 响应时间-90% |
| 日志和监控 | ⭐⭐⭐⭐ | 1.5周 | 定位效率+80% |
| 数据库查询优化 | ⭐⭐⭐⭐ | 1周 | 性能+3-5倍 |
**预计总工期: 6.5周**
---
## 总结
本规划文档共列出 **20项待开发功能**,分为4个优先级方向:
- **功能完善和补充** (5项, HIGH): 完善核心业务流程
- **AI能力增强** (5项, HIGH): 提升智能化水平
- **用户体验优化** (5项, MEDIUM): 改善交互和便捷性
- **系统性能提升** (5项, MEDIUM): 优化性能和稳定性
**预期开发周期**:
- 短期(1-2月): 6周
- 中期(3-4月): 6周
- 长期(5-6月): 6.5周
- **总计**: 约4.5个月
**预期收益**:
- 📈 整体求职成功率提升 **50%+**
- 📈 用户使用效率提升 **80%+**
- 📈 系统性能提升 **3-5倍**
- 💰 用户平均薪资提升 **10-15%**
---
**文档维护**: 开发团队
**最后更新**: 2025-12-25

387
_doc/项目功能总结.md Normal file
View File

@@ -0,0 +1,387 @@
# 自动找工作系统 - 项目功能总结
> 版本: v1.0 | 更新日期: 2025-12-25
## 一、项目概述
自动找工作系统(autoAiWorkSys)是一个基于AI的智能求职助手平台,通过自动化技术帮助求职者高效管理多个招聘平台账号、智能筛选匹配岗位、自动投递简历,并提供全流程的求职数据分析。系统集成Qwen 2.5 AI模型,实现简历智能分析、岗位匹配度评分、聊天内容生成等功能,大幅提升求职效率和成功率。
## 二、技术栈
### 前端技术
- **框架**: Vue 2.6.14 + Vuex 3.6.2 + Vue Router 3.5.3
- **UI组件**: View Design (iView) 4.7.0
- **构建工具**: Webpack 5
- **图表库**: ECharts
- **HTTP客户端**: 自定义 framework.http
### 后端技术
- **运行时**: Node.js
- **Web框架**: Koa 2.16.3
- **ORM**: Sequelize 5.22.5
- **数据库**: MySQL 8.0
- **消息队列**: MQTT (mqtt://192.144.167.231:1883)
- **AI模型**: Qwen 2.5 (阿里云DashScope)
- **缓存**: Redis (规划中)
- **存储**: Ali OSS
### 核心框架
- **Node Core Framework**: 自研框架,提供统一的API路由、数据库管理、日志管理
## 三、核心特性
1. **多平台账号管理** - 支持Boss直聘、猎聘等多个招聘平台,统一管理账号和授权
2. **智能简历分析** - AI评估简历竞争力(0-100分),提取技能标签,给出优势劣势和职业建议
3. **自动岗位投递** - 基于技能匹配和AI评分自动筛选岗位并投递,支持每日上限和时间范围控制
4. **AI岗位匹配** - 多维度评分(技能、经验、薪资、公司质量),自动识别外包岗位
5. **任务调度系统** - 优先级队列+MQTT通信,设备内串行、设备间并行执行
6. **数据可视化统计** - 投递成功率、面试转化率、不同平台效果对比等多维度分析
7. **设备实时监控** - 在线状态、健康度、错误信息、心跳检测
8. **完整审计日志** - 任务执行、投递记录、聊天记录全链路追踪
## 四、功能模块一览
### 4.1 前端功能模块
| 模块 | 页面路径 | 主要功能 |
|------|---------|----------|
| **首页/仪表板** | `/home` | 设备选择、账户信息卡片、今日统计、当前任务列表、近7天趋势图 |
| **账号管理** | `/account/pla_account` | 账号列表、新增/编辑、授权管理、批量位置解析、停止任务 |
| **账号详情** | `/account/pla_account_detail` | 账号基本信息、任务历史、自动化配置、运行操作面板 |
| **简历管理** | `/account/resume_info` | 简历列表、查看详情、AI分析结果展示、删除 |
| **简历详情** | `/account/resume_info_detail` | 个人信息、教育背景、工作经验、期望信息、AI评分和建议 |
| **岗位管理** | `/work/job_postings` | 岗位列表、过滤查询、打招呼、查看详情 |
| **投递记录** | `/work/apply_records` | 投递状态追踪、反馈状态、面试/Offer信息 |
| **职位类型** | `/work/job_types` | 职位类型配置、技能关键词、排除关键词 |
| **任务管理** | `/task/task_status` | 任务列表、指令详情、取消/重试操作 |
| **聊天管理** | `/chat/chat_list` | 双面板聊天界面、会话列表、AI生成回复 |
| **聊天记录** | `/chat/chat_records` | 聊天历史记录、消息类型、发送状态 |
| **系统配置** | `/system/system_config` | 系统参数配置、AI服务配置、MQTT配置 |
### 4.2 后端API模块
| 模块 | 接口前缀 | 主要功能 |
|------|---------|----------|
| **账号管理** | `/admin_api/account` | 列表、详情、新增、更新、删除、授权、停止任务、位置解析 |
| **简历管理** | `/admin_api/resume` | 列表、详情、统计、删除、AI分析、按设备获取 |
| **岗位管理** | `/admin_api/job` | 列表、详情、统计、删除、打招呼 |
| **投递记录** | `/admin_api/apply` | 列表、详情、统计、删除 |
| **聊天记录** | `/admin_api/chat` | 列表、详情、统计、删除 |
| **设备监控** | `/admin_api/device` | 列表、概览、配置更新、错误重置 |
| **任务状态** | `/admin_api/task` | 列表、详情、统计、更新、删除 |
| **数据统计** | `/admin_api/dashboard` | 综合统计、投递转化率、平台对比、设备排名 |
| **系统配置** | `/admin_api/system` | 配置列表、新增、更新、删除 |
### 4.3 核心业务流程
```
┌─────────────────────┐
│ 账号配置和授权 │
└──────────┬──────────┘
┌─────────────────────┐
│ 获取在线简历(MQTT) │ → AI分析 → 竞争力评分、技能提取、优劣势分析
└──────────┬──────────┘
┌─────────────────────┐
│ 创建自动投递任务 │
└──────────┬──────────┘
┌─────────────────────┐
│ 搜索岗位(MQTT) │ → 保存到job_postings表
└──────────┬──────────┘
┌─────────────────────┐
│ 岗位过滤和匹配 │ → 技能匹配+AI评分+外包识别
└──────────┬──────────┘
┌─────────────────────┐
│ 自动投递(MQTT) │ → 记录apply_records
└──────────┬──────────┘
┌─────────────────────┐
│ 聊天和面试跟踪 │ → AI生成聊天内容
└──────────┬──────────┘
┌─────────────────────┐
│ 数据统计和分析 │
└─────────────────────┘
```
## 五、已实现功能清单
### 5.1 账号管理模块 ✅
- ✅ 多平台账号绑定(Boss直聘、猎聘)
- ✅ 账号状态管理(启用/禁用、在线/离线、登录状态)
- ✅ 自动化开关(自动投递、自动聊天、自动活跃)
- ✅ 授权管理(设置授权日期、天数、过期时间计算)
- ✅ 职位类型配置(关联job_types)
- ✅ 投递配置(时间范围、每日上限、薪资范围、关键词过滤)
- ✅ 沟通配置(时间范围、是否沟通外包岗位)
- ✅ 活跃配置(活跃间隔、活跃动作)
- ✅ 位置解析(单个/批量,经纬度获取)
- ✅ 停止任务(取消该账号所有运行中任务)
### 5.2 简历管理模块 ✅
- ✅ 简历信息存储(个人信息、教育背景、工作经验、期望信息)
- ✅ 简历获取(通过MQTT从设备获取在线简历)
- ✅ AI竞争力评分(0-100分)
- ✅ AI技能标签提取
- ✅ AI优势劣势分析
- ✅ AI职业建议生成
- ✅ 简历与岗位匹配度计算
- ✅ 简历统计(平均竞争力、工作年限分布、竞争力分布)
- ✅ 按设备和平台查询简历
### 5.3 岗位管理模块 ✅
- ✅ 岗位信息存储(基本信息、要求、描述、薪资、地点)
- ✅ 岗位搜索(通过MQTT下发搜索指令)
- ✅ 岗位列表获取(通过MQTT获取列表)
- ✅ AI岗位匹配评分(技能、经验、薪资、公司质量)
- ✅ 外包岗位识别(规则+AI双层识别)
- ✅ 岗位过滤(技能关键词匹配、排除关键词检测)
- ✅ 综合评分计算(多维度权重评分)
- ✅ 岗位统计(总数、平均匹配度、外包比例)
- ✅ 打招呼功能(初次沟通)
### 5.4 自动投递模块 ✅
- ✅ 自动投递任务创建和调度
- ✅ 每日投递上限控制
- ✅ 投递时间范围控制(工作日/周末)
- ✅ 简历刷新检查(2小时内刷新)
- ✅ 岗位过滤和排序
- ✅ 投递指令下发(MQTT)
- ✅ 投递状态追踪(待投递、投递中、成功、失败、重复)
- ✅ 反馈状态管理(无反馈、已查看、感兴趣、不合适、面试邀约)
- ✅ 投递统计(成功率、面试转化率、Offer转化率)
### 5.5 AI分析模块 ✅
- ✅ Qwen 2.5模型集成(阿里云DashScope)
- ✅ 简历智能分析
- ✅ 技能标签提取
- ✅ 竞争力评分(0-100)
- ✅ 优势劣势分析
- ✅ 职业发展建议
- ✅ 岗位智能匹配
- ✅ 技能匹配度(0-100)
- ✅ 经验匹配度(0-100)
- ✅ 薪资合理性(0-100)
- ✅ 公司质量评分(0-100)
- ✅ 外包岗位识别
- ✅ 聊天内容生成(基础框架)
### 5.6 任务调度模块 ✅
- ✅ 优先级任务队列(堆实现,O(log n)性能)
- ✅ 并发控制(全局5设备,每设备1任务)
- ✅ 设备内串行、设备间并行执行
- ✅ 任务状态管理(待执行、执行中、成功、失败、超时、取消)
- ✅ 指数退避重试机制(最多3次)
- ✅ 任务超时检测(10分钟)
- ✅ 错误分类(可重试/不可重试)
- ✅ 任务恢复(启动时恢复未完成任务)
- ✅ 任务统计(岗位搜索数、过滤数、投递数、聊天数)
### 5.7 设备监控模块 ✅
- ✅ 设备状态追踪(在线/离线)
- ✅ 心跳检测(通过MQTT)
- ✅ 健康度评分
- ✅ 错误信息记录
- ✅ 最后心跳时间
- ✅ 设备配置更新
- ✅ 设备错误重置
- ✅ 设备概览统计(在线数、离线数、健康度排名)
### 5.8 数据统计模块 ✅
- ✅ 投递成功率统计
- ✅ 面试转化率统计
- ✅ Offer转化率统计
- ✅ 不同平台数据对比
- ✅ 设备活跃度排名
- ✅ 简历竞争力分布
- ✅ 岗位外包比例统计
- ✅ 近7天趋势图(投递、搜索、聊天)
- ✅ 今日统计(实时刷新)
### 5.9 聊天管理模块 ✅
- ✅ 聊天记录存储
- ✅ 聊天类型分类(打招呼、跟进、面试、回复)
- ✅ 发送状态追踪
- ✅ 回复检测和记录
- ✅ 回复时长统计
- ✅ 面试邀约识别
- ✅ 情感分析(积极/中性/消极)
- ✅ 效果评分
- ✅ AI生成标记
- ✅ 双面板聊天界面
### 5.10 其他功能 ✅
- ✅ 用户邀请和推广系统
- ✅ 公司信息库(上市公司数据)
- ✅ 版本管理
- ✅ 邮件服务集成
- ✅ OSS存储集成
- ✅ 地理位置服务(百度地图API)
- ✅ Swagger API文档
- ✅ 数据导出(CSV)
## 六、数据模型
### 6.1 核心表结构
| 表名 | 说明 | 关键字段 |
|------|------|---------|
| **pla_account** | 平台账号表 | sn_code, platform_type, is_online, auto_deliver, deliver_config |
| **resume_info** | 简历信息表 | resumeId, account_id, aiCompetitiveness, aiSkillTags, aiStrengths |
| **job_postings** | 岗位信息表 | jobId, platform, aiMatchScore, isOutsourcing, applyStatus |
| **apply_records** | 投递记录表 | resumeId, jobId, applyStatus, feedbackStatus, hasInterview, hasOffer |
| **chat_records** | 聊天记录表 | conversationId, chatType, isAiGenerated, hasReply, sentiment |
| **task_status** | 任务状态表 | taskType, status, priority, retryCount, progress |
| **task_commands** | 任务指令表 | taskId, commandType, commandData, response, executeTime |
| **job_types** | 职位类型表 | name, commonSkills, excludeKeywords, sortOrder |
| **device_monitor** | 设备监控表 | sn_code, is_online, health_score, last_heartbeat_time |
| **company_info** | 公司信息表 | company_name, is_listed, market_value, risk_level |
### 6.2 表关联关系
```
pla_account (1) ──→ (N) resume_info
├─→ (N) apply_records ←── (1) job_postings
│ │
│ └─→ (N) chat_records
└─→ (N) task_status ──→ (N) task_commands
pla_account (1) ──→ (1) job_types (职位类型配置)
pla_account (1) ──→ (N) device_monitor (设备监控)
```
## 七、快速开始
### 7.1 环境要求
- Node.js >= 14.x
- MySQL >= 8.0
- Redis (可选,用于缓存)
- MQTT Broker (已配置: mqtt://192.144.167.231:1883)
### 7.2 安装步骤
```bash
# 1. 克隆项目
git clone <repository-url>
cd autoAiWorkSys
# 2. 安装后端依赖
npm install
# 3. 安装前端依赖
cd admin
npm install
# 4. 配置数据库
# 编辑 config/config.js
# 设置MySQL连接信息
# 5. 初始化数据库
# 执行 _sql 目录下的SQL脚本
# 6. 启动后端服务
npm run dev
# 7. 启动前端服务(新终端)
cd admin
npm run dev
```
### 7.3 核心配置
**config/config.js** - 主配置文件
```javascript
{
db: {
host: 'localhost',
port: 3306,
database: 'auto_job',
username: 'root',
password: 'your_password'
},
mqtt: {
host: 'mqtt://192.144.167.231:1883',
clientId: 'autoAiWorkSys_server'
},
ai: {
apiKey: 'your_dashscope_api_key',
model: 'qwen-turbo' // qwen-turbo/qwen-plus/qwen-max
}
}
```
### 7.4 访问地址
- 前端管理后台: http://localhost:8080
- 后端API: http://localhost:3000/admin_api
- API文档: http://localhost:3000/api/docs
## 八、项目文件结构
```
autoAiWorkSys/
├── admin/ # 前端管理后台
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── api/ # API调用
│ │ ├── router/ # 路由配置
│ │ └── store/ # Vuex状态管理
│ └── package.json
├── api/ # 后端服务
│ ├── controller_admin/ # 后台管理API
│ ├── middleware/ # 核心业务逻辑
│ │ ├── job/ # 岗位、简历、聊天管理
│ │ ├── schedule/ # 任务调度系统
│ │ └── mqtt/ # MQTT通信
│ ├── model/ # 数据库模型
│ ├── services/ # 业务服务层
│ └── utils/ # 工具函数
├── config/ # 配置文件
├── framework/ # 核心框架
├── _doc/ # 文档目录
├── _sql/ # 数据库脚本
└── package.json
```
## 九、技术亮点
1. **优先级队列** - 堆实现,O(log n)性能,比数组提升10-100倍
2. **双层过滤** - 规则过滤+AI评分,平衡性能和准确性
3. **智能重试** - 指数退避策略,区分可重试和不可重试错误
4. **MQTT通信** - 异步消息队列,高效的设备指令下发和响应
5. **AI多场景应用** - 简历分析、岗位匹配、聊天生成、外包识别
6. **完整审计** - 任务、投递、聊天全链路追踪
7. **模块化设计** - 清晰的分层架构,易于扩展和维护
## 十、性能指标
- 任务调度延迟: < 100ms
- 数据库查询: 95%在100ms内
- MQTT消息延迟: < 50ms
- 前端页面加载: < 2s
- 并发支持: 最多5个设备同时执行
---
**文档维护**: 开发团队
**最后更新**: 2025-12-25
**联系方式**: 项目Issues