一键导入
dingtalk-cron-job
// 钉钉渠道专用定时提醒技能。触发场景:用户提到任何时间点提醒、某时间做某事、循环提醒(如'每隔X分钟提醒我'、'下午3点提醒我'、'10分钟后叫我')时,必须使用 cron job。
// 钉钉渠道专用定时提醒技能。触发场景:用户提到任何时间点提醒、某时间做某事、循环提醒(如'每隔X分钟提醒我'、'下午3点提醒我'、'10分钟后叫我')时,必须使用 cron job。
| name | dingtalk-cron-job |
| description | 钉钉渠道专用定时提醒技能。触发场景:用户提到任何时间点提醒、某时间做某事、循环提醒(如'每隔X分钟提醒我'、'下午3点提醒我'、'10分钟后叫我')时,必须使用 cron job。 |
| metadata | {"openclaw":{"always":true}} |
当用户提到任何与时间点提醒相关的内容时,必须使用exec直接调用 openclaw cron add 创建定时任务。不要用OpenClaw 内置的 cron 工具。
以下情况必须使用 cron job:
openclaw cron add \
--name "<根据对话生成的任务名>" \
--at "<时间>" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):<具体提醒内容>" \
--announce \
--channel "clawdbot-dingtalk" \
--to "<用户的senderStaffId>"
| 参数 | 规则 | 说明 |
|---|---|---|
--name | 根据对话自动生成 | 简短描述任务,如"站立活动提醒"、"会议提醒" |
--at | 绝对时间需带时区 | 绝对时间用 ISO8601 且包含时区偏移或 Z,如 2026-02-02T14:30:00+08:00 / 2026-02-02T06:30:00Z;相对时间用 20m / 2h 等 |
--cron | 循环任务用此参数 | 配合 --tz "Asia/Shanghai" 使用 |
--session | 必须是 isolated | 不可用 main,否则消息可能丢失 |
--message | 必须以"直接输出以下内容"开头 | 见下方详细说明 |
--announce | 建议显式写出 | isolated 任务默认就是 announce 模式,但显式写出更明确意图 |
--channel | 必须是 clawdbot-dingtalk | 钉钉渠道固定值 |
--to | 单聊用 senderStaffId;群聊用 dingtalk:group:<cid...> | 群提醒见下方说明 |
--delete-after-run | 循环任务不要加 | --at 一次性任务默认自动删除,无需手动加 |
只允许使用以下命令做验证/排障,禁止自造变体:
openclaw cron run <job-id> --force --expect-final
openclaw cron runs --id <job-id> --limit 5
openclaw cron rm <job-id>
说明:
cron run 只接受位置参数 <job-id>,不要写 --idcron runs 必须写 --id--expect-final 用于等待最终回复,避免"看起来成功但无最终输出"当用户说"在群里提醒大家/提醒本群"时,用群目标而不是用户 staffId:
--to "dingtalk:group:<cid...>"示例:
openclaw cron add \
--name "群打卡提醒" \
--cron "0 17 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):该下班打卡啦~" \
--announce \
--channel "clawdbot-dingtalk" \
--to "dingtalk:group:cidxxxxxxxx"
--announce 与 --deliver--announce 和 --deliver 是同一功能的别名,--deliver 已弃用,请统一使用 --announce。它们的作用是把隔离任务输出投递到渠道/用户;不投递则只在内部/主会话可见。isolated 任务默认就是 announce 模式,但建议显式写出 --announce 以明确意图。
核心理解:--message 的内容会作为 prompt 发给一个隔离的 AI session。该 session 的 纯文本输出 会被 announce 机制自动投递给用户的钉钉。AI 不需要也不应该调用任何工具(如 message)来发送消息。
--message "提醒用户:起来活动一下"
执行时 AI 会误认为需要调用 message 工具主动发送,导致因缺少 target 参数而报错 "Action send requires a target."。
--message "直接输出以下内容(禁止调用工具):该起来活动一下了!久坐对身体不好,请起身走动几分钟。"
直接输出以下内容(禁止调用工具):<内容>直接生成一条关于<主题>的提醒并输出(禁止调用工具)用户说:"下午3点提醒我开会"
openclaw cron add \
--name "开会提醒" \
--at "2026-02-02T15:00:00+08:00" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):下午3点的会议马上开始了,请准备参会。" \
--announce \
--channel "clawdbot-dingtalk" \
--to "02482523065424091871"
用户说:"20分钟后提醒我喝水"
openclaw cron add \
--name "喝水提醒" \
--at "20m" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):该喝水了!保持水分很重要。" \
--announce \
--channel "clawdbot-dingtalk" \
--to "manager9140"
用户说:"每2小时提醒我休息一下"
openclaw cron add \
--name "定时休息提醒" \
--cron "0 */2 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):已经过去2小时了,该休息一下眼睛和身体。" \
--announce \
--channel "clawdbot-dingtalk" \
--to "manager9140"
用户说:"每天早上9点提醒我看日报"
openclaw cron add \
--name "日报提醒" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "直接输出以下内容(禁止调用工具):早上好!该查看今日日报了。" \
--announce \
--channel "clawdbot-dingtalk" \
--to "manager9140"
创建任务前确认:
--cron 配合 --tz "Asia/Shanghai")--session isolated 不是 main--message 以"直接输出以下内容(禁止调用工具)"开头,不要用"提醒用户"句式--announce(显式声明投递意图)cron.enabled 未被关闭,且未设置 OPENCLAW_SKIP_CRON=1--channel 是 clawdbot-dingtalk--to 是正确的 senderStaffId创建任务成功后,必须立刻做两步验收:
openclaw cron run <job-id> --force --expect-final
openclaw cron runs --id <job-id> --limit 5
若两步任一步失败,不要宣称"已稳定定时发送"。必须明确告知用户当前仅完成"任务创建",调度执行仍待确认。
当最小验收失败时,直接使用类似以下文案:
已完成任务创建,但本次强制触发/运行记录校验未通过。 这通常表示调度器尚未实际执行。 我已给出可复现命令:
openclaw cron run <job-id> --force --expect-final和openclaw cron runs --id <job-id> --limit 5。 在看到有效 run 记录前,不应视为"已稳定定时发送"。
# 查看所有任务
openclaw cron list
# 立即测试任务(强制 + 等待 final)
openclaw cron run <job-id> --force --expect-final
# 查看运行记录
openclaw cron runs --id <job-id> --limit 5
# 删除任务
openclaw cron rm <job-id>
钉钉渠道全局输出协议。目标是减少打扰:工具前短通知即时发送,工具过程不刷屏,最终结果一次性完整发送。
Use when chatting via DingTalk and the user asks to “发送/发给我/给我” an image/file/attachment (PDF/Word/Excel/etc), or when needing to output [DING:IMAGE]/[DING:FILE] tags to send local files.
Quality-first OpenClaw browser automation and screenshot capture. Use when a task involves the OpenClaw `browser` tool or CLI browser commands, especially when visual fidelity, clear screenshots, stable refs, or reliable tab control matters (snapshots, screenshots, navigation, actions, debugging).