Claude Code | | 约 7 分钟 | 2,526 字

Claude Code /loop 技能:定时任务与轮询自动化

深入了解 Claude Code 的 /loop 技能,实现定时任务和自动化轮询

什么是 /loop 技能?

/loop 是 Claude Code 的定时任务技能,允许你在会话保持打开的情况下按间隔重复运行提示。它非常适合轮询部署状态、监控任务进度或定期执行检查。

核心特性

  • Cron 表达式支持:灵活的时间间隔配置
  • 会话持久:会话期间持续运行
  • 任务队列:支持多个定时任务

基本用法

简单间隔

/loop 5m check if the deploy finished
/loop 10s run health check
/loop 30m remind me to take a break

Cron 表达式

/loop */5 * * * * check deployment status
/loop 0 9 * * * daily standup reminder

间隔格式

简单格式

格式示例说明
Xs30s30 秒
Xm5m5 分钟
Xh2h2 小时

Cron 表达式

标准 5 字段 cron 表达式(本地时区):

┌───────────── 分钟 (0-59)
│ ┌─────────── 小时 (0-23)
│ │ ┌───────── 日期 (1-31)
│ │ │ ┌────── 月份 (1-12)
│ │ │ │ ┌──── 星期 (0-6, 0=周日)
│ │ │ │ │
* * * * *

示例

# 每 5 分钟
/loop */5 * * * *

# 每天早上 9 点
/loop 0 9 * * *

# 每周一早上 10 点
/loop 0 10 * * 1

# 每月 1 号下午 3 点
/loop 0 15 1 * *

实际案例

案例 1:部署轮询

监控部署状态,完成后通知:

/loop 5m check if the deploy finished

执行逻辑:

  1. 每 5 分钟检查部署状态
  2. 如果完成,发送通知
  3. 询问是否停止轮询

案例 2:健康检查

定期检查服务健康状态:

/loop 30s check if the API is responding

输出示例:

[5:30:00] API 状态: 200 OK, 响应时间: 45ms
[5:30:30] API 状态: 200 OK, 响应时间: 42ms
[5:31:00] API 状态: 500 Error!
⚠️ 检测到异常,停止轮询

案例 3:任务提醒

定时提醒:

/loop 25m remind me to take a break

案例 4:PR 状态监控

/loop 10m check if the CI pipeline passed

工作原理

1. 任务调度

/loop 解析间隔参数,创建 cron 任务:

解析: "5m" → "*/5 * * * *"
解析: "30s" → "每 30 秒" (特殊处理)

2. 任务执行

每个间隔到期时:

  1. 创建新的执行上下文
  2. 运行指定提示
  3. 检查输出是否满足停止条件

3. 停止条件

任务会在以下情况停止:

  • 你手动停止(/loop stop
  • 满足特定条件(如部署完成)
  • 会话结束

高级用法

多个定时任务

可以同时运行多个 /loop 任务:

/loop 5m check deploy status
/loop 30s monitor errors
/loop 1h generate report

任务控制

/loop              # 列出所有活动任务
/loop stop         # 停止所有任务
/loop stop <name>  # 停止指定任务

条件停止

在提示中包含停止条件:

/loop 5m "check if deploy finished. If yes, say 'DEPLOY COMPLETE' and stop"

限制与注意事项

会话依赖

/loop 需要会话保持打开状态。会话结束后任务自动停止。

Token 消耗

定时任务会持续消耗 Token,尤其是频繁执行的任务。建议:

  • 使用较长间隔
  • 设置合理的停止条件
  • 完成后及时停止

Cron 限制

  • 最小间隔:10 秒
  • 最大间隔:无限制

常见问题

Q: 会话关闭后任务还在运行吗?

不会。/loop 任务与会话生命周期绑定。

Q: 可以持久化任务吗?

目前不支持。任务仅在当前会话有效。

Q: 网络中断会怎样?

任务会暂停,网络恢复后继续。

Q: 如何查看任务历史?

使用 /loop 不带参数查看所有任务状态。


总结

/loop 技能是 Claude Code 自动化工作流的强大工具:

  • 灵活定时:支持多种时间格式
  • 自动轮询:无需手动重复检查
  • 条件停止:完成自动退出
  • 多任务并行:同时运行多个定时任务

无论是监控部署、检查服务健康,还是定时提醒,/loop 都能帮你自动化!

评论

加载中...

相关文章

分享:

评论

加载中...