> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 重复执行任务（/loop）

# 概述

`/loop` 让 Qoder CLI 按固定时间间隔重复运行同一个提示词或斜杠命令。它适合轮询状态、持续检查、周期性重复动作等场景，例如"每 5 分钟检查一次部署""每半小时看一下 PR 队列"。

`/loop` 是定时任务的一个简化入口：你只需给出一个时间间隔，Qoder 会把它转换成对应的周期计划并创建任务。如果你需要更精确的日历计划（例如"每周一上午 9 点"），请使用定时任务，见 [定时执行任务](/zh/cli/03-使用QoderCLI/02-任务自动化/scheduled)。

# 命令格式

```text theme={null}
/loop [interval] <prompt>
```

* `interval`：可选的时间间隔。不指定时默认为 **10 分钟（`10m`）**。
* `prompt`：要重复运行的提示词或斜杠命令。

示例：

```shell theme={null}
/loop 5m /babysit-prs
/loop 30m check the deploy
/loop 1h /standup 1
/loop check the deploy          # 未指定间隔，默认 10m
/loop check the deploy every 20m
```

创建后，Qoder 会**立即执行一次**该提示词，而不会等到第一个周期才开始。

# 时间间隔语法

时间间隔由数字加单位组成，支持四种单位：

| 单位 | 含义 | 示例 |
| :- | :- | :- |
| `s` | 秒 | `30s` |
| `m` | 分钟 | `5m` |
| `h` | 小时 | `2h` |
| `d` | 天 | `1d` |

**最小粒度是 1 分钟。** 由于底层调度不含秒级字段，秒会向上取整到最近的整分钟——例如 `30s` 会被当作 `1m`，Qoder 会告诉你实际取整后的间隔。

间隔到 Cron 的转换规则：

| 间隔 | 对应计划 | 说明 |
| :- | :- | :- |
| `Nm`（N ≤ 59） | 每 N 分钟 | |
| `Nm`（N ≥ 60） | 圆整为小时 | 需能整除 24 小时 |
| `Nh`（N ≤ 23） | 每 N 小时 | |
| `Nd` | 每 N 天午夜（本地时间） | |
| `Ns` | 向上取整为分钟 | 最小 1 分钟 |

> 如果间隔不能整除其单位（例如 `7m` 会导致 `:56` 到 `:00` 的间隔不均匀，`90m` 无法用整点表达），Qoder 会选择最接近的整齐间隔，并在创建前告诉你它取整成了什么。

# 两种写法

间隔可以写在开头，也可以用结尾的 `every` 子句表达：

* **开头的间隔**：`/loop 5m check the deploy` → 间隔 `5m`，提示词 `check the deploy`。
* **结尾的 every 子句**：`/loop check the deploy every 20m` → 间隔 `20m`，提示词 `check the deploy`。也支持 `every 5 minutes`、`every 2 hours` 这类自然表达。

注意 `every` 只有在后面跟的是时间表达时才当作间隔。例如 `/loop check every PR` 中的 `every` 不是时间表达，会被当作提示词的一部分，间隔取默认值 `10m`。

# 自动失效与取消

`/loop` 创建的是周期任务，会在创建后 **7 天** 自动过期。如果需要长期运行，到期后重新创建即可。

创建成功后，Qoder 会告诉你调度的内容、对应的周期、自动过期时间，以及用于取消的任务 id。需要提前停止时，让 Qoder 按该 id 取消对应的循环任务即可。

完整的参数、默认值和失效规则见 /loop 命令参考。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.