OpenClaw 提醒
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @zcwl/openclaw-reminder 到当前 AI 助手中。
技能介绍
要解决什么问题
当你在聊天窗口里说“30 秒后提醒我查天气”或“明天下午 3 点提醒我提交报告”,系统通常不会真的去安排一个后台任务。即使手动设置,也容易遇到三类问题:提醒时间解析不准确、任务结果不知道回到哪个聊天会话、以及提醒内容里可能夹带不应执行的 shell 片段。这个技能把“一次性提醒”抽象成一次 cron 任务创建,让 agent 在对话上下文里直接完成定时与回传。
它是怎么做的
识别时间意图
技能会解析用户输入中的相对与绝对时间:
- 相对时间:
30 seconds、1 minute、30 minutes、2 hours、1 day - 绝对时间:
3pm、9am today、12pm tomorrow
解析后统一转换为 ISO 8601 时间,供 OpenClaw cron 使用。
使用 OpenClaw cron 创建一次性任务
核心方式是创建 cron job,让任务在目标时间执行,并在执行后返回结果。固定参数包括:
--session main:使用 main session 继承 Discord 上下文--system-event:向 main session 注入 system event--channel discord:投递到 Discord channel--announce:执行结果直接发送到 Discord--delete-after-run:任务执行后自动删除,避免残留
动态参数则从当前会话上下文获取:通过 session_status 工具读取 deliveryContext,把 deliveryContext.accountId 映射为 --agent,把 deliveryContext.to 映射为 --to。这样 agent 能沿用当前聊天中的投递身份与目标,而不需要用户重新填写。
安全过滤任务内容
用户输入的提醒正文会先经过 sanitize-message.sh 校验。校验方式不是转义,而是直接拒绝包含危险模式的输入,例如:
- 命令替换:
$()、反引号 - Shell 元字符:
;、|、&、>、<、引号 - 危险命令片段
创建完成后,技能会用一句确认信息回复用户,例如“OK, will remind you in X minutes/to do XXX”,但不会把底层 cron 命令直接展示出来。
适用边界
- 时间必须位于未来,不能是过去
- 任务内容建议保持简洁清晰,避免长文本与复杂结构
- 超过 48 小时的提醒更建议使用日历类工具,而不是本技能
- 可靠投递依赖
--session main与--system-event的组合,尤其面向 Discord channel - 所有用户指定内容都应先通过
sanitize-message.sh校验再创建 job
使用场景
- 在 Discord 频道讨论时,需要让 agent 30 秒后提醒大家查看刚发的截图并反馈问题。
- 下午要参加评审会,需要在今天 3 点收到提醒,打开需求文档并确认改动范围。
- 值班时临时离开工位,需要在 2 小时后收到提醒,回来检查告警是否仍未恢复。
- 把一段包含 shell 特殊字符的提醒内容交给 agent 前,希望先被安全校验拦截。
适合人员
- 在 Discord 社区做技术支持的运营,希望临时提醒直接发回当前频道,不用另开任务面板。
- 需要定时执行脚本或检查日志的开发者,希望用一句话创建一次性 cron 提醒。
- 负责值班巡检的 SRE,希望在离开工位后收到延迟提醒回来复核告警状态。
- 使用 AI agent 处理聊天事务的重度用户,希望提醒沿用当前会话的投递上下文。