Claude Code Routines:让 AI 编程助手 7×24 自动干活
Claude Code 推出了 Routines 功能(研究预览阶段),可以把 Claude Code 会话打包成云端自动化任务——关掉电脑也能持续运行。本文详细拆解这项功能的核心机制、触发方式、20+ 实战场景,以及它和现有自动化工具的对比。
一句话理解 Routines
Routine = 提示词 + 代码仓库 + MCP 连接器 + 触发规则,打包后部署到 Anthropic 云端,按计划或事件自动执行。
它不是一个简单的定时脚本。每次触发,Anthropic 会在云端启动一个完整的 Claude Code 会话,能跑 shell 命令、读写代码、调用外部服务,全程无人值守,不需要你点"允许"。
如果你用过 GitHub Actions,可以这样类比:GitHub Actions 是"代码事件触发 CI/CD 流水线",Routines 是"代码事件触发 AI 编程会话"。区别在于,Routines 里跑的不是你写好的脚本,而是一个能理解上下文、自主决策的 AI Agent。
三种触发方式
Routines 支持三种触发器,可以单独使用,也可以组合挂在同一个 Routine 上。
1. 定时触发(Schedule)
最直观的方式。支持的预设频率包括每小时、每天、仅工作日、每周。时间按你的本地时区设置,云端自动转换。
如果预设不够用,可以通过 CLI 的 /schedule update 命令设定自定义 cron 表达式,最小间隔是 1 小时。实际启动时间可能有几分钟的偏移,但对同一个 Routine 来说偏移量是固定的。
2. API 触发
每个 Routine 创建后会生成一个专属的 HTTP POST 端点和 Bearer Token。任何能发 HTTP 请求的系统都可以调用它。
请求体支持一个可选的 text 字段,用来传入运行时的上下文信息。比如监控系统触发时可以把告警内容、堆栈信息塞进去,Routine 会把这段文本和预设的提示词一起处理。
调用示例:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_xxx/fire \
-H "Authorization: Bearer sk-ant-oat01-xxxxx" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod."}'
成功后返回 session ID 和 URL,可以在浏览器里实时看 Claude 在干什么。
注意:这个 API 目前走的是 beta header,格式随时可能变。Token 只在生成时显示一次,务必立刻保存。
3. GitHub 事件触发
监听 GitHub 仓库的事件,自动启动会话。支持的事件类型非常全面:
对于 PR 事件,还可以加精细的过滤条件:
按作者:只处理特定开发者的 PR
按分支:base branch 是
main且 head branch 包含auth→ 只审查认证模块的 PR按标签:labels 包含
needs-backport→ 自动触发回移按状态:is draft = false → 跳过草稿,只处理正式提交的 PR
按来源:from fork = true → 对外部贡献者做额外安全审查
重要细节:每个匹配的事件都会创建独立的 session,不会复用。两个 push 事件 = 两个独立会话。另外,需要在仓库安装 Claude GitHub App(/web-setup 授予的克隆权限不等于安装了 GitHub App,这是两回事)。
创建 Routine 的三种方式
Web 端(功能最完整)
访问 claude.ai/code/routines,点 New routine,按顺序填写:
名称和提示词:提示词是核心,因为运行时完全无人值守,必须写清楚"做什么"和"成功标准是什么"。同时选择运行模型。
代码仓库:添加一个或多个 GitHub 仓库,每次运行时从默认分支克隆。
云环境:控制网络访问级别、环境变量(放 API Key 等密钥)、Setup 脚本(安装依赖)。
触发器:选择定时 / API / GitHub 事件,可以同时添加多种。
连接器:默认包含你所有已连接的 MCP 连接器,移除不需要的。
创建:点 Create,Routine 立即生效。可以点 Run now 手动跑一次。
CLI(快速创建定时任务)
在任意 Claude Code 会话里输入 /schedule,Claude 会引导你交互式创建。也可以直接写:
/schedule daily PR review at 9am
CLI 目前只能创建定时触发类型的 Routine,API 和 GitHub 触发器需要到 Web 端添加。其他管理命令:
/schedule list— 查看所有 Routine/schedule update— 修改(包括设定自定义 cron 表达式)/schedule run— 立即触发一次
Desktop 应用
打开 Schedule 页面 → New task → New remote task。注意不要选 New local task,那个是本地定时任务,跑在你自己的机器上,不是云端 Routine。
运行环境详解
云环境(Cloud Environment)
每个 Routine 关联一个云环境,控制三个维度:
网络访问:设定运行期间可以访问哪些外部网络
环境变量:注入 API Key、Token、配置项等密钥
Setup 脚本:每次运行前执行的命令,比如
npm install、pip install等
有一个默认环境可以直接用,也可以提前创建自定义环境。
分支权限
默认情况下,Claude 只能推送到 claude/ 前缀的分支。这是一个安全护栏,防止 Routine 意外修改 main、develop 等保护分支。
如果确实需要推送到其他分支,可以在创建或编辑 Routine 时,对特定仓库开启 Allow unrestricted branch pushes。建议谨慎使用。
连接器(MCP Connectors)
Routine 运行期间可以通过 MCP 连接器读写外部服务。比如:
从 Slack 频道读取支持请求 → 在 Linear 创建 Issue
扫描完代码后 → 把汇总发到企业微信/Slack 频道
读取 Google Drive 上的需求文档 → 对照代码检查实现
创建 Routine 时默认包含你所有已连接的连接器,移除不需要的即可。
20+ 实战场景全景
以下按用途分类,每个场景标注了推荐的触发方式。这些场景有一个共同特点:重复发生、规则明确、结果可验证。
代码质量与审查
场景 1:PR 自动审查(GitHub 触发 pull_request.opened)
每次有新 PR 提交,Routine 按照团队自定义的审查清单,逐项检查安全漏洞、性能问题、代码风格,留 inline comment 并写汇总评论。人工 reviewer 只需关注架构设计,机械检查交给 Routine。
场景 2:外部贡献者安全审查(GitHub 触发,过滤 from fork = true)
所有来自 fork 的 PR 自动走一轮额外的安全和代码风格审查。开源项目维护者不用担心漏审外部提交的风险代码。
场景 3:CI 失败自动修复(GitHub 触发 check_run.completed)
CI 挂了之后,Routine 自动读取失败日志,分析原因,推一个修复 commit 到同一个 PR 分支上。开发者醒来看到的可能是一个已经修好的绿色 pipeline。
场景 4:代码复杂度监控(定时触发,每周)
每周扫描代码库,计算各模块的圈复杂度、方法长度、类耦合度等指标,与上周对比。指标恶化的模块自动开 Issue 并标记为"需要重构"。
项目管理与运维
场景 5:每日 Issue 整理(定时触发,每个工作日晚上)
通过连接器读取当天新增的 Issue,根据涉及的代码模块自动打标签、分配负责人,发一条汇总消息到 Slack 或企业微信。第二天早上团队看到的是一个整理好的待办队列。
场景 6:告警自动分诊(API 触发)
Sentry、Datadog 等监控系统检测到错误率超阈值时,调用 Routine 的 API 端点,把告警内容通过 text 字段传入。Routine 拿到堆栈信息,关联最近的 commit,定位可能的原因,开一个带修复建议的 draft PR。On-call 的人审查 PR 就行,不用从零开始排查。
场景 7:部署后冒烟验证(API 触发)
CD 流水线每次部署到生产环境后,调用 Routine 端点。Routine 对新版本跑关键路径测试、扫描错误日志、检查核心指标,然后往发布频道发一条"通过/不通过"的结论。在部署窗口关闭前就能拿到自动化的验收结果。
场景 8:Stale PR 清理(定时触发,每周)
找出超过 7 天没有更新的 PR,自动 @作者提醒更新或关闭。超过 30 天的标记为 stale 并留评论说明原因。保持 PR 列表干净。
场景 9:服务健康巡检(定时触发,每小时)
每小时检查各服务的健康端点、数据库连接池使用率、队列积压量,异常时自动在对应仓库开 Issue 并通知 on-call 人员。
文档维护
场景 10:文档漂移检测(定时触发,每周)
扫描上周合并的 PR,找出 API 签名变了但文档没跟上的地方,自动对文档仓库开更新 PR。编辑只需要审核和润色,不用自己翻 commit log 找遗漏。
场景 11:CHANGELOG 自动生成(GitHub 触发 release.published)
每次发布新版本时,汇总自上次 release 以来的所有 commit 和 PR,按 feature / fix / breaking change 分类,生成格式化的 CHANGELOG 并提交。
场景 12:README 同步检查(定时触发,每月)
检查 README 里的安装步骤、配置示例、依赖版本是否和实际代码一致,不一致的地方开 PR 修正。
场景 13:API 文档自动生成(GitHub 触发 push 到 main)
每次主分支有新代码合入,自动扫描接口定义(OpenAPI、Swagger 注解、JSDoc 等),重新生成 API 文档并推送到文档站。
代码库维护
场景 14:依赖更新评估(定时触发,每周)
扫描 package.json、pom.xml、requirements.txt 等依赖文件,检查哪些依赖有新版本,评估 breaking changes 风险,对低风险的依赖直接开升级 PR。
场景 15:技术债清理(定时触发,每周)
扫描代码中的 TODO、FIXME、HACK、WORKAROUND 注释,按模块汇总。存在超过 90 天的未处理项自动创建 Issue,防止技术债无限堆积。
场景 16:跨语言 SDK 同步(GitHub 触发 pull_request.closed,过滤已合并)
一个语言的 SDK 合并 PR 后,Routine 自动把改动移植到另一种语言的 SDK 仓库,开一个对应的 PR。两个 SDK 保持同步,不需要人工重复实现。
场景 17:死代码检测(定时触发,每月)
分析代码库中未被引用的函数、类、常量,生成报告并开 PR 清理。配合测试覆盖率数据,优先处理无测试覆盖的死代码。
场景 18:代码格式统一(GitHub 触发 push)
每次 push 后检查是否有不符合团队格式规范的文件(缩进、换行、import 顺序等),自动格式化并推一个修复 commit。
安全与合规
场景 19:密钥泄露扫描(GitHub 触发 push)
每次 push 后扫描提交内容中是否有硬编码的 API Key、密码、Token、私钥等敏感信息,发现后立即通知开发者并建议修复方案(比如使用环境变量替代)。
场景 20:License 合规检查(GitHub 触发 pull_request.opened)
新 PR 引入了新依赖时,自动检查该依赖的开源协议是否与项目兼容。GPL 依赖混入 MIT 项目?Routine 会在 PR 上留评论警告。
场景 21:安全公告匹配(定时触发,每天)
每天拉取 CVE 数据库或 GitHub Security Advisory 的最新公告,与项目依赖树做匹配。发现受影响的依赖后自动开 Issue,标注影响范围和建议的修复版本。
团队协作
场景 22:周报自动生成(定时触发,每周五)
汇总本周合并的 PR 数量和内容、关闭的 Issue、新增的讨论、代码行数变化,生成结构化的周报发到团队频道。省去每个人手写周报的时间。
场景 23:新人 PR 引导(GitHub 触发,过滤特定作者)
新加入团队的成员提交的 PR 自动附加更详细的代码规范说明、常见 anti-pattern 提示、以及相关文档链接,降低 senior 的 review 成本。
场景 24:Release Notes 生成(GitHub 触发 release.created)
每次创建 release 时,自动从 PR 标题和描述中提取面向用户的变更说明,生成可读性好的 Release Notes,省去产品经理手动整理。
场景 25:会议纪要跟踪(定时触发,每天)
通过连接器读取团队会议纪要中的 Action Items,检查对应的 Issue 或 PR 是否已创建,未创建的自动生成 Issue 并分配给责任人。
Routines vs 现有自动化工具:怎么选?
Routines vs Scheduled Tasks
这不是并列关系,而是演进关系。Scheduled Tasks 是 Routines 的前身,现有的 scheduled tasks 已经自动升级为 routines。
一句话总结:Scheduled Tasks 是"闹钟叫你的本地 Claude 起来干活",Routines 是"把任务交给云端的 Claude 员工"。
Routines vs GitHub Actions
两者不是替代关系,而是互补。
最佳实践:用 GitHub Actions 跑确定性的 CI/CD 流程(构建、测试、部署),用 Routines 处理需要"理解代码"的任务(审查、分析、修复建议)。两者可以串联——GitHub Actions 部署完毕后通过 API 触发 Routine 做验证。
Routines vs Dependabot / Renovate
建议:依赖更新这个单一场景,Dependabot/Renovate 更成熟更可靠。但如果你想在依赖更新的基础上加一层"AI 评估这次升级会不会破坏现有功能",可以让 Routine 在 Dependabot 的 PR 上做补充审查。
Routines vs 传统 Cron Job + 脚本
建议:如果任务逻辑完全确定(比如"每天凌晨 3 点清理 /tmp"),cron job 更简单直接。如果任务需要"看情况决定"(比如"分析今天的新 Issue,判断优先级"),Routines 的 AI 理解力是传统脚本做不到的。
Routines vs Webhook + Serverless Function
建议:简单的 webhook 响应(比如"收到 Stripe 付款事件后更新数据库")用 serverless function 更合适。需要"理解代码仓库上下文"的响应(比如"收到告警后分析代码找 bug")用 Routines。
场景决策速查表
用量与限制
Routine 消耗的额度和交互式会话一样,走订阅计划的用量
每个账户每天有 Routine 运行次数上限(在 claude.ai/code/routines 或 settings/usage 查看)
GitHub webhook 事件有每 Routine 和每账户的小时级上限,超出的事件会被丢弃
达到上限后,开了 extra usage 的组织可以按量继续跑,否则等窗口重置
适用计划:Pro、Max、Team、Enterprise(需开启 Claude Code on the web)
权限与安全须知
几个容易忽略的细节:
Routine 以你的身份运行。GitHub commit 带你的用户名,Slack 消息用你的账号发,Linear ticket 归你名下。不要让 Routine 做你不愿意署名的事。
Routine 属于个人账户,不与团队成员共享。
API Token 只显示一次,生成后立刻保存。支持 Regenerate(重新生成)和 Revoke(吊销)。
分支推送有护栏,默认只能推
claude/前缀分支,按需对特定仓库解锁。连接器权限最小化,创建时移除 Routine 不需要的连接器。
提示词要自包含,因为没有人在旁边点确认。写清楚目标、约束、异常处理和成功标准。
写在最后
Routines 目前还在研究预览阶段,API 格式、速率限制、功能边界都可能变。但方向很清晰:把 AI 编程助手从"你问它答"的交互模式,推向"设定目标后自动持续运行"的 Agent 模式。
最适合 Routines 的任务有三个共同特点:重复发生、规则明确、结果可验证。代码审查、文档同步、告警分诊、部署验证,都是天然适配的场景。
不适合的场景也很明确:需要复杂的人工判断、涉及不可逆操作(比如直接删除生产数据)、或者规则模糊到连人都说不清的任务。
上手路径建议:从一个低风险的只读 Routine 开始(比如每天汇总 Issue、每周生成代码质量报告),观察它的行为模式和输出质量,再逐步升级到有写入权限的场景(开 PR、推 commit)。把 Routines 想象成一个新来的初级开发者——先让他做 code review,确认靠谱了再让他写代码。