Routines(例行任务):让 Claude 每天自动干活
📍 自动化与协作

先说门槛:这一篇讲的云端例行任务还在研究预览(research preview,官方仍在试验、随时可能调整)阶段,要 Claude 付费订阅才能用。中国大陆读者、按本站配置接 DeepSeek 的读者用不了,可以先看懂思路,再直接跳到后面的「用不了云端例行任务?在本机定时跑」一节。
每天早上 5 点,有人替她上班
Section titled “每天早上 5 点,有人替她上班”洁柔家里跑着十来个小服务——网站、机器人、各种小工具。
以前的日子是这样的:哪天哪个服务悄悄挂了,要等到她自己点开发现打不开,才知道出事了。有一次一个服务断了整整两天,没人知道。
现在的日子是这样的:每天早上 5 点,AI 自己「起床」,把所有服务挨个检查一遍——哪些活着、哪些异常、有没有该记录的变化——检查完写好一份交接记录。她醒来的时候,报告已经躺在那了。
没人熬夜。没人定闹钟。是 Claude 按时间表自动干的。
这种“到点自己上班”的能力,Claude Code 官方做成了 Routines(例行任务):放在 Anthropic 的云端跑,电脑关着也照样到点执行。不过得先交代一句:我家这套巡检其实跑在自家电脑上,是本地定时任务——它要检查家里内网的服务、把交接记录写回本机,而云端例行任务读不到你电脑上的文件,也连不上家里的内网。云端和本地怎么选,下面有一张表。
这一篇主要讲云端的 Routines——怎么让你的 Claude 也学会“自己上班”。
Routines 是什么
Section titled “Routines 是什么”Routine(例行任务)= 一个按时间表自动运行的 Claude 任务。
你平时用 Claude Code 是「你说一句,它干一件」。Routine 把这个模式变成:
「以后每天早上 9 点,你自动帮我做这件事——不用我说。」
设好之后,到点它就跑:你在睡觉、在开会、电脑关着,都不影响。
类比:你雇的助理有两种工作方式——
- 随叫随到:你喊一声,他干一件(平时的 Claude Code)
- 固定日程:每天早上他自动把报纸放你桌上、把日程整理好(Routine)

三种定时方式,先选对
Section titled “三种定时方式,先选对”Claude Code 里能“到点干活”的其实有三种,最大的区别是在哪儿跑:
| 云端例行任务(本篇) | 桌面版本地定时任务 | 会话里的 /loop | |
|---|---|---|---|
| 在哪儿跑 | Anthropic 云端 | 你的电脑 | 你的电脑 |
| 电脑要开着吗 | 不用 | 要,桌面版 App 也得开着 | 要,这个会话也得开着 |
| 能碰本机文件和家里内网吗 | 不能,每次重新克隆 GitHub 仓库 | 能 | 能 |
| 最短间隔 | 1 小时 | 1 分钟 | 1 分钟 |
| 会自动过期吗 | 不会 | 不会 | 重复任务 7 天后过期 |
| 要 Claude 付费订阅吗 | 要 | 要 | 不一定,用 API 也行;接 DeepSeek 本站未实测 |
表格按 2026-09-26 的官方对比整理。想定时处理自己电脑上的东西,选后两种;想电脑关了也照跑,选云端例行任务。
怎么建一个例行任务
Section titled “怎么建一个例行任务”在 Claude Code 里直接说人话就行:
> 帮我建一个例行任务:每天早上 9 点,检查我的网站还活着没, 挂了的话告诉我原因Claude 会帮你把它注册成一个定时云端任务(scheduled cloud agent)——到点自动在云端跑,不需要你的电脑开着。它会先追问几个问题(几点跑、用哪个 GitHub 仓库、具体做什么),问清楚了才保存。
别漏了这一步:放行要访问的网址
Section titled “别漏了这一步:放行要访问的网址”云端例行任务默认用 Trusted(受信任) 网络级别:只放行 npm、PyPI 这类包仓库、GitHub、云服务的开发工具包(SDK)等约两百个常用开发域名。你自己的网站多半不在名单里,访问会被拦下,返回 403(运行记录里能看到 host_not_allowed)。不改设置的话,这个巡检要么天天失败,要么 AI 把“被拦截”当成“网站挂了”,天天误报。
所以建好之后,先到 claude.ai/code/routines 打开这个任务、进入编辑,打开它所用环境的设置,把 Network access(网络访问) 改成 Custom(自定义),在允许的域名里填上你要检查的域名,并勾选同时保留默认名单;也可以直接选 Full(不限制)。保存后从下一次运行开始生效。放开之后它能访问公网网站,但永远碰不到你电脑上的文件和家里内网的服务。
然后点一次 Run now(立即运行),打开这次运行的记录,看 Claude 实际访问到了什么。运行列表里显示绿色,只说明这次会话正常启动、正常结束,不代表任务成功;被拦截的请求、出错的步骤,都只写在运行记录里。(网络级别的细节见官方的云环境说明。)
也可以用 /schedule 命令管理(别名 /routines)。下面几条各管一件事,用哪条敲哪条。
看有哪些例行任务:
/schedule list修改任务,比如改时间、设自定义的 cron(定时表达式):
/schedule update让任务立刻跑一次:
/schedule run新建任务,比如:
/schedule 每周一早上 8 点,汇总我上周的 git 提交记录发给我只输入 /schedule,它会先问你想新建、列出、修改还是立即运行;后面直接写描述,就进入新建流程。暂停、编辑也能在网页 claude.ai/code/routines 上做,删除任务只能在网页上操作。
时间表怎么写
Section titled “时间表怎么写”背后用的是一种叫 cron(定时表达式) 的写法——不过你不需要学它,直接用人话说就行:
| 你说 | 它理解成 |
|---|---|
| “每天早上 9 点” | 每天 09:00 触发 |
| “每周五下午 6 点” | 每周五 18:00 触发 |
| “每小时” | 每小时一次,这是云端例行任务最密的频率 |
| “每月 1 号” | 每月第一天触发 |
| “明天下午 3 点跑一次” | 一次性任务,跑完自动停用、标成 Ran(已运行),不会删除 |
注意说清时区——“早上 9 点”是你所在时区的 9 点。跨时区工作的人(比如人在国外、服务器在国内)一定要说明白是哪边的 9 点。
另外别把时间定在整点:官方说定在 9:00 的任务可能晚几分钟才启动,想准时就定在 9:07 这类时间;2.1.283 起新建的任务默认也会错开到整点后几分钟。
三个最实用的场景
Section titled “三个最实用的场景”
场景 1:每日巡检(最推荐的第一个 Routine)
Section titled “场景 1:每日巡检(最推荐的第一个 Routine)”“每天早上 7 点,检查我的这几个网址是不是都能打开,打不开的列出来。”
这是投入产出比最高的一个。服务挂了不可怕,挂了没人知道才可怕。记得先按上面的步骤,放行这几个网址的域名。
我家的版本更进一步:巡检完还会把“进行中的事”写进一份交接文件——哪怕哪天 AI 的记忆清空重来,读一眼交接文件就能接上昨天的活。这一步要写本机文件,所以我家用的是本地定时;换成云端例行任务,记录只能提交到 GitHub 仓库的分支里,或者经连接器(connector,在 claude.ai 上接好的外部服务,比如 Slack、网盘)发出来。
场景 2:定期汇总报告
Section titled “场景 2:定期汇总报告”“每周日晚上 9 点,把我这周的支出记录汇总一下,分类统计,标出异常的大额支出。”
周报、账单整理、数据汇总——所有“固定周期 + 固定格式”的整理活都适合丢给 Routine。前提是数据放在它够得着的地方:GitHub 仓库里,或者能通过连接器读到(比如网盘);只存在你电脑上的表格,云端例行任务读不到。
场景 3:盯梢提醒
Section titled “场景 3:盯梢提醒”“每天中午 12 点,查一下 XX 的价格,比昨天降了 5% 以上就提醒我。”
盯价格、盯库存、盯某个页面的更新。人盯会忘,机器盯不会——我们家实测的教训是:凡是“帮我盯着 X”这种委托,靠人记着去看一定会漏,必须交给定时任务才靠谱。要访问的网站,同样得先放行。
新手最容易踩的四个坑
Section titled “新手最容易踩的四个坑”❌ 坑 1:任务写得太模糊
Section titled “❌ 坑 1:任务写得太模糊”「每天帮我看看网站」 ← 看什么?挂了怎么办?要通知吗?
Routine 跑的时候你不在场,没法追问。所以任务描述要一次说全:查什么、判断标准是什么、结果发到哪。
修正:“每天早上 9 点,访问这三个网址,任何一个打不开或响应超过 5 秒,就把详情发消息给我;全部正常就不用打扰我。”
结果去哪看:每次运行都会在 claude.ai/code 里生成一条会话记录,默认就去那里看(入口是 claude.ai/code/routines)。例行任务不会自己给你发消息,任务里写的“发消息给我”,要靠你接好的、能发消息的连接器(比如 Slack)来完成。
❌ 坑 2:重复打扰
Section titled “❌ 坑 2:重复打扰”服务挂了,每小时的巡检每小时都报一遍——你收到 8 条一模一样的警报,从此对警报麻木。
修正:在任务里写清「同一个问题只报一次,恢复了再报一次恢复」。
❌ 坑 3:任务不「幂等」
Section titled “❌ 坑 3:任务不「幂等」”幂等(说人话:跑两遍和跑一遍效果一样)。比如任务是「把新数据追加到表格里」,万一某天触发了两次,数据就重复了。
修正:写任务时想一下「这个任务跑两遍会不会出乱子」——会的话,加一句「先检查是否已处理过,处理过就跳过」。
❌ 坑 4:连接器全开
Section titled “❌ 坑 4:连接器全开”新建例行任务时,你账号里接好的连接器默认全部带上。例行任务无人值守、不弹权限确认,Claude 能不经询问调用这些连接器里的写操作(发消息、建工单等),而且都以你本人的身份出现。
修正:建任务时删掉用不上的连接器,只留这个任务真正需要的。放手让 AI 自己跑之前还该想清楚什么,见 安全放手(Safe Autonomy):AI 自己跑也不闯祸。
跟 Hooks 有什么区别
Section titled “跟 Hooks 有什么区别”有读者会想起 Hooks(钩子) 那一篇——都是「自动执行」,区别一句话:
- Hooks:事件触发——「每次 Claude 改完文件,自动跑测试」(有事才动)
- Routines:时间触发——「每天早上 9 点,自动跑巡检」(到点就动)
一个看事件,一个看钟表。两个可以搭配用。
用不了云端例行任务?在本机定时跑
Section titled “用不了云端例行任务?在本机定时跑”中国大陆读者、按本站配置接 DeepSeek 的读者,用不了云端例行任务。思路照样能用:到点叫醒 Claude 干一件事,只是改在自己电脑上跑,电脑得开着。
办法 1:会话里的 /loop。在开着的 Claude Code 会话里输入(example.com 换成你要检查的网址,下同):
/loop 1h 用 curl -sI 检查 https://example.com 的状态码,不是 200 就告诉我它会每小时跑一次,但只在这个会话开着时有效,重复任务 7 天后自动过期。官方写明各家模型服务都能用,接 DeepSeek 时本站还没实测。
办法 2:系统定时 + claude -p。claude -p "任务" 让 Claude Code 不进入对话界面、做完一件事就退出,适合交给系统自带的定时工具(macOS、Linux 用 cron,Windows 用「任务计划程序」)每天按时执行。先在终端里手动跑通一次(macOS、Linux 写法):
mkdir -p ~/site-check && cd ~/site-checkclaude -p "用 curl -sI 检查 https://example.com 返回的状态码。不是 200 的话,把当前时间和状态码追加到 report.md;是 200 就什么都不做。" --permission-mode acceptEdits --allowedTools "Bash(curl *)"-p模式下没人替你点“同意”,要提前说好放行什么:--permission-mode acceptEdits让它能改当前文件夹里的文件,--allowedTools "Bash(curl *)"只放行 curl 命令,其余需要确认的操作一律被拒绝。- 定时工具启动的程序,拿不到你在终端里临时设置的变量,往往也找不到
claude命令:定时任务里要写claude的完整路径(在终端运行which claude可以查到)。走 DeepSeek 的话,要按你自己的凭据管理方式,把配置篇里的那组变量提供给定时任务,Key 不要写进项目文件。 - 手动跑通、
report.md的结果对了,再交给定时工具。Windows 上命令行写法略有不同,同样先手动跑通再定时。
不想碰命令行的,国内的豆包工作(字节的 AI 办公产品)也自带定时任务。
这一篇的核心信息
Section titled “这一篇的核心信息”AI 的价值不只是「你问它答」,更是「你不在的时候它也在干活」。
从一个最小的 Routine 开始:今晚就设一个“每天早上检查我最重要的那个网址”,别忘了先放行这个网址,再点一次 Run now 看看运行记录。设完你会发现,有些心你从此不用再操了——这就是自动化的正确打开方式:不是炫技,是把你从重复的惦记里解放出来。
你每天/每周固定要做的事情里,哪一件是「格式固定、判断简单、纯粹费记性」的?那就是你的第一个 Routine。
→ 手机上继续昨晚的活:Remote Control —— 例行任务适合到点就跑的活;在自己电脑上跑了一半的长任务,人出门了怎么接着管?下一篇讲。