工作日下班提醒技能。提供工作日下班时间(默认 17:30)的定时提醒、倒计时查询和提醒管理功能。当用户提到"下班提醒"、"下班倒计时"、"还有多久下班"、"设置下班时间"等相关需求时触发。支持工作日和周末区分提醒。
当用户提到「下班提醒」「下班时间」「还有多久下班」「几点下班」「查看倒计时」等任何涉及下班时间的请求时,必须调用 cron 工具来设置定时提醒或计算倒计时,绝对不能只用自然语言回复说"好的"!
你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用 cron 工具才能真正注册定时任务。
默认下班时间:17:30(工作日)
"30 17 * * 1-5"Asia/Shanghaipayload.kind 必须是 "agentTurn",绝对不能用 "systemEvent"!
5 个不可更改字段:
| 字段 | 固定值 | 原因 |
|---|---|---|
payload.kind | "agentTurn" | systemEvent 不会发 QQ 消息 |
payload.deliver | true | 否则不投递 |
payload.channel | "qqbot" | QQ 通道标识 |
payload.to | 用户 openid | 从上下文获取 |
sessionTarget | "isolated" | 隔离会话避免污染 |
提醒消息模板:
{
"message": "你是一个暖心的下班提醒助手。请用温暖、有趣的方式提醒用户:下班时间到了!要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的关心或鸡汤的话,比如'辛苦了,好好休息'、'今天也很棒,明天继续加油' (5) 控制在2-3句话以内 (6) 用🏃、🎉、✨等emoji点缀,让提醒更有活力"
}
完整的 job 配置:
{
"action": "add",
"job": {
"name": "工作日下班提醒",
"schedule": {
"kind": "cron",
"expr": "30 17 * * 1-5",
"tz": "Asia/Shanghai"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "你是一个暖心的下班提醒助手。请用温暖、有趣的方式提醒用户:下班时间到了!要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的关心或鸡汤的话,比如'辛苦了,好好休息'、'今天也很棒,明天继续加油' (5) 控制在2-3句话以内 (6) 用🏃、🎉、✨等emoji点缀,让提醒更有活力",
"deliver": true,
"channel": "qqbot",
"to": "{用户的openid}"
}
}
}
**注意:**周期任务(cron)不加
deleteAfterRun,否则每次触发后都会被删除。
计算逻辑:
回复模板:
工作日,还未下班:
🕐 今天是工作日,下班时间 17:30
⏰ 距离下班还有:X小时Y分钟
💪 加油,马上就可以下班啦!
工作日,已经下班:
🎉 今天已经下班啦!
💤 好好休息,明天见~
周末:
😌 今天是周末,不用上班哦~
📅 距离下个工作日下班还有:X天Y小时
计算示例(使用 Python 脚本):
python3 scripts/countdown.py --offtime "17:30"
脚本返回 JSON 格式的倒计时信息:
{
"today": "工作日",
"current_time": "13:45",
"off_time": "17:30",
"countdown": "3小时45分钟",
"already_off": false,
"message": "🕐 今天是工作日,下班时间 17:30\n⏰ 距离下班还有:3小时45分钟\n💪 加油,马上就可以下班啦!"
}
使用 cron 工具的 list 功能:
{ "action": "list" }
回复模板:
📋 你的下班提醒已设置:每天 17:30(工作日)📭 目前还没有设置下班提醒哦~ 说"设置下班提醒"就可以啦!先 list 找到 jobId,然后 remove:
{ "action": "remove", "jobId": "{jobId}" }
回复模板:✅ 已取消下班提醒~
需要先取消旧提醒,再创建新提醒。注意 cron 表达式的格式:
"0 18 * * 1-5""30 18 * * 1-5""0 17 * * 1-5"用户说:
AI 行为:
cron 工具创建工作日 17:30 的定时提醒🏃 收到!工作日每天 17:30 会提醒你下班~用户说:
AI 行为:
scripts/countdown.py 计算倒计时用户说:
AI 行为:
cron listcron removeremove 再 add用户可以指定自定义下班时间,格式为 HH:MM(24小时制):
示例:
"0 18 * * 1-5""30 18 * * 1-5""0 17 * * 1-5"解析逻辑:
cron 表达式生成公式:
"{分钟} {小时} * * 1-5"
| 下班时间 | Cron 表达式 |
|---|---|
| 17:00 | "0 17 * * 1-5" |
| 17:30 | "30 17 * * 1-5" |
| 18:00 | "0 18 * * 1-5" |
| 18:30 | "30 18 * * 1-5" |
| 19:00 | "0 19 * * 1-5" |
字段说明:
*:每天1-5:周一到周五| 场景 | 回复 |
|---|---|
| 设置提醒成功 | 🏃 收到!工作日每天 {时间} 会提醒你下班~ |
| 查询有提醒 | 📋 你的下班提醒已设置:每天 {时间}(工作日) |
| 查询无提醒 | 📭 目前还没有设置下班提醒哦~ 说"设置下班提醒"就可以啦! |
| 取消提醒成功 | ✅ 已取消下班提醒~ |
| 修改提醒成功 | ✅ 下班提醒已更新为:每天 {时间}(工作日) |
| 倒计时(未下班) | 🕐 今天是工作日,下班时间 {时间}\n⏰ 距离下班还有:{倒计时}\n💪 加油,马上就可以下班啦! |
| 倒计时(已下班) | 🎉 今天已经下班啦!\n💤 好好休息,明天见~ |
| 倒计时(周末) | 😌 今天是周末,不用上班哦~\n📅 距离下个工作日下班还有:{倒计时} |