Skip to content
FunCoding

Search

Search docs, Skills and MCP

定时提示与 loop

创建会话内重复提示和一次性提醒,核对本地时区、抖动、过期和退出边界。

This page has not been translated into English yet. The original Chinese version is shown below.

终端中的定时任务在 Qwen Code 会话存活时运行,用来重复检查或稍后提醒。任务只存在当前进程内,不写磁盘,退出或重启就消失。消息渠道使用另一套可持久化调度器,不能直接套用终端的存储规则。

重复运行提示

/loop 5m check whether the build has finished and report the result
/loop check the build every 2 hours
/loop 20m /review-pr 1234

/loop 是内置 Skill,可在提示前写间隔,也可在末尾写 every 子句。省略间隔而保留提示时默认每十分钟。创建后确认节奏和任务 ID,并立即执行提示一次,不必等首次 cron 触发。

支持 s、m、h、d。调度粒度为一分钟,秒数向上取整到分钟;7m、90m 等不能均分对应单位的间隔会调整为适合 cron 的间隔,并报告实际选择。不要把输入的任意间隔当成严格按秒重复。

提示可以是已有命令或 Skill 调用,每次像用户输入它一样运行。上例 /review-pr 必须是当前环境实际存在的能力。

无提示的自主循环

裸 /loop 以自定节奏推进对话里已确定的工作;只有间隔的 /loop 10m 则按固定节奏做同类推进。它不会凭空创建新任务,推送、删除、发送等不可逆操作仍需已有清楚授权;全部安静后停止。

这与“每十分钟重复一条固定提示”不同,选择时先确定需要执行哪个已有工作。

查看、取消与一次性提醒

/loop list
/loop clear

list 显示任务 ID 与 cron 表达式;clear 一次取消全部任务。也可以自然语言列出或取消指定任务,或请求“四十五分钟后检查测试结果”这样的单次提醒。

底层工具是 CronCreate、CronList、CronDelete;任务 ID 为八个字符,每个会话最多 50 个任务。一次性任务执行后自删。

时区、忙碌与抖动

调度器每秒检查到期任务,但提示只在会话空闲、轮次之间执行。忙碌时等当前轮结束;错过多次间隔只补一次,不逐次追赶。

所有时间按本地时区解释。重复任务可延迟至周期的 10%,上限十五分钟;单次任务落在 :00 或 :30 时可能提前至多九十秒。偏移由任务 ID 确定,同一任务稳定一致。单次提醒选择其他分钟可避开该单次抖动,但仍受会话忙碌影响。

开关和过期

调度默认启用,experimental.cron: false 或环境变量 QWEN_CODE_DISABLE_CRON=1 可禁用。

重复任务默认创建七天后再执行最后一次并删除。可用 experimental.cronRecurringMaxAgeDays 调整;环境变量 QWEN_CODE_CRON_MAX_AGE_DAYS 优先。设 0 取消过期,适用于需要长期运行的对应调度环境,但不会让终端任务自动获得持久化。

过期设置也作用于重启后从磁盘恢复的持久化任务;一次性任务不按年龄到期,只在触发后删除。

Cron 语法

接受五段 minute hour day-of-month month day-of-week,支持 *、单值、步长、范围和逗号列表,例如:

表达式本地时间含义
*/5 * * * *每五分钟
0 9 * * 1-5工作日九点
7 * * * *每小时第七分钟

星期日可用 0 或 7,星期六为 6。日期和星期同时受限时任一匹配即可,不是同时满足。L、W、?、MON、JAN 等扩展或名称别名不支持。