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 做了这几件事:

  1. 解析你的间隔,转换成 cron 表达式
  2. 注册一个后台任务,生成一个 Job ID
  3. 按时触发,每到间隔就像你手动输入那个 prompt 一样执行
  4. 在当前会话上下文中运行,能访问你的项目文件和已授权的工具

底层工具是 CronCreateCronListCronDelete——你不需要直接用它们,/loop 帮你封装好了。

四、关键限制(必须知道)

  1. 会话绑定。 关闭终端、断开连接、重启 Claude Code——所有 /loop 任务都会消失。没有持久化。

  2. 3 天自动过期。 即使你的会话一直开着,每个 /loop 任务最多跑 3 天,到期后会执行最后一次然后自动删除。这是防止忘记关的安全机制。

  3. 单会话最多 50 个任务。 够用了,但别疯狂注册。

  4. 每次执行消耗 token。 间隔太短 + 任务太多 = token 消耗飞快。5 分钟间隔的任务,一天跑 288 次。

  5. 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 最佳实践

  1. 间隔别太短。 30 秒的间隔会疯狂烧 token,除非你在调试紧急问题。一般 5-15 分钟就够了。

  2. prompt 要明确。 不要写"检查一下状态",要写"检查 staging 环境的 /health 接口,如果返回非 200 或响应时间超过 2 秒就立即告诉我"。

  3. 考虑 token 消耗。 每次执行都算 token。10 个 5 分钟间隔的任务 = 每小时 120 次执行。建议按优先级开启:部署监控和 PR 巡检是"必开",安全扫描和代码质量检查"按需开"。

  4. 和 Remote Control 配合。 开了 /loop 之后用 /rc 转到手机上,你就有了一个可以在手机上查看的自动巡检系统。

  5. 不要依赖它做持久化任务。 关了终端就没了。需要每天跑的任务,用 /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 的关键注意事项

  1. 电脑关了也能跑。 这是和 /loop 最大的区别。任务跑在 Anthropic 的云上。

  2. 每次从 GitHub 全新克隆。 没有"上次跑到哪了"的概念。你的 prompt 要考虑到这一点。

  3. 执行时间有偏移。 任务可能比预定时间晚几分钟启动,但每个任务的偏移是固定的。

  4. 分支限制。 默认只能推送到 claude/ 前缀的分支。这是保护机制,别随便关。

  5. Secrets 管理。 如果你的任务需要 API key 或数据库密码,通过 MCP 连接器传递,不要硬编码在 prompt 里。可以把 MCP 服务器部署到 Cloudflare Workers 或 Fly.io 等安全环境。

  6. 错过的运行会补执行。 如果使用 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 是你的夜班工人。一个陪你加班,一个替你加班。

从使用路径来说:

  1. 先从 /loop 开始,在开发过程中监控部署和 CI
  2. 发现有些任务每天都要做时,迁移到 /schedule
  3. 用两者的组合覆盖从"这几分钟"到"每天每周"的全部自动化需求

这两个功能和之前介绍的 Remote Control 配合起来,形成了一个完整的异步开发体系:/loop 盯着当前任务,/schedule 处理日常运维,Remote Control 让你随时查看进度——你终于可以不用一直坐在电脑前了。


Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐