按计划执行提示词
使用 /loop 和 cron 调度工具在 Hawa Code 会话中定时运行提示词、轮询状态或设置一次性提醒。
定时任务让 Hawa Code 自动按间隔重新运行提示词。使用它们来轮询部署、监控 PR、检查长时间运行的构建,或提醒自己稍后做某事。任务是会话范围的:它们存在于当前的 Hawa Code 进程中,退出后就会消失。
使用 /loop 定时执行提示词
/loop 是安排重复提示词的最快方式。传入可选的间隔和提示词,Hawa Code 就会设置一个 cron 作业,在会话保持打开时在后台触发。
/loop 5m 检查部署是否完成并告诉我发生了什么 |
Hawa Code 会解析间隔,将其转换为 cron 表达式,安排作业,并确认执行频率和作业 ID。
时间间隔配置
间隔是可选的。你可以将其放在前面、后面,或完全省略。
| 形式 | 示例 | 解析后的间隔 |
|---|---|---|
| 前置标记 | /loop 30m 检查构建 |
每 30 分钟 |
| 后置设置时间间隔 | /loop 检查构建 每两个小时 |
每 2 小时 |
| 无间隔 | /loop 检查构建 |
默认为每 10 分钟 |
支持的单位有 s 表示秒、m 表示分钟、h 表示小时、d 表示天。由于 cron 的粒度为一分钟,秒数会向上取整到最接近的分钟。不能整除单位的间隔(如 7m 或 90m)会四舍五入到最接近的干净间隔,Hawa Code 会告诉你它选择了什么。
循环执行其他命令
计划的提示词本身可以是命令或技能调用。这对于重新运行你已经打包好的工作流很有用。
/loop 20m /review-pr 1234 |
每次作业触发时,Hawa Code 都会运行 /review-pr 1234,就像你输入它一样。
单次定时执行任务
/loop 命令是周期性执行任务,如果需要在指定的时间单次执行一次任务,可以按照如下指令操作
创建定时任务、今天 13:00 执行项目发布 |
管理定时任务
你可以用自然语言让 Hawa Code 列出或取消任务,或者直接使用底层工具。
示例:查看任务列表
我有哪些定时任务? |
示例:取消任务
取消部署检查任务 |
工具
Hawa Code 在后台使用以下工具管理定时任务:
| 工具 | 用途 |
|---|---|
CronCreate |
安排新任务。接受 5 字段的 cron 表达式、要运行的提示词,以及是否重复执行或仅执行一次 |
CronList |
列出所有定时任务,包括 ID、计划和提示词 |
CronDelete |
通过 ID 取消任务 |
每个定时任务都有一个 8 字符的 ID,可以传递给 CronDelete 进行取消。一个会话最多可同时持有 50 个定时任务。
定时任务的运行方式
调度器每秒检查一次到期任务,并以低优先级将它们加入队列。定时提示词在你的回合之间触发,而不是在 Hawa Code 正在响应时触发。如果任务到期时 Hawa Code 正忙,提示词会等到当前回合结束后才执行。
所有时间都按你的本地时区解释。例如,cron 表达式 0 9 * * * 表示你运行 Hawa Code 的当地时间的上午 9 点,而不是 UTC。
生命周期
定时任务是存在当前会话中的,如果 hawa code 被关闭,定时任务也会被中止
三天过期
重复任务在创建后 3 天自动过期。任务会最后一次触发,然后自动删除。这限制了被遗忘的循环任务可以运行的时间。