Files
NightStar 3d3dd79df0 Add 39 shared skills from local agent inventory
Sources: ~/.openclaw/skills, ~/.agents/skills, workshop-skills, workspace/skills
2026-09-10 16:54:57 +08:00

3.1 KiB
Raw Permalink Blame History

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.000Z
  • payload.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