定时提示与 loop
创建会话内重复提示和一次性提醒,核对本地时区、抖动、过期和退出边界。
终端中的定时任务在 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 clearlist 显示任务 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 等扩展或名称别名不支持。