Sources: ~/.openclaw/skills, ~/.agents/skills, workshop-skills, workspace/skills
3.1 KiB
3.1 KiB
name, description
| name | description |
|---|---|
| remind-me | 飞书加急提醒:设置定时提醒,到点自动通过飞书加急消息弹窗通知用户。支持"X点提醒我XXX"等自然语言。 |
Remind Me — 飞书加急提醒
设置定时提醒,到点自动通过飞书加急消息弹窗通知用户。支持"X点提醒我XXX"等自然语言。
触发条件
用户说出类似以下话语时触发:
- "X点提醒我XXX"
- "X分钟后提醒我XXX"
- "今晚8点提醒我XXX"
- "明天早上9点叫我XXX"
流程
1. 解析时间和内容
从用户话语中提取:
- 时间:转换为 ISO-8601 UTC 时间戳(注意时区:用户在东八区 Asia/Shanghai,需减8小时转UTC)
- 内容:提醒的具体事项
- 如果时间表述模糊(如"明天早上"),确认具体时间
2. 创建定时任务
用 automations(action="add") 创建(CLI 侧核对用 openclaw cron list)。⚠️ 不要用 agentTurn 类型:依赖 LLM,DeepSeek 高峰期会超时导致 job 失败(2026-08-12 踩坑)。也不要写 payload.kind:"command" + argv——该形状会被拒(实测报 unexpected property 'command'),现在只接受 systemEvent / agentTurn / script。
用 script 类型(code mode 里跑一次 exec),零 LLM 依赖:
{
"name": "remind-me-{简短描述}",
"schedule": { "kind": "at", "at": "{ISO-8601 UTC时间}" },
"sessionTarget": "isolated",
"deleteAfterRun": true,
"delivery": { "mode": "none" },
"payload": {
"kind": "script",
"script": "const r = await exec({command: \"python3 /root/.openclaw/workspace/scripts/feishu_urgent.py '⏰ {提醒内容}'\"});\nreturn {output: r.stdout ?? JSON.stringify(r)};",
"timeoutSeconds": 60
}
}
关键字段:
schedule.kind: "at"— 一次性定时schedule.at— UTC 时间,北京时间20:00 =2026-07-29T12:00:00.000Zpayload.kind: "script"— code mode 里执行 shell,不走 LLM(同 daily-leetcode,用openclaw cron list查它当前 ID)sessionTarget: "isolated"+delivery.mode: "none"— 脚本自己发飞书加急,不需要再 announce 一条deleteAfterRun: true— 一次性 job 成功投递后自动删- 脚本内自读
~/.openclaw/.env的FEISHU_USER_ID,无需显式传 user_id - 提醒文本保持 10-30 字且不含引号,避免 JS/shell 嵌套转义出错
3. 确认
创建成功后告诉用户:
- 提醒时间(北京时间)
- 提醒内容
- "到点会飞书加急弹窗哦~"
想先验证链路,另建一个 2 分钟后的测试提醒触发一次(别 force 正式那条,会立刻弹一次)。
4. 修改/取消
用户说"取消提醒" → automations(action="remove") 删除最近创建的 remind-me-* 任务
脚本依赖
scripts/feishu_urgent.py 已封装飞书加急全流程:
python3 scripts/feishu_urgent.py "消息内容" [user_id]
内部自动完成:读配置 → 获取 token → 发消息 → 加急弹窗
时区换算
用户说的都是北京时间(Asia/Shanghai)。转为 UTC:
- 北京时间 - 8 小时 = UTC
- 例:今晚8点 =
2026-07-29T20:00:00+08:00=2026-07-29T12:00:00.000Z