---
url: /wave-agent/specs/automation/loop-slash-command.md
description: '`/loop` 通过 cron 调度循环提示（如 `/loop 5m check the build`），支持持久化和多会话调度锁'
---

# 功能规格说明：/loop 斜杠命令

**创建日期**：2026-03-24

## 用户场景与测试 *（必填）*

### 用户故事：调度循环任务（优先级：P1）

作为用户，我希望调度命令或提示以固定间隔运行，以便监控长时间运行的进程或获取定期更新而无需手动干预。

**为什么是这个优先级**：这是 `/loop` 命令的核心功能。

**独立测试**：可以通过运行 `/loop 5m /echo "hello"` 或 `/loop 5m check the build` 并验证任务已调度并立即运行来进行测试。

**验收场景**：

1. **假设** agent 处于空闲状态，**当**我输入 `/loop 5m /echo "ping"` 时，**则**系统应该调度一个 cron 任务，确认调度并附带任务 ID，并立即输出"ping"。
2. **假设** agent 处于空闲状态，**当**我输入 `/loop check the build every 2h` 时，**则**系统应该调度一个 cron 任务，确认调度并立即执行"check the build"。

***

### 用户故事：使用默认间隔调度（优先级：P2）

作为用户，我希望快速循环执行命令或提示而无需指定时间，以便使用合理的默认频率。

**为什么是这个优先级**：通过减少常见情况的输入来改善用户体验。

**独立测试**：可以通过运行 `/loop /check-build` 或 `/loop check the build` 并验证它默认为合理间隔（例如 10 分钟）来进行测试。

**验收场景**：

1. **假设** agent 处于空闲状态，**当**我输入 `/loop check the build` 时，**则**系统应该为默认间隔调度任务并确认频率。

***

### 边界情况

* **空提示**：如果我输入 `/loop 5m` 不带命令，系统应显示使用说明并不调度任何内容。
* **惊群预防**：如果我要求"hourly"，系统应选择随机分钟（例如 7）而不是 0，以避免全局同步问题。
* **多会话安全**：当多个 Wave 会话在同一项目中运行时，只有一个会话触发持久任务（通过调度器租约锁）。非所有者会话回退为触发仅会话任务。
* **锁接管**：如果拥有锁的会话退出，另一个会话在 5 秒内接管锁并恢复触发持久任务。
