167 lines
4.4 KiB
Markdown
167 lines
4.4 KiB
Markdown
|
|
# 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. **持续跟进**:支持复聊管理,提高回复率
|