当前位置: 首页 > 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.cnnetsun.cn/news/1247943.html

相关文章:

  • 港科校友| 罗咏丰:以校友导师身份回馈科大
  • 第二章 Spring中的Bean
  • 解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
  • 如何在 Golang 项目中高效运用 Protocol Buffers
  • 深度解析嵌入式for循环实现原理!
  • 使用PDF-Extract-Kit-1.0实现科研论文元数据自动提取
  • DeEAR语音情感识别避坑手册:采样率不匹配、通道数错误、静音过长导致的失败
  • DeepSeek-OCR-2部署教程:WSL2环境下Windows用户零配置运行深求·墨鉴
  • Qwen3-TTS语音合成进阶教程:情感强度、语速、停顿符的控制方法
  • Gemma-3-270m与MySQL数据库集成实战:高效数据处理方案
  • Realistic Vision V5.1 创意作品展:结合SolidWorks模型渲染的工业设计概念图
  • Qwen3-Reranker-4B性能优化:vLLM推理加速实践指南
  • 云容笔谈·东方红颜影像生成系统性能调优:针对STM32嵌入式设备展示的优化策略
  • 音乐流派分类Web应用保姆级教程:ViT模型+Gradio快速上手指南
  • 3个步骤解决OpenMV IDE在Raspberry Pi Bookworm上的兼容性问题
  • Qwen2.5-VL-7B-Instruct惊艳效果:漫画分镜图→剧情连贯性描述+角色关系推断
  • 如何摆脱平台依赖?yuque-exporter让语雀知识库完全自主掌控
  • Qwen3-VL-2B API接口安全设置:认证与限流配置
  • Phi-4-reasoning-vision-15B入门必看:如何规避click(x,y)输出?强约束提示词模板库
  • 内存故障排查全景图:从症状到解决方案的深度指南
  • Phi-3-Mini-128K算力利用率提升:多并发请求下GPU利用率稳定达82%实测
  • MusePublic资源监控教程:nvidia-smi实时跟踪显存与GPU利用率
  • Z-Image-Turbo-辉夜巫女对比评测:不同采样器生成效果与速度分析
  • AIGlasses OS Pro 面试宝典:攻克计算机视觉与深度学习常见八股文
  • Realistic Vision V5.1 赋能Java开发者:集成指南与面试题实战解析
  • Buildozer实战全攻略:突破Python跨平台打包技术瓶颈
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4与Web开发集成实战
  • 使用SeqGPT-560m增强IDEA开发体验:智能代码审查插件
  • 消息留存保卫战:RevokeMsgPatcher防撤回补丁解决微信4.0.3.36版本适配难题
  • 衡山派Luban-Lite GPIO驱动架构详解:HAL与Driver层设计及RT-Thread Pin设备驱动集成