会话内定时与循环提示
使用 /every 和 /after 安排任务,理解恢复会话后的执行时间。
/every 和 /after 当前属于 experimental,需先用 /experimental on 或启动参数 --experimental 启用。它们只在交互会话中可用,且只有创建它们的会话正在运行时才会触发。
重复任务
/every 1h run the test suite and summarize any new failures固定间隔首次等待相应时间后执行,再按同样节奏重复,直到删除调度或会话停止。/loop 是 /every 的别名。
如果 /every 后只有提示而没有时间,CLI 创建 self-paced schedule:每轮由模型决定下次检查时间,并在判断无需继续时停止。因此省略间隔不是固定的默认分钟数,也不保证永远轮询。
一次性任务
/after 30m Give me details of changes to README.md made in the last 30 minutes/after 需要延迟或时间,不支持 self-paced;触发一次后从调度列表移除。
时间语法
数字持续时间必须带 s、m、h、d 后缀,裸数字不识别为间隔。固定间隔最短 10 秒、最长 1 天。
也可用自然语言描述时间,例如 /every day at 9am ...,由模型解释后建立调度。此时应核对创建结果,而不是把自然语言的解释当作不可出错的时间解析器。
可以调度什么
用户可调用的 Skills 以及独立工作命令可被调度,例如 /plan、/review、/research、/security-review。改变会话或设置的 /model、/clear、/compact、/permissions、/sandbox 不可调度;纯信息命令 /usage、/context,以及调度自身的 /every、/after 也不支持。
按用途选择可执行任务,不要把任意斜杠命令拼到调度后就认为都会运行。
查看与取消
单独 /every 或 /after 显示当前会话调度列表,方向键选择后按 x 删除,Esc 退出。实际触发的提示带有类似 [Scheduled prompt #4] 的标记,也可按该 ID 请求停止。
关闭和恢复
会话关闭时不触发任务,恢复同一会话后调度会还原。固定重复任务从恢复时重新计算下次等待;尚未触发的 /after 保留原定时间,如果已经过期,恢复后立即提交。
因此“关掉 CLI”只是暂停触发,不一定删除调度。希望永久取消时,应在列表中删除。
如果需要没有活跃会话时照常运行,应由外部 cron 或 Windows Task Scheduler 调用 copilot -p,并单独配置运行环境、凭据和权限,见自动化入口。