Files
zhaopin/templates/report-format.md
T

117 lines
4.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 简历筛选数据汇报模板(v2 固化版,2026-08-26)
## ⚠️ 核心纪律:日报一律由脚本生成,禁止手写
**历史问题**:之前日报由 LLM 按模板手写,每天理解有偏差,隔天格式就走样(用户多次纠正)。
**解决方案(2026-08-26 起)**:日报由 `scripts/daily-report.js` **确定性生成**——格式写死在代码里,每天逐字符一致。
- 自动日报:daily-runner.js / enforce-cutoff.js 调用脚本生成并发送
- 手动汇报(用户说"发下今天的汇总/日报"):**也必须运行脚本**,不许手写:
```bash
cd /opt/data/skills/recruitment-resume-screener/scripts && node daily-report.js [YYYY-MM-DD]
```
- 想改格式:改 `daily-report.js` 代码并同步更新本文件,**不许**在任何一次汇报中临时改格式
## 固定格式(daily-report.js 的输出结构)
```markdown
# 📊 智联简历筛选日报
**YYYY-MM-DD 周X** · 岗位:二手车出口外贸业务员
---
## ■ 今日总览
| 指标 | hr1 Chrome | hr2 Edge | 合计 |
|:---|---:|---:|---:|
| 新增筛选 | X | X | **X** |
| 打招呼 | X | X | **X** |
## ■ hr1(Chrome)
| 结果 | 人数 | 占比 |
|:---|---:|---:|
| ✅ 推荐 | X | X% |
| ⏳ 待定 | X | X% |
| ⛔ 拦截 | X | X% |
(无数据时:> 今日无筛选数据 · 状态)
## ■ hr2(Edge)
(同 hr1 结构)
**打招呼画像(X 人)**(仅当有打招呼时出现)
| 姓名 | 年龄 | 学历 | 经验 | 评分 | 级别 |
|:---|---:|:---:|---:|---:|:---:|
(最多 5 行,超出显示"…共 X 人")
## ■ 资源与状态
| 账号 | 聊天剩余 | 状态 |
|:---|---:|:---|
| hr1 Chrome | 剩 X 次 | ✅ 在线 |
| hr2 Edge | 剩 X 次 | ✅ 在线 |
- 历史累计:X 人
```
## 数据源与查询逻辑(脚本内置)
- 数据库:`RECRUITMENT_DB` 环境变量,默认 `/opt/data/recruitment-data/recruitment-live.db`
- 当日范围:`scraped_at` 在当日 00:00-23:59(UTC ISO 字符串)
- 账号区分:`account` 字段(hr1/hr2)
- 打招呼画像:当日 `greeted=1 AND greeted_at` 为当日的人,按分数降序
- 环境变量(调用方可传):`CHAT_LEFT_HR1/HR2`(聊天剩余)、`HR1_STATUS/HR2_STATUS`(账号状态文案,如 🚨 登录失效)
- 占比:分母为该账号当日新增总数,保留 1 位小数
## 消息渠道纪律(2026-08-26 用户确认)
- 日报(每日1条,任务结束后)→ **群** `feishu:oc_7ef4980f25ec2a80bb013d5dd79b9864`
- 登录态失效告警 → **群**
- 隧道失败/风控/验证码等异常 → **私聊** `feishu:oc_d09c77b62ca5f90f6699830fbc695c44`
- 批次过程消息(每批多少人/聊天剩多少/累计等)→ **一律不发**,只写日志文件
- 用 `hermes send -f 文件` 发送,不用 `MEDIA:` 发文件
- **用户说"给我发"= 发私聊**;未明确说"发群里"时禁止向群发任何消息(含测试/演示,2026-08-26 教训)
## 告警消息固定模板(脚本写死,禁止手写改动)
以下消息文案在 daily-runner.js 代码中写死,每次触发逐字符一致,禁止 LLM 手写或临时改写:
**① 登录态失效(发群):**
```
🚨 hr1(Chrome·合塑账号)智联登录态已失效,今日筛选中止,请在任务机重新登录智联
🚨 hr2(Edge·派卡账号)智联登录态已失效,今日筛选中止,请在任务机重新登录智联
```
(hr1=合塑账号,hr2=派卡账号;修改需改 daily-runner.js 代码并同步本文件)
**② 隧道失败(发私聊):**
```
🚨 {hr1|hr2} CDP隧道无法建立,今日筛选未执行,请检查任务机100.64.0.7
```
**③ 风控/验证码(发私聊):**
```
🚨 {hr1|hr2} 触发风控/验证码(脚本ALERT原文),今日筛选中止
```
**④ 18:05 收队结果(发私聊,cron 汇报):**
```
✅ 18点收队完成,无异常,日报已发群。
⚠️ 今日收队异常 N 项:(逐项列出)
```
## ⚠️ 格式纪律(用户反复纠正的教训,全部保留)
- **格式只允许这一种**(脚本输出),不得自行发明第二套格式、调换段落顺序、省略字段或改 emoji 标题
- 手动汇报前先运行脚本,不手写、不"参考着写"
- 不添加模板外的附加段落(观察段/AI分析/任务状态说明),除非用户明确要求
- 只汇报当日数据,不列历史(除非用户明确要求)
- Cron 启动任务的最终回复只用一句话确认(PID + 目标),**禁止**输出候选人明细或表格(2026-06-25 教训)
## 旧版模板归档说明
v1 模板(评分分布/学历分布/意向城市Top5/待定分数段等完整版)已废弃。若用户要求"详细版"报表,需明确说,届时在 daily-report.js 中加 `--detail` 模式实现并更新本文件,同样不许手写。