| |
/loop 5m check the deploy status
这个命令告诉 Claude Code:“每 5 分钟,执行这个 prompt 一次。” 不需要退出会话,也不需要 cron,也不用脚本。Claude 来解析时间间隔,安排任务,并在会话仍然开启且处于 *空闲* 状态时执行它。
你可以串联多个斜杠命令:
/loop 20m /review-pr 1234 /loop 1h make test 2>&1 | tail -5
每个 loop 都有一个“安全网”:三天后它会自动到期。如果你曾经留下一个忘记关闭的 cron,你大概能理解这种设计有多贴心。
## 我会如何使用它
试用一天后,我已经发现了三个明确的用途:
**1. 在开发过程中监控测试。**
现在我正在 Tokamak 上实现一个重要功能(比如冷启动的五个优化阶段)。与其每次修改一点代码就运行 `make test`,不如直接这样做:
/loop 10m make test 2>&1 | grep -E “passed|failed”
如果哪里出了问题,Claude 会通知我,我不用手动一遍遍敲命令。
**2. 部署时保姆模式。**
每次我推送新版本代码,希望知道 CI 什么时候完成:
/loop 3m gh run list –limit 1
**3. 监控状态 API。**
今天我修复了一个 Tokamak 的 bug:Claude Desktop 的一些异常被错误地显示在 Claude Code 下。修这个问题的时候,我就很希望能有这样的工具:
/loop 5m curl -s https://status.claude.com/api/v2/incidents/unresolved.json | python3 -c “import sys,json; print(len(json.load(sys.stdin)[‘incidents’]), ‘incidents’)”
## /loop 的局限性
这里需要重点说明的一点是,`/loop` 是一个 *会话内调度器*,这意味着:
- **会话一关闭,它就没了。**
关闭终端后任务就结束了,不会有持久化。
- **只能在 *空闲* 状态下工作。**
如果 Claude 正在处理其他任务,loop 会等待,不会打断。
- **最长持续三天。**
你无法让一个 loop 运行一星期。
- **两次执行之间没有状态同步。**
每次循环都是一个全新的 prompt,不会记忆前一次的上下文。
用更通俗点的话说:`/loop` 就是一个增强版的 `watch`,它不是 cron。
## cron 的作用
我的 [claude-cron](https://github.com/frr149/claude-cron) 实现的功能是完全不同的。它会启动一个新的 **headless 会话**,执行 prompt,接着关闭。不需要一个打开的终端,也不需要依赖一个存活的会话。它通过 `launchd`(或者 `cron`,或者 `systemd`)来运行,即使你在睡觉它也照常工作。
| 功能 | `/loop` | `claude-cron` |
|---|---|---|
| 是否需要打开会话 | 是 | 否 |
| 终端关闭后是否仍然存活 | 否 | 是 |
| 最大持续时间 | 3 天 | 无限制 |
| 理想用途 | “工作时监视这个” | “每天凌晨 3 点做这个” |
| 使用难度 | 零(一个命令) | 脚本 + launchd/cron |
两者实际上是互惠互补的。`/loop` 适用于短期需求,`claude-cron` 则负责长期计划任务。
举个真实的例子:我有一个 cron,每晚将博客的新文章翻译成四种语言并提交到 repo。这种场景 `/loop` 无法胜任。我不可能整晚保持一个会话打开,只为了让它记得凌晨 3 点去翻译东西。
但如果我正在写作一篇文章,希望 Claude 每隔 15 分钟检查一次语法,那 `/loop` 则非常合适。没有必要为一个只需持续一下午的任务搭建复杂的基础设施。
## 未来:*计划任务(scheduled tasks)*
还有一个即将加入的“玩家”会把局势搞得更复杂:Claude Code 和 Cowork 的 *计划任务* 功能。这种后台运行的定时任务无需开启会话,由 Anthropic 直接管理。这个功能正是导致这周日光节约时间改制时发生问题的罪魁祸首(一个 *无限循环* 卡在了不存在的时间中)。
当这个功能成熟时,它或许真的会取代像 `claude-cron` 这样的工具。一个原生的调度器,支持身份验证,不需要 Bash 脚本,也不需要 `launchd`,听起来很美好。但是这是未来的事。目前,*计划任务* 功能还在预览阶段,时不时会因为日光节约时间的问题崩溃。所以我的 Bash 脚本仍然会继续“坐冷板凳”一阵。
## 总结
`/loop` 是一款专注于特定使用场景的优秀工具:适用于会话内的短期重复任务。它并不能取代 cron,但对于日常 80% 的临时需求来说,已经是一个很棒的工具。
现在我的流程是:工作时用 `/loop` 来监控任务,晚上睡觉时用 `claude-cron` 执行任务,同时密切留意 *计划任务* 的发展,等到 Anthropic 解决日光节约的问题。
三层自动化工具。各司其职。有时候,真正的解决方案不是选择一种工具,而是知道应该在什么时候用哪一种工具。