外观
定时任务与循环
dcl 和 Claude Code 一样提供两种让会话"过一会儿再做"的方式:
- 定时任务:按 cron 时间表在指定时间执行一条提示词,例如"每个工作日早上 9 点检查一下 CI"。由模型用
CronCreate、CronList、CronDelete管理,你直接用自然语言提要求即可。 /loop:在当前会话里反复执行一条提示词或命令,固定间隔,或者让模型自己决定下次什么时候运行。
两者都只在交互会话开着、并且空闲(不在某一轮中间)时触发,触发后像你亲自输入一样执行。
定时任务
text
❯ 每个工作日早上 9 点左右跑一次 npm test,有失败就告诉我模型会调用 CronCreate,并告诉你下次运行的时间。
| 参数 | 说明 |
|---|---|
cron | 标准 5 段 cron(分 时 日 月 周),按本机时区。例如 3 9 * * 1-5 是工作日 9:03 |
prompt | 到时间执行的提示词 |
recurring | 默认 true 重复执行;false 只执行一次,之后自动删除,适合"下午两点半提醒我…" |
durable | 默认 false,任务只存在于本会话,会话结束即消失;true 写入项目的 .claude/scheduled_tasks.json,之后在这个项目启动的会话也会执行 |
- 时间要求比较模糊时("每天早上"、"每小时"),模型会和 Claude Code 一样避开整点和半点,免得大量请求同时到达接口。
- 重复任务 7 天后自动过期:最后执行一次,然后删除。
- 让模型"列出定时任务"或"取消那个检查 CI 的任务",它会用
CronList、CronDelete。 - 同一个项目开着多个会话时,持久任务只会在其中一个会话触发一次。
/loop
固定间隔
text
/loop 5m 看看部署完成了没有
/loop 1h /code-review- 间隔支持
30s、5m、2h、1d;后面可以是提示词,也可以是斜杠命令。 /loop或/loop list列出正在运行的循环和下一次的时间;/loop stop全部停止,/loop stop 2停止第 2 个。- 循环只在本次会话中有效,退出 dcl 后结束。循环里不能再启动循环。
让模型自定节奏
省略间隔时,提示词马上执行一次,然后由模型决定下一次什么时候运行:
text
/loop 盯一下 CI,失败了就修每次执行完,模型调用 ScheduleWakeup:
| 参数 | 说明 |
|---|---|
delaySeconds | 多久之后再运行,限制在 60–3600 秒之间 |
prompt | 下一次执行的内容,通常是同一条 /loop … |
reason | 一句话说明为什么选这个时间,例如 watching CI run,会显示给你 |
noop | 本次是否什么都没发生 |
stop | 任务完成时设为 true,结束循环 |
- 模型会按等待的东西来选择间隔:比如 CI 大约要 8 分钟,就等 8 分钟再看一次,而不是每分钟查一次;没有明确要等的东西时默认 20–30 分钟。
- 等待自己启动的后台命令或子代理时,模型不需要轮询:它们结束时会自动通知。
- 下一次唤醒的时间、提示词和原因只保存在本机的会话目录中。和 Claude Code 不同,
reason不会上报到任何地方。