# BOSS招聘自动化优化说明 ## 优化内容 ### 1. 添加筛选功能 #### 活跃度筛选 - 支持解析"03月03日"、"昨天"、"今天"、"刚刚"等时间格式 - 筛选条件: - 今天活跃 - 3天内活跃 - 本周活跃 - 本月活跃 - 不限 #### 年龄筛选 - 从候选人简历中获取年龄信息 - 根据配置的最小年龄和最大年龄进行筛选 #### 学历筛选 - 支持学历等级:初中、高中、中专、大专、本科、硕士、博士 - 候选人学历需要达到或高于要求学历 #### 期望职位筛选 - 根据候选人的期望职位(jobName字段)进行筛选 - 支持多个职位关键词匹配 ### 2. 联系人记录管理 #### 自动保存联系人 - 从聊天中获取到的联系方式(微信号/手机号)自动保存到数据库 - 保存到 `ContactRecord` 表中 - 包含信息: - 姓名 - 岗位 - 联系方式(微信或手机) - 回复状态 - 是否交换微信 - 联系时间 - 备注 #### 去重处理 - 检查是否已存在相同姓名和联系方式的记录 - 如果存在则更新,不存在则创建新记录 ### 3. 复聊管理 #### 消息过滤 - **过滤自己发送的消息**:只保留对方发送的消息进行分析 - 解决了之前"发送带微信号的消息后,识别到自己消息"的问题 - 通过 `fromId` 字段判断消息来源(fromId=0 表示对方发送) #### 等待回复 - 发送询问微信号后,等待最多30秒 - 每3秒检查一次是否有新回复 - 自动识别对方回复中的联系方式 #### 跟进话术 - 如果对方没有回复,可以发送跟进话术 - 支持按岗位配置不同的跟进话术 - 从 `ChatScript` 表中读取话术(script_type="followup") - 如果没有特定岗位话术,使用通用话术 ## 使用方法 ### 1. 配置筛选条件 在数据库 `filter_config` 表中配置筛选条件: ```python FilterConfig.objects.create( name="Python开发筛选", age_min=22, age_max=35, education="本科", activity="3天内活跃", positions=["Python开发", "后端开发", "全栈开发"], is_active=True ) ``` ### 2. 配置复聊话术 在数据库 `chat_script` 表中配置话术: ```python ChatScript.objects.create( position="Python开发", script_type="followup", content="您好,看到您的简历很符合我们的要求,期待与您进一步沟通。", is_active=True ) # 通用话术 ChatScript.objects.create( position="通用", script_type="followup", content="您好,期待与您进一步沟通。", is_active=True ) ``` ### 3. 运行招聘任务 任务会自动: 1. 获取候选人列表 2. 应用筛选条件 3. 逐个打开会话 4. 过滤自己的消息,只分析对方消息 5. 如果没有联系方式,发送询问 6. 等待对方回复并识别联系方式 7. 自动保存联系人记录到数据库 8. 如果需要,发送跟进话术 ## 数据库表说明 ### FilterConfig(筛选配置表) - `name`: 配置名称 - `age_min`: 最小年龄 - `age_max`: 最大年龄 - `education`: 学历要求 - `activity`: 活跃度要求 - `positions`: 期望岗位列表(JSON) - `is_active`: 是否启用 ### ChatScript(话术表) - `position`: 岗位类型 - `script_type`: 话术类型(first/followup/wechat/closing) - `content`: 话术内容 - `keywords`: 触发关键词 - `is_active`: 是否启用 ### ContactRecord(联系人记录表) - `name`: 姓名 - `position`: 岗位 - `contact`: 联系方式 - `reply_status`: 回复状态 - `wechat_exchanged`: 是否交换微信 - `notes`: 备注 - `contacted_at`: 联系时间 ## 注意事项 1. **活跃度时间解析**: - 支持"03月03日"格式,自动判断年份 - 如果月份大于当前月份,认为是去年的日期 2. **消息过滤**: - 通过 `fromId` 字段区分消息来源 - `fromId=0` 表示对方发送的消息 - 其他值表示自己发送的消息 3. **复聊等待时间**: - 默认等待30秒 - 可以根据实际情况调整 `max_wait` 参数 4. **筛选配置**: - 只有 `is_active=True` 的配置才会生效 - 如果没有启用的配置,跳过筛选,处理所有候选人 ## 优化效果 1. **提高效率**:通过筛选减少无效沟通 2. **自动记录**:联系方式自动保存,无需手动整理 3. **智能识别**:过滤自己的消息,只识别对方的联系方式 4. **持续跟进**:支持复聊管理,提高回复率