SuperAPI AI 工具集

delay

办公与效率

查看项目

更新于 11-03 02:28

技能介绍

用途

delay 用于在当前 Claude Code 会话中,把一段指令安排到未来某个时间点仅执行一次。它的核心目标是防止一种失败模式:任务在调度当轮就被立即(部分)执行,到触发时间又执行一次,造成重复运行。因此调度本身就是这一轮的全部工作,技能明确禁止在调度当轮启动指令的任何部分,包括看似无害的预处理。

主要能力

  • 解析参数:以第一个逗号分隔,逗号前是时间描述,逗号后是稍后要执行的指令,指令原样传递,可包含 /x-wt-teams foo bar 这类斜杠命令。
  • 时间计算:运行 date '+%Y-%m-%d %H:%M' 获取当前本地时间,再按相对或绝对时间推算目标;若绝对时间今天已过,则视为下一次(明天);处理跨午夜、跨月边界。
  • 创建一次性任务:使用 CronCreate,cron 为完全固定的 "M H DOM MON *",使用精确计算出的分钟,不取整到 :00/:30;recurring 设为 false,使任务触发后自动删除,避免默认的周期性任务再次触发。
  • 提示词包装:在指令前加上说明,让未来的回合知道这是一次计划内的触发,而不是新的调度请求,不应再次改期。
  • 确认与停止:向用户报告确切触发时间和任务 ID(可通过 CronDelete 按 ID 取消),之后不再调用其他工具。

使用方式

调用 /delay 并给出参数,例如时间描述加逗号加指令。若任一部分缺失或时间含糊,技能会询问而不是猜测。每次调用只创建恰好一个 CronCreate 任务,不额外添加唤醒、循环或 Monitor 任务。

适用场景

适合需要在同一会话内稍后执行一次的任务,如延时提醒、定时执行某条命令或工作流。若需要周期性执行,应改用 /loop;若需要终端关闭后仍然存活,应改用云端 Routine(Claude Code Remote 的 create_trigger / send_later MCP 工具),其在服务端持久化而不随会话消亡。

限制

任务保存在内存中,会话必须保持打开,Claude Code 退出后任务会静默失效。任务只在会话空闲时触发,目标时间若有工作在进行可能稍晚开始。harness 可能提前最多 90 秒触发,因此不应使用取整的分钟标记。