注意
和/every``/after命令目前是实验性功能,仅当已使用/experimental on斜杠命令或‑‑experimental命令行选项时才可用。
在交互式 Copilot CLI 会话中,可以计划自动提交提示。 如果要 Copilot 定期重复任务或在延迟后执行一次性任务,而无需记住手动提交提示,这非常有用。
为此提供了两个斜杠命令:
/every— 安排按固定间隔重复发送提示。/after— 安排在指定时间段后发送 一次的提示。
这两个命令仅在交互式 Copilot CLI 会话中可用:仅当创建它们的会话正在运行时,计划才会触发。 有关在未打开任何会话时按计划运行 Copilot CLI 的方法,请参阅本文末尾的 从外部计划程序运行提示。
使用 /every 安排重复提示
在交互式 Copilot CLI 会话中,键入 /every,然后输入一个时间间隔和您想要提交的提示。
/every INTERVAL PROMPT
提示将在指定的时间间隔过后提交,然后再次按相同的节奏提交,直到删除计划条目或结束交互式 CLI 会话。
示例
/every 1h run the test suite and summarize any new failures
/every 30m check for new comments on my open pull requests
注意
/loop 是 . 的 /every别名。 因此,可以输入 /loop ,而不是 /every,如果你愿意,效果是相同的。
使用 /after 设置一次性提示
键入 /after,后跟延迟时间和要提交的提示:
/after DELAY PROMPT
在延迟时间结束后,该提示会触发一次,随后从调度列表中移除。
示例
/after 30m Give me details of changes to README.md made in the last 30 minutes
/after 10m Check that the address finder is visible on example.com/register
安排技能
你可以使用 /every 和 /after 为技能设置计划。 为此,可以使用斜杠命令显式引用技能,也可以使用自然语言告诉 Copilot 运行技能。
注意
只有用户可调用的技能和部分内置斜杠命令可以设为计划任务。 启动独立工作(如/plan、/review或/research``/security-review)的命令是可计划性的。 更改会话或配置的命令(例如 /model、/clear、/compact、/sandbox 或 /permissions)、仅显示信息的命令(如 /usage 或 /context),以及管理调度本身的命令(/every 和 /after)都无法设为计划任务;当你尝试这样做时,Copilot 会拒绝这些命令。
示例
/after 2h Use the docx skill to create a new file summarizing recent changes to this repo
/every 1d /refactor-plan Adjust the architecture of this project to improve the responsiveness of the client UI
间隔和延迟语法
| 后缀 | 单位 | 示例 |
|---|---|---|
s | seconds | 30s |
m | minutes | 5m |
h | hours | 2h |
d | days | 1d |
指定数字持续时间时,请始终包含后缀。 单独的数字(例如 /every 30 remind me to check for Slack messages)不会被识别为间隔。
对于固定间隔,最小值为 10 秒 ,最大值为 1 天 (24 小时)。
还可以使用纯语言描述计时,而不是使用持续时间,例如, /after at 3pm push the release或 /every day at 9am post the standup。
Copilot 使用模型来解释短语,然后根据该短语创建计划。
识别会话中已安排的提示
当计划提示被触发时,Copilot 会在提示前加上诸如 [Scheduled prompt #4] 之类的文本,以便将其与您自己键入的提示区分开来。
可以使用 ID 取消计划。 例如,通过输入 stop prompt 4。
管理定时提示
若要列出当前会话的活动计划,请键入 /every 或 /after 不使用参数。
若要删除计划,请使用键盘上的箭头键在列表中移动,然后选择要删除的计划,然后按 x。
按 Esc 退出计划列表。
关闭并重新打开会话时会发生什么情况
计划提示仅限于其创建时所在的会话,并且只有在该会话运行期间才会被触发。
重新打开会话(使用 --continue 或 --resume 命令行选项)时,将还原计划。 对于使用固定间隔创建的定期计划,从重新打开会话的那一刻开始测量下一次运行之前的等待时间。
在您关闭会话之前尚未触发的 /after 计划会保留其原定目标时间,而不是重新开始延迟。 如果这段时间是在会话关闭期间过去的,那么在你重新打开会话后,系统会立即提交提示词。
从外部调度程序运行提示
/every 和 /after 命令仅在交互式 Copilot CLI 会话处于打开状态时运行。 如果你希望某个提示即使在没有活动会话时也能按计划运行,可以通过外部计划程序运行 Copilot CLI,例如在 macOS 或 Linux 上使用 cron,或在 Windows 上使用 任务计划程序。
若要以编程方式运行 Copilot CLI ,请使用语法 copilot -p "YOUR PROMPT"。 CLI 在不显示交互式界面的情况下处理提示,然后退出。
这对于以下任务非常有用:
- 夜间维护 - 例如,每晚针对某个分支上的最新更改运行测试套件,并将摘要发布到跟踪问题。
- 定期依赖项检查 - 例如,打开每周拉取请求来更新依赖项,并针对结果运行测试套件。
- 计划报告 - 例如,生成分配给你的新问题或拉取请求的每日摘要,以及通过电子邮件发送或将其发布到聊天频道。
有关详细信息,请参阅“以编程方式运行GitHub Copilot CLI”。