# 心跳任务

后台定时检查候选人回复，配合约面试工作流使用。

---

## 创建心跳任务

使用 **CronCreate 工具**：

- **cron**: `*/30 * * * *`
- **recurring**: `true`
- **prompt**:
  ```
  用 opencli boss chatmsg <uid> 查看最新消息，判断 <候选人姓名> 是否有新回复。
  如有实质性回复（同意/拒绝/给出时间）则执行约面试流程 Step 5：
  查看日程，然后直接在当前对话中告知用户候选人的回复内容，并提供 2-3 个候选时间请用户确认。
  否则静默等待。
  ```

## 查询活跃任务

```
CronList
```

→ 返回所有活跃 job 及其 ID，用于后续 CronDelete。

## 终止心跳任务

面试约好后，执行：

```
CronDelete <job_id>
```

→ job_id 通过 CronList 查询获得。

---

## 检查逻辑

1. `opencli boss chatmsg <uid>` 查最新消息（串行，不并行）
2. 判断是否有新回复（对比上次已知最后消息时间）
3. 有明确回复 → 执行约面试 Step 5（查日程 → 飞书确认）
4. 无新消息 → 静默，等下次心跳
