Claude Code 定时任务完全指南:/loop 与 /schedule 深度解析
loop 是你的值班助手,/schedule 是你的夜班工人。一个陪你加班,一个替你加班。先从/loop开始,在开发过程中监控部署和 CI发现有些任务每天都要做时,迁移到/schedule用两者的组合覆盖从"这几分钟"到"每天每周"的全部自动化需求/loop盯着当前任务,/schedule处理日常运维,Remote Control 让你随时查看进度——你终于可以不用一直坐在电脑前了。
Claude Code 定时任务完全指南:/loop 与 /schedule 深度解析
Claude Code 从"你问它答"变成了"它自己干活"。
/loop让 Claude 在你的终端里当值班员,/schedule让 Claude 在云端当夜班工人——你关了电脑它也不下班。这篇文章把两个功能拆清楚,给你可落地的使用方案。
先说结论:一张表分清 /loop 和 /schedule
| 维度 | /loop | /schedule |
|---|---|---|
| 一句话定义 | 会话级轮询器 | 云端定时任务 |
| 运行在哪 | 你的本地终端里 | Anthropic 的云服务器上 |
| 关了终端还跑吗 | 不跑,会话结束就没了 | 继续跑,电脑关了也行 |
| 最长持续 | 3 天自动过期 | 不过期,直到你手动关闭 |
| 访问本地文件 | 可以 | 不可以(每次从 GitHub 拉代码) |
| MCP 服务器 | 用本地已配置的 | 用 claude.ai 上已连接的 |
| 适合什么 | 开发中临时盯着某件事 | 每天/每周自动重复的运维任务 |
| 创建方式 | 终端里输入 /loop |
Web / Desktop App / 终端 /schedule |
| 版本要求 | CLI v2.1.71+ | 所有 Claude Code on the Web 用户 |
简单记法:
/loop= 开发时的临时闹钟,关窗口就没了/schedule= 云端永动机,关电脑也照跑
第一部分:/loop —— 你的会话值班员
一、它解决什么问题?
你在 Claude Code 里触发了一次部署,要等 20 分钟看结果。这 20 分钟你干嘛?每隔两分钟切过去看一眼?
/loop 就是干这个的:你告诉 Claude “每 5 分钟检查一下部署状态”,然后该干嘛干嘛。Claude 会在后台按时执行,有情况了告诉你。
二、基础语法
/loop <时间间隔> <你要 Claude 做什么>
时间单位:
| 单位 | 写法 | 示例 |
|---|---|---|
| 秒 | s | 30s(会被向上取整到分钟) |
| 分钟 | m | 5m → 每 5 分钟 |
| 小时 | h | 1h → 每小时 |
| 天 | d | 1d → 每天 |
示例:
# 每 5 分钟检查部署状态
/loop 5m check if the deployment finished and tell me what happened
# 每 10 分钟扫描 PR 的 CI 状态
/loop 10m check the CI status of all open PRs
# 每 15 分钟轮询外部 API
/loop 15m send a request to the target endpoint and report any changes
# 每 30 分钟查看日志
/loop 30m read the log file and give me a progress update
# 全方位 PR 看护
/loop babysit all my PRs. Auto-fix build issues and when comments come in, use a worktree agent to fix them
你也可以用自然语言描述时间,Claude 会自动解析:
/loop every 30 minutes, run the test suite and if anything fails, attempt a repair
三、工作原理
输入 /loop 后,Claude 做了这几件事:
- 解析你的间隔,转换成 cron 表达式
- 注册一个后台任务,生成一个 Job ID
- 按时触发,每到间隔就像你手动输入那个 prompt 一样执行
- 在当前会话上下文中运行,能访问你的项目文件和已授权的工具
底层工具是 CronCreate、CronList、CronDelete——你不需要直接用它们,/loop 帮你封装好了。
四、关键限制(必须知道)
-
会话绑定。 关闭终端、断开连接、重启 Claude Code——所有 /loop 任务都会消失。没有持久化。
-
3 天自动过期。 即使你的会话一直开着,每个 /loop 任务最多跑 3 天,到期后会执行最后一次然后自动删除。这是防止忘记关的安全机制。
-
单会话最多 50 个任务。 够用了,但别疯狂注册。
-
每次执行消耗 token。 间隔太短 + 任务太多 = token 消耗飞快。5 分钟间隔的任务,一天跑 288 次。
-
Jitter(抖动)。 实际执行时间可能比预定晚几分钟,每个任务的偏移量是固定的。
五、六个实战场景
场景 1:部署监控
# 触发部署后启动
/loop 3m check for build errors and alert me immediately if anything breaks
你继续写代码,有问题 Claude 会打断你。特别适合 TypeScript 项目,类型错误经常悄无声息地冒出来。
场景 2:CI/CD 巡检
/loop 10m check the CI status of all open PRs. If any failed, summarize the error
不用反复刷 GitHub Actions 页面了。
场景 3:PR 全方位看护
/loop 15m babysit all my PRs. Auto-fix build issues and when comments come in, use a worktree agent to fix them
Claude 定期检查 PR,发现构建失败就修,有评论就处理。你周五晚上设好,周一回来可能 14 个修复都做完了。
场景 4:外部 API 变更检测
/loop 15m send a request to the staging API /users endpoint and report any changes in the response structure
对接还在变的外部 API 时,省得你写一个一次性的轮询脚本。
场景 5:测试套件持续运行
/loop 20m run the test suite and if anything fails, attempt to fix it
边开发边在后台跑测试,有红的自动尝试修复。
场景 6:日志进度追踪
/loop 30m read the build log and give me a progress update
长时间运行的构建任务,不用自己一直盯着。
六、管理 /loop 任务
# 查看当前所有定时任务
# Claude 会列出所有活跃的 loop,包括 Job ID、间隔、下次执行时间
# 取消特定任务(用 Job ID)
# 在对话中告诉 Claude "cancel loop job <ID>"
# 取消所有任务
# 关闭会话即可,或告诉 Claude "cancel all loops"
也可以通过环境变量完全禁用:
export CLAUDE_CODE_DISABLE_CRON=true
七、/loop 最佳实践
-
间隔别太短。 30 秒的间隔会疯狂烧 token,除非你在调试紧急问题。一般 5-15 分钟就够了。
-
prompt 要明确。 不要写"检查一下状态",要写"检查 staging 环境的 /health 接口,如果返回非 200 或响应时间超过 2 秒就立即告诉我"。
-
考虑 token 消耗。 每次执行都算 token。10 个 5 分钟间隔的任务 = 每小时 120 次执行。建议按优先级开启:部署监控和 PR 巡检是"必开",安全扫描和代码质量检查"按需开"。
-
和 Remote Control 配合。 开了
/loop之后用/rc转到手机上,你就有了一个可以在手机上查看的自动巡检系统。 -
不要依赖它做持久化任务。 关了终端就没了。需要每天跑的任务,用
/schedule。
第二部分:/schedule —— 你的云端夜班工人
一、它解决什么问题?
/loop 的最大限制是会话绑定——你关了终端它就死了。如果你想让 Claude 每天早上 9 点自动审查所有 PR、每周五下午生成 CHANGELOG,你不可能一直开着终端。
/schedule 把任务放到 Anthropic 的云服务器上执行。你设好之后,关电脑、关浏览器、去度假——任务照常按时跑。
二、它和 /loop 的本质区别
| 维度 | /loop | /schedule |
|---|---|---|
| 执行环境 | 你的本地 Claude Code 进程 | Anthropic 云端基础设施 |
| 代码来源 | 直接访问本地文件 | 每次运行从 GitHub 克隆 |
| 生命周期 | 关终端就没了 | 永久,直到你删除 |
| 适合的间隔 | 秒到小时 | 小时到周 |
| 需要的设置 | 一行命令 | 需要连接 GitHub 仓库 |
一句话: /loop 是"这几个小时帮我盯着",/schedule 是"从今天起每天帮我干这件事"。
三、三种创建方式
方式 1:Web 界面(最直观)
1. 访问 claude.ai/code/scheduled
2. 点击 "New scheduled task"
3. 填写:
- 任务名称(描述性的,比如"每日 PR 审查")
- Prompt(Claude 每次执行的指令)
- 选择模型(Opus / Sonnet)
- 选择频率(每天/每周/自定义)
- 添加 GitHub 仓库
- 选择环境和 MCP 连接器
4. 点击 Create
方式 2:Desktop App
打开 Claude Desktop App → Schedule 页面 → New task → 选 “New remote task”。
也可以直接在桌面会话中用自然语言:
"设一个每天早上 9 点的定时任务,审查所有 open 的 PR"
Claude 会帮你处理剩下的。
方式 3:CLI /schedule 命令
# 在 Claude Code 终端中
/schedule
# Claude 会用对话引导你完成设置
# 你也可以直接写完整描述:
/schedule daily PR review at 9am
四、关键配置详解
Prompt 设计(最重要的部分)
因为 /schedule 任务是完全自主运行的,你不在场,不能补充说明。所以 prompt 必须:
- 自包含:所有需要的信息都在 prompt 里
- 明确成功标准:Claude 怎么判断任务完成了
- 指定输出格式:结果以什么形式呈现
好的 prompt:
审查过去 24 小时内所有提交到 main 的 commit。
检查:bug、安全问题、错误处理遗漏、需要注释的复杂代码。
用 file:line 格式列出问题,按严重程度排序。
如果发现严重问题,创建一个 GitHub Issue。
差的 prompt:
看看代码有什么问题
频率设置
Web 界面提供预设频率,自动处理时区转换。你选的是本地时区的时间。
如果预设不满足(比如"每 2 小时"或"每月 1 号"),先选最接近的预设,然后用 CLI 的 /schedule update 修改为精确的 cron 表达式。
仓库连接
- 每个任务可以关联一个或多个 GitHub 仓库
- 每次运行时从默认分支全新克隆
- Claude 的改动默认只能推到
claude/前缀的分支,防止误改主分支 - 可以为特定仓库开启"允许不受限分支推送"
MCP 连接器
你在 claude.ai 上连接的所有 MCP 服务(Slack、Linear、Google Drive 等)默认都可用。可以移除不需要的。
环境管理
- 有一个默认环境开箱即用
- 如果需要自定义环境(比如安装特定依赖),先创建环境再创建任务
- 安装脚本(Setup script)会在每次运行前执行
五、十个值得设置的 /schedule 任务
运维类(每天跑)
1. 每日 PR 审查(最高投入产出比)
频率:每天 9:00 AM
Prompt:审查所有 open 的 PR。检查代码质量、安全性、
性能和测试覆盖。生成审查报告,严重问题创建评论。
2. CI 失败夜间修复
频率:每天 2:00 AM
Prompt:检查过去 12 小时的 CI 运行记录。分析所有失败的构建,
尝试修复,修复后提交到 claude/ci-fix 分支并创建 PR。
3. 文档同步检查
频率:每天 10:00 AM
Prompt:对比 README.md 和 docs/ 目录的内容与实际代码。
检查 API 文档参数列表、安装步骤、配置示例是否过时。
发现不一致就创建 Issue。
周度任务
4. 每周 CHANGELOG 生成
频率:每周五 5:00 PM
Prompt:基于本周合并到 main 的所有 PR,自动生成 CHANGELOG,
按 Feature/Fix/Chore 分类,提交为 PR。
5. 依赖安全审计
频率:每周一 10:00 AM
Prompt:检查是否有过时的依赖、已知 CVE 漏洞、硬编码的密钥或 API key、
不安全的代码模式。生成安全报告。
6. 死代码清理
频率:每周三 3:00 PM
Prompt:扫描未使用的函数、不可达的分支、注释掉的代码、未使用的 import。
按文件列出行号,找出优先级最高的 3 项。
7. 过期分支清理
频率:每周五 6:00 PM
Prompt:列出所有超过 30 天没更新的远程分支,
检查是否已合并到 main。已合并的自动删除,
未合并的创建 Issue 提醒负责人。
高频监控
8. Issue 自动分类
频率:每小时
Prompt:检查新创建的 Issue,根据标题和描述自动添加标签
(bug/feature/docs/question),
并基于最近的代码变更建议分配给最相关的团队成员。
9. 测试覆盖率巡检
频率:每天 11:00 PM
Prompt:运行测试套件并生成覆盖率报告。
如果总覆盖率低于 80% 或新文件缺少测试,创建 Issue。
10. Staging 环境健康检查
频率:每 6 小时
Prompt:对 staging 环境运行 smoke test。
检查主要 API 端点响应状态和时间。
异常立即通过 Slack 通知。
六、/schedule 的关键注意事项
-
电脑关了也能跑。 这是和 /loop 最大的区别。任务跑在 Anthropic 的云上。
-
每次从 GitHub 全新克隆。 没有"上次跑到哪了"的概念。你的 prompt 要考虑到这一点。
-
执行时间有偏移。 任务可能比预定时间晚几分钟启动,但每个任务的偏移是固定的。
-
分支限制。 默认只能推送到
claude/前缀的分支。这是保护机制,别随便关。 -
Secrets 管理。 如果你的任务需要 API key 或数据库密码,通过 MCP 连接器传递,不要硬编码在 prompt 里。可以把 MCP 服务器部署到 Cloudflare Workers 或 Fly.io 等安全环境。
-
错过的运行会补执行。 如果使用 Desktop 定时任务,电脑睡眠时错过的运行,会在醒来后检查过去 7 天的记录并补跑最近一次。
七、Desktop 定时任务(补充)
除了云端的 /schedule,Claude Desktop App 还有本地定时任务:
- 任务在你的本地机器上运行(和
/schedule不同) - 可以访问本地文件和工具
- 但需要电脑保持唤醒状态和 Desktop App 保持打开
- 适合需要本地环境但想定期运行的任务
创建方式:在 Desktop App 的 Schedule 页面 → New task → 选 “New local task”。
Desktop 每分钟检查一次任务计划,到期就启动一个独立会话执行。你会收到桌面通知,可以在侧边栏查看执行结果。
第三部分:/loop + /schedule 组合工作流
两个功能不是互斥的,组合起来才是完整的自动化方案。
工作流 1:开发日常
白天开发时:
├─ /loop 5m 监控当前 PR 的 CI 状态
├─ /loop 10m 检查 staging 环境是否正常
└─ /loop 15m 扫描测试是否有新的失败
24/7 自动运行:
├─ /schedule 每天 9AM 审查所有 open PR
├─ /schedule 每天 2AM 修复 CI 失败
└─ /schedule 每周五 生成 CHANGELOG + 清理过期分支
工作流 2:部署流水线
1. 在终端里触发部署
2. /loop 3m check deployment status
3. 部署完成后:/loop 10m run smoke tests on staging
4. 确认没问题后取消 loop
5. /schedule 设一个每 6 小时的健康检查长期运行
工作流 3:周末托管
周五下班前:
1. 设好 /schedule 的周末任务(PR 审查、CI 修复、安全扫描)
2. 关电脑走人
周末(云端自动运行):
3. /schedule 每天 2AM 跑 CI 修复
4. /schedule 每天 9AM 审查新 PR
5. 有问题通过 Slack MCP 连接器通知你
周一回来:
6. 查看 claude.ai/code/scheduled 的执行记录
7. 审查 Claude 创建的 PR 和 Issue
第四部分:怎么选?决策流程图
你的任务需要定期重复吗?
├─ 不需要 → 不用 /loop 也不用 /schedule,直接在对话里说
│
├─ 需要,但只是这几个小时 → /loop
│ ├─ 间隔 < 1 小时 → /loop(秒级到分钟级轮询)
│ └─ 只在当前开发会话中有用 → /loop
│
└─ 需要,而且是长期的 → /schedule
├─ 不需要本地文件 → /schedule(云端)
├─ 需要本地文件但电脑常开 → Desktop 定时任务
└─ 需要本地文件但电脑不常开 → cron + claude -p(headless 模式)
快速上手 Cheatsheet
# ===== /loop(会话级,关终端就没了)=====
# 基础语法
/loop <间隔> <prompt>
# 常用示例
/loop 5m check deployment status
/loop 10m check CI status of all open PRs
/loop 30m run tests and report failures
/loop 1h scan for security issues
# 管理
# 查看所有 loop → 问 Claude "list all loops"
# 取消某个 loop → 问 Claude "cancel loop <ID>"
# 禁用 cron → export CLAUDE_CODE_DISABLE_CRON=true
# ===== /schedule(云端,永久运行)=====
# CLI 创建
/schedule
/schedule daily PR review at 9am
# Web 创建
# 访问 claude.ai/code/scheduled → New scheduled task
# Desktop 创建
# Schedule 页面 → New task → New remote task
# 管理
/schedule list # 查看所有定时任务
/schedule update # 修改任务配置
总结
Claude Code 的定时任务体系可以用一句话概括:
/loop 是你的值班助手,/schedule 是你的夜班工人。一个陪你加班,一个替你加班。
从使用路径来说:
- 先从
/loop开始,在开发过程中监控部署和 CI - 发现有些任务每天都要做时,迁移到
/schedule - 用两者的组合覆盖从"这几分钟"到"每天每周"的全部自动化需求
这两个功能和之前介绍的 Remote Control 配合起来,形成了一个完整的异步开发体系:/loop 盯着当前任务,/schedule 处理日常运维,Remote Control 让你随时查看进度——你终于可以不用一直坐在电脑前了。
更多推荐



所有评论(0)