Files

3.8 KiB
Raw Blame History

name, description, status, version, date
name description status version date
scheduled-reminders 创建/管理定时提醒(每周/每天/睡前等周期或一次性)并推送钉钉。触发:帮我设提醒、每天X点提醒、每周提醒。 proposal v1 2026-09-14T16:17:55.764Z

scheduled-reminders

创建和管理杨轩的定时提醒:周期性(每周/每天)或一次性,统一通过钉钉推送。非生日类提醒走本 skill;生日提醒走 birthday-reminder skill。

触发场景

  • 杨轩说「帮我设个提醒」「每天 X 点提醒我」「每周三提醒」「睡前提醒」等
  • 需要查看/修改/删除已有提醒任务

核心规则(必须遵守)

所有提醒都是 OpenClaw cron 任务,统一:

  • 投递只交给 delivery--announce --channel dingtalk-connector --to 0464031658857345。payload 只输出文案 --command 'echo "..."'
  • 禁止在命令里手动调 openclaw message send——CLI 的 message send 不认识 dingtalk-connector(内置频道枚举无 DingTalk 插件名),会 exit 1 失败。
  • 必须 --agent main:多 agent 环境下无 owneragent-less)的 cron 任务会让调度器 nextWake 锁死,阻塞所有提醒。
  • 时间参数:周期性用 --cron "<表达式>" --tz Asia/Shanghai;一次性用 --at(不带时区按 UTC 处理,北京时间 = UTC+8)。

创建一条周期提醒

openclaw cron add "任务名" \
  --cron "0 21 * * 2" --tz Asia/Shanghai \
  --agent main --session isolated --announce \
  --channel dingtalk-connector --to 0464031658857345 \
  --wake now --display-name "任务名" \
  --command 'echo "提醒文案"'

cron 星期数字:周日 = 0,周一 = 1 … 周六 = 6(容易记错,务必核对)。

一次创建多条(批量)

多条同类提醒时,写一个 shell 助手函数把上面的标准 flag 包起来,再用循环调用(模板见 examples/batch-reminders.sh),比逐条手敲省大量往返。文案相同的提醒合并成变量复用,避免重复粘贴。

验证(必做)

创建后用 openclaw cron get <id> 逐条确认:

  • agentId=main
  • delivery.mode=announcedelivery.channel=dingtalk-connectordelivery.to=0464031658857345
  • schedule.expr 与下次触发 nextRunAtMs 正确

整库不应残留 message send 字样。

带打卡确认的提醒(用户要求「要打卡/要确认」时)

提醒发出后用户可能不回复,需要二次确认时,用「提醒 + 延后检查」两条任务:

  1. 提醒文案末尾加一句打卡要求:完成后回我一句「打卡」✅
  2. 另建一条延后检查任务(如提醒 21:00、检查 22:30),payload 用 --message(agentTurn),先读会话再决定是否催:
    • sessions_history 读会话 agent:main:dingtalk-connector:direct:0464031658857345 当天消息
    • 用户已在提醒时间后回复过关键词(如「打卡」)→ 回 NO_REPLY(不打扰)
    • 未回复 → 发一条温和催促
  3. 检查任务用与提醒相同的 delivery 参数(--agent main、announce、dingtalk-connector)。
openclaw cron add "打卡检查" \
  --cron "30 22 * * *" --tz Asia/Shanghai \
  --agent main --session isolated --announce \
  --channel dingtalk-connector --to 0464031658857345 \
  --wake now \
  --message '检查打卡:用 sessions_history 读会话 agent:main:dingtalk-connector:direct:0464031658857345 今天的消息;若用户在提醒时间后回复过「打卡」则回 NO_REPLY,否则发一条温和催促。'

修改 / 删除

  • 改文案/时间:openclaw cron edit <id> --command '...'(或 --cron/--message
  • 删除:openclaw cron rm <id>

参考

  • 生日提醒(农历换算、每年重设、一次性任务):见 birthday-reminder skill
  • 完整钉钉推送规范:workspace/TOOLS.md📢 钉钉推送统一规范」