当前位置: 首页 > news >正文

Claude Code 番外篇:内置 `/loop` 全解,cron 调度 + 自然语言,自动监控只需一行

本文适合:使用 Claude Code 做日常开发的工程师,希望把重复性监控任务从「手动盯屏」升级成「自动汇报」。


等构建跑完,你在干嘛?

刷推?看消息?还是打开另一个终端眼神空洞地盯着进度条?

这件事困扰了我很久——CI 跑着,我不敢走开;部署在进行,我不敢关屏幕。这不是效率,这是焦虑。

直到我发现 Claude Code 悄悄上线了/loop命令。

一行自然语言,Claude 替你定时执行任务、监控结果、异常报警。它背后跑的是 cron 调度,但你永远不需要写一个 cron 表达式。

这篇文章,咱们从头把/loop吃透。

/loop是什么?为什么它不一样?

简单说:/loop是 Claude Code 的内置定时任务技能。

你描述任务 + 给一个时间间隔,Claude 自动把它转成后台调度,然后每隔指定时间就执行一次,并把结果汇报给你。

跟你自己写 cron 任务有什么区别?看这个对比:

传统 cron 方案 Claude Code /loop ───────────────────── ───────────────────────────── */2 * * * * npm run build /loop 2m 跑构建,告诉我有没有报错 手动解析退出码 手动写日志 手动配邮件或通知 每次改任务要改 crontab 你需要会 cron 语法 你只需要会说话 你需要自己处理结果 Claude 负责解读和汇报 你需要盯着日志 Claude 主动告警

本质差别是:cron 只负责执行,Claude 负责理解结果并告诉你发生了什么。

快速上手:最小可用示例

先跑起来再说。打开一个有npm run build脚本的项目,进入 Claude Code:

claude

然后输入:

/loop 2m run npm run build and tell me if it passed or failed

Claude 会立刻返回一个调度确认:

✅ Scheduled loop job created Job ID: 0d7f7026 Cron: */2 * * * * Every: 2 minutes Task: Run npm run build and report pass/fail Expires: 3 days from now

你不需要写*/2 * * * *,Claude 帮你算好了。

从这一刻起,每 2 分钟,Claude 就会自动跑一次构建并告诉你结果。你可以去做别的事了。

时间间隔怎么写?

/loop支持的时间单位如下:

单位

示例

实际含义

s30s

30 秒(向上取整到 1 分钟)

m5m

每 5 分钟

h2h

每 2 小时

d1d

每天一次

几个注意点:

① 秒级间隔会被取整

因为 cron 的最小粒度是 1 分钟,所以30s实际上会按1m执行,Claude 会告诉你它做了这个调整。

② 不能整除的间隔会被「取整到合理值」

比如你写7m,cron 没办法精确表达 7 分钟的循环,Claude 会自动取整到5m10m,并说明原因。同理90m会变成1h2h

③ 时间间隔的位置很灵活

写在前面、后面都行:

/loop 5m check deployment status /loop check deployment status every 5m

不加时间间隔也行——Claude 会问你或者用合理默认值。

/loop内部怎么运行的?

很多人用这个命令之前会问:它是开了一个后台进程吗?会不会跑飞?

看这张运行机制图:

你的 Claude Code 会话 │ ├── 前台:你正常对话 │ └── 后台调度器(每秒检查一次) │ ├── 任务未到时间 → 继续等待 │ └── 任务到时间了 │ ├── Claude 正在响应中?→ 等当前轮次结束 │ └── Claude 空闲?→ 立即执行任务,汇报结果

关键点:定时任务「插队」在你的两次对话之间,不会打断你当前的操作。

时区是你本机时区,不是 UTC。所以如果你设置/loop 1d send morning report at 9am,它真的就是你本地时间早上 9 点执行,不需要换算。

实战:构建监控完整流程

下面走一遍从「搭项目」到「自动捕获错误」的完整流程。

第一步:准备项目

mkdir loop-demo && cd loop-demo npm init -y

index.js(初始版,构建成功):

console.log("Build successful");

package.jsonscripts 部分:

{ "scripts": { "build": "node index.js" } }

验证一下:

npm run build # 输出:Build successful

第二步:进入 Claude Code,启动监控循环

claude
/loop 2m run npm run build and tell me if it passed or failed

Claude 返回调度成功确认,记下 Job ID 备用。

第三步:看正常输出

等 2 分钟,Claude 会自动汇报:

● PASSED — npm run build 执行成功,输出:Build successful.

第四步:故意搞坏构建

index.js改成有语法错误的版本:

console.log("Build successful" // 缺少右括号

不需要做任何操作,等下一个循环周期。

2 分钟后,Claude 自动汇报:

● FAILED — npm run build 执行失败 错误信息: SyntaxError: Unexpected end of input at wrapSafe (internal/modules/cjs/loader.js:915:16) 建议检查 index.js 的语法错误。

你全程没有盯着终端——Claude 替你盯着,失败了主动告诉你。

高级用法:把/loop指向另一个命令

/loop可以触发任何 Claude Code 的命令或自定义技能。

比如你已经有一个/review-pr命令,想让它每 20 分钟自动检查一次 PR:

/loop 20m /review-pr 1234

每次循环触发时,Claude 会完整执行/review-pr 1234的逻辑——就像你手动输入了一样。

更多实战场景:

# 监控部署,完成后通知 /loop 5m check if the k8s deployment is ready and notify me # 每 30 分钟检查测试套件 /loop 30m run npm test and summarize which tests failed # 结合 Slack MCP,每天早上发日报 /loop 1d generate a daily summary of open PRs and send to Slack channel #dev-updates

管理已有的循环任务

任务跑起来之后,怎么查看和取消?

查看所有活跃任务,直接用自然语言问:

what scheduled tasks do I have?

Claude 会列出所有任务,含 Job ID、触发频率和任务内容。

取消某个任务,两种方式:

# 自然语言(推荐,多任务时不用记 ID) cancel the build monitor job # 直接用 Job ID CronDelete 0d7f7026

使用限制和边界条件

在实际生产中用/loop之前,这几个限制要心里有数:

① 3 天自动过期

所有循环任务在创建后第 3 天自动触发最后一次,然后自动删除。不会有「忘了关的任务」。如果你的需求超过 3 天,需要手动取消再重建,或者使用系统级 cron。

② 会话绑定

/loop的任务跟你当前的 Claude Code 会话绑定。关掉终端或者会话断开,任务就停了。想要「机器重启也能跑」的持久任务,需要用 Desktop 里的 Scheduled Tasks 功能,那个会在后台独立运行。

③ 完全禁用

如果某些场景下你不想让任何定时任务跑,设置环境变量:

export CLAUDE_CODE_DISABLE_CRON=1

之后/loop命令不可用,已有任务也停止触发。

什么时候该用/loop,什么时候不该用?

适合用 /loop 的场景 不适合用 /loop 的场景 ────────────────── ─────────────────────── 构建/测试状态监控 需要跨会话持续运行的任务 部署进度轮询 持续时间超过 3 天的监控 PR 检查自动化 需要精确到秒级的任务触发 开发期间的定时提醒 需要机器重启后继续跑的任务 多任务并行监控不同服务

小结

/loop解决的核心问题很简单:开发过程中大量「等待-检查-等待」的重复操作,不应该消耗你的注意力。

它不是什么魔法——背后就是 cron + Claude 的任务理解能力。但这个组合让原来需要「会写 shell 脚本 + 会 cron 语法 + 自己处理结果解析」的事情,变成了「说一句话」。

对于日常在 Claude Code 环境中开发的同学,这个命令值得加到你的常用工具里。


👇 你在用 Claude Code 做开发时,最烦的「手动重复操作」是什么?

是一遍遍刷新部署日志?还是反复跑测试确认有没有回归?

评论区聊聊你的场景,说不定下期就写你的需求 😄

http://www.jsqmd.com/news/469926/

相关文章:

  • 2026年中国电缆一线标杆品牌推荐:十大主流线缆品牌解析 - 品牌2026
  • 2026年3月控制电缆生产厂家推荐:涵塑料绝缘、特种控制、计算机、太阳能光伏等 - 品牌2026
  • 2026优质S5代理排行榜:宽带多拨、模拟器、短效IP、静态IP、S5代理、SDK包、http、socks5、代理IP选择指南 - 优质品牌商家
  • 2026年靠谱的厂区安保服务品牌推荐:商超安保服务用户好评公司 - 品牌宣传支持者
  • 2026年乐吧车优质产品推荐指南:360摇滚乐吧车、亲子双人碰碰车、公园碰碰车、发光漂移碰碰车、商场碰碰车、地网碰碰车选择指南 - 优质品牌商家
  • 基于SpringBoot的计算机学习系统的设计与实现代码毕业论文+PPT(附源代码+演示视频)
  • 2026年U型锁扣板采购指南:权威测评与靠谱厂家推荐 - 2026年企业推荐榜
  • 2026知名废水处理设备品牌推荐指南:福建污水处理设备公司/陕西污水处理设备厂家/mvr厂家/一体化废水处理设备/选择指南 - 优质品牌商家
  • 2026年玻璃洗瓶设备推荐榜:全自动洗瓶机/啤酒瓶洗瓶机/回收瓶洗瓶机/实验室洗瓶机/毛刷式洗瓶机/组培瓶洗瓶机/选择指南 - 优质品牌商家
  • 《C++ Web 自动化测试实战:常用函数全解析与场景化应用指南》
  • 芋道源码(无遮羞布版)Spring Boot 全景指南
  • 【C++篇】C++11:可变参数模板
  • 2026年防雷领域优质避雷塔推荐榜:避雷针塔/酒杯型电力塔/镀锌避雷塔/防雷避雷塔/高压输电塔/三柱避雷塔/单管避雷塔/选择指南 - 优质品牌商家
  • 【C++篇】C++11:lambda表达式
  • 港科校友| 罗咏丰:以校友导师身份回馈科大
  • 2026创新型企业知识产权维权机构推荐榜:商业竞业限制调查、商业背景调查、商业诋毁调查、知识产权代理、知识产权侵权取证选择指南 - 优质品牌商家
  • 2026年优质镀锌避雷塔行业推荐榜:钢管避雷塔/镀锌监控塔架/防火监控塔架/防雷避雷塔/单管避雷塔/圆钢避雷塔/选择指南 - 优质品牌商家
  • 【C++篇】C++11:右值引用与移动语义
  • 【C++篇】哈希扩展:位图和布隆过滤器+哈希切割
  • 2026年破碎机公司口碑榜:五大热门服务商深度解析 - 2026年企业推荐榜
  • 排队节省40分钟!金仓数据库守护湘江新区百万居民就医路
  • 网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
  • 若依微服务中配置 MySQL + DM 多数据源
  • 解决MySQL8.0报错Client does not support authentication protocol requested by server...问题
  • 2026年烟囱塔优质产品推荐榜:监控铁塔/瞭望监控塔/碳钢烟囱塔/角钢监控塔/道路监控塔/钢管监控塔/镀锌监控塔架/选择指南 - 优质品牌商家
  • 2026优秀可靠门窗品牌推荐:四川门窗品牌/性价比门窗/成都门窗/推拉窗/推拉门/系统门窗/节能门窗/铝合金门窗/选择指南 - 优质品牌商家
  • 2026年评价高的超低温试验箱厂家推荐:高精度-70℃~-180℃超低温试验箱源头厂家推荐 - 品牌宣传支持者
  • 这个 PUA Skill 火了:用阿里/字节的绩效话术逼 Claude 不敢放弃,一言不合打 3.25
  • 解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
  • 2026模块化移动售楼处优质服务商推荐榜:临时售楼处、临时样板间、创意集装箱售楼处、可定制的售楼处、可拆卸售楼处选择指南 - 优质品牌商家