Routines 处于研究预览阶段。行为、限制和 API 表面可能会改变。
- Scheduled:按照每小时、每晚或每周等定期节奏运行
- API:通过向每个例程端点发送带有持有者令牌的 HTTP POST 来按需触发
- GitHub:自动响应存储库事件(如拉取请求或发布)运行
/schedule。
本页涵盖创建例程、配置每种触发器类型、管理运行以及使用限制如何应用。
示例用例
每个示例将触发器类型与例程适合的工作类型配对:无人值守、可重复且与明确的结果相关。 积压维护。 计划触发器每个工作日晚上针对您的问题跟踪器通过 connector 运行。例程读取自上次运行以来打开的问题,应用标签,根据引用的代码区域分配所有者,并将摘要发布到 Slack,以便团队以整理好的队列开始新的一天。 警报分类。 您的监控工具在错误阈值被超过时调用例程的 API 端点,将警报正文作为text 传递。例程提取堆栈跟踪,将其与存储库中的最近提交相关联,并打开一个包含建议修复和返回警报链接的草稿拉取请求。值班人员审查 PR 而不是从空白终端开始。
定制代码审查。 GitHub 触发器在 pull_request.opened 上运行。例程应用您团队自己的审查清单,为安全性、性能和风格问题留下内联注释,并添加摘要注释,以便人工审查者可以专注于设计而不是机械检查。
部署验证。 您的 CD 管道在每次生产部署后调用例程的 API 端点。例程针对新构建运行烟雾测试,扫描错误日志以查找回归,并在部署窗口关闭之前向发布频道发布 go 或 no-go。
文档漂移。 计划触发器每周运行。例程扫描自上次运行以来合并的 PR,标记引用已更改 API 的文档,并针对文档存储库打开更新 PR 供编辑审查。
库移植。 GitHub 触发器在 pull_request.closed 上运行,筛选为一个 SDK 存储库中的合并 PR。例程将更改移植到另一种语言的并行 SDK,并打开匹配的 PR,使两个库保持同步,而无需人工重新实现每个更改。
下面的部分将介绍创建例程和配置每种触发器类型。
创建例程
从 Web、Desktop 应用或 CLI 创建例程。所有三个界面都写入同一个云账户,因此您在 CLI 中创建的例程会立即显示在 claude.ai/code/routines 上。在 Desktop 应用中,单击 New task 并选择 New remote task;选择 New local task 会创建一个 local Desktop scheduled task,它在您的机器上运行,不是例程。 创建表单设置例程的提示、存储库、环境、connectors 和触发器。 Routines 作为完整的 Claude Code 云会话自主运行:没有权限模式选择器,运行期间也没有批准提示。会话可以运行 shell 命令、使用 skills 提交到克隆的存储库,并调用您包含的任何 connectors。例程可以到达的内容由您选择的存储库及其分支推送设置、environment 的网络访问和变量以及您包含的 connectors 决定。将每个范围限制在例程实际需要的范围内。 Routines 属于您的个人 claude.ai 账户。它们不与队友共享,并且计入您账户的每日运行配额。例程通过您连接的 GitHub 身份或 connectors 所做的任何事情都显示为您:提交和拉取请求携带您的 GitHub 用户,Slack 消息、Linear 票证或其他 connector 操作使用您为这些服务链接的账户。从 Web 创建
打开创建表单
访问 claude.ai/code/routines 并单击 New routine。
命名例程并编写提示
给例程一个描述性名称并编写 Claude 每次运行的提示。提示是最重要的部分:例程自主运行,因此提示必须是自包含的,并明确说明要做什么以及成功是什么样的。提示输入包括一个模型选择器。Claude 在每次运行时使用选定的模型。
选择存储库
添加一个或多个 GitHub 存储库供 Claude 在其中工作。每个存储库在运行开始时从默认分支克隆。Claude 为其更改创建
claude/ 前缀的分支。要允许推送到任何分支,请为该存储库启用 Allow unrestricted branch pushes。选择环境
为例程选择一个 cloud environment。环境控制云会话可以访问的内容:
- Network access:设置每次运行期间可用的互联网访问级别
- Environment variables:提供 Claude 可以使用的 API 密钥、令牌或其他机密
- Setup script:安装例程需要的依赖项和工具。结果是 cached,因此脚本不会在每个会话上重新运行
选择触发器
在 Select a trigger 下,选择例程如何启动。您可以选择一种触发器类型或组合多种。
- Schedule
- GitHub event
- API
选择预设频率:每小时、每天、工作日或每周。有关时区处理、交错和自定义 cron 间隔,请参阅 Add a schedule trigger。
审查 connectors
默认情况下包括您所有连接的 MCP connectors。删除例程不需要的任何内容。Connectors 在每次运行期间让 Claude 可以访问外部服务,如 Slack、Linear 或 Google Drive。
从 CLI 创建
在任何会话中运行/schedule 以对话方式创建计划例程。您也可以直接传递描述,如 /schedule daily PR review at 9am。Claude 会遍历 Web 表单收集的相同信息,然后将例程保存到您的账户。
CLI 中的 /schedule 仅创建计划例程。要添加 API 或 GitHub 触发器,请在 claude.ai/code/routines 的 Web 上编辑例程。
CLI 还支持管理现有例程。运行 /schedule list 查看所有例程,/schedule update 更改一个,或 /schedule run 立即触发它。
从 Desktop 应用创建
在 Desktop 应用中打开 Schedule 页面,单击 New task,然后选择 New remote task。Desktop 应用在同一网格中显示本地计划任务和例程。有关本地选项的详细信息,请参阅 Desktop scheduled tasks。配置触发器
当例程的触发器之一匹配时,例程启动。您可以将任何组合的计划、API 和 GitHub 触发器附加到同一例程,并随时从例程编辑表单的 Select a trigger 部分添加或删除它们。添加计划触发器
计划触发器按定期节奏运行例程。在 Select a trigger 部分中选择预设频率:每小时、每天、工作日或每周。时间以您的本地时区输入并自动转换,因此例程在该挂钟时间运行,无论云基础设施位于何处。 运行可能在计划时间后几分钟开始,原因是交错。每个例程的偏移是一致的。 对于自定义间隔(如每两小时或每月的第一天),在表单中选择最接近的预设,然后在 CLI 中运行/schedule update 以设置特定的 cron 表达式。最小间隔是一小时;运行频率更高的表达式被拒绝。
添加 API 触发器
API 触发器为例程提供专用的 HTTP 端点。使用例程的持有者令牌 POST 到端点会启动新会话并返回会话 URL。使用此功能将 Claude Code 连接到警报系统、部署管道、内部工具或任何可以进行身份验证 HTTP 请求的地方。 API 触发器从 Web 添加到现有例程。CLI 目前无法创建或撤销令牌。打开例程进行编辑
转到 claude.ai/code/routines,单击您想通过 API 触发的例程,然后单击铅笔图标打开 Edit routine。
复制 URL 并生成令牌
模态显示此例程的 URL 以及示例 curl 命令。复制 URL,然后单击 Generate token 并立即复制令牌。令牌仅显示一次,之后无法检索,因此请将其存储在安全的地方,如您的警报工具的密钥存储。
调用端点
POST 到 URL 时在
Authorization: Bearer 标头中发送令牌。下面的 Trigger a routine 部分显示了完整示例。触发例程
向/fire 端点发送 POST 请求,在 Authorization 标头中包含持有者令牌。请求正文接受可选的 text 字段,用于运行特定的上下文,如警报正文或失败的日志,与其保存的提示一起传递给例程。该值是自由格式文本,不被解析:如果您发送 JSON 或其他结构化有效负载,例程会将其作为文字字符串接收。
下面的示例从 shell 触发例程:
API 参考
有关完整的 API 参考,包括所有错误响应、验证规则和字段限制,请参阅 Claude Platform 文档中的 Trigger a routine via API。/fire 端点仅对 claude.ai 用户可用,不是 Claude Platform API 表面的一部分。
添加 GitHub 触发器
GitHub 触发器在连接的存储库上发生匹配事件时自动启动新会话。每个匹配事件启动自己的会话。在研究预览期间,GitHub webhook 事件受每个例程和每个账户的每小时上限限制。超过限制的事件被丢弃,直到窗口重置。在 claude.ai/code/routines 查看您当前的限制。
打开例程进行编辑
转到 claude.ai/code/routines,单击例程,然后单击铅笔图标打开 Edit routine。
安装 Claude GitHub App
Claude GitHub App 必须安装在您想订阅的存储库上。如果尚未安装,触发器设置会提示您安装它。
在 CLI 中运行
/web-setup 授予存储库访问权限以进行克隆,但它不安装 Claude GitHub App,也不启用 webhook 传递。GitHub 触发器需要安装 Claude GitHub App,触发器设置会提示您这样做。配置触发器
选择存储库,从 supported events 列表中选择事件,并可选地添加过滤器。保存触发器。
支持的事件
GitHub 触发器可以订阅以下事件类别之一。在每个类别中,您可以选择特定操作(如pull_request.opened)或对类别中的所有操作做出反应。
| Event | Triggers when |
|---|---|
| Pull request | PR 被打开、关闭、分配、标记、同步或以其他方式更新 |
| Release | 发布被创建、发布、编辑或删除 |
过滤拉取请求
使用过滤器缩小哪些拉取请求启动新会话。所有过滤条件必须匹配才能触发例程。可用的过滤字段是:| Filter | Matches |
|---|---|
| Author | PR 作者的 GitHub 用户名 |
| Title | PR 标题文本 |
| Body | PR 描述文本 |
| Base branch | PR 目标的分支 |
| Head branch | PR 来自的分支 |
| Labels | 应用于 PR 的标签 |
| Is draft | PR 是否处于草稿状态 |
| Is merged | PR 是否已合并 |
| From fork | PR 是否来自 fork |
matches regex 运算符测试整个字段值,而不是其中的子字符串。要匹配包含 hotfix 的任何标题,请写 .*hotfix.*。没有周围的 .*,过滤器仅匹配完全是 hotfix 的标题,前后没有任何内容。对于不使用 regex 语法的文字子字符串匹配,请改用 contains 运算符。
一些示例过滤器组合:
- Auth module review:base branch
main,head branch containsauth-provider。将任何涉及身份验证的 PR 发送给专注的审查者。 - External contributor triage:from fork is
true。在人工查看之前,通过额外的安全和风格审查路由每个基于 fork 的 PR。 - Ready-for-review only:is draft is
false。跳过草稿,以便例程仅在 PR 准备好审查时运行。 - Label-gated backport:labels include
needs-backport。仅当维护者标记 PR 时才触发移植到另一个分支的例程。
会话如何映射到事件
每个匹配的 GitHub 事件启动新会话。GitHub 触发的例程不支持跨事件重用会话,因此两个 PR 更新会产生两个独立会话。管理例程
单击列表中的例程以打开其详细信息页面。详细信息页面显示例程的存储库、connectors、提示、计划、API 令牌、GitHub 触发器和过去运行的列表。查看和交互运行
单击任何运行以将其作为完整会话打开。从那里您可以看到 Claude 所做的工作、审查更改、创建拉取请求或继续对话。每个运行会话的工作方式与任何其他会话相同:使用会话标题旁边的下拉菜单来重命名、存档或删除它。编辑和控制例程
从例程详细信息页面,您可以:- 单击 Run now 立即启动运行,而无需等待下一个计划时间。
- 使用 Repeats 部分中的切换来暂停或恢复计划。暂停的例程保持其配置但不运行,直到您重新启用它们。
- 单击铅笔图标打开 Edit routine 并更改名称、提示、存储库、环境、connectors 或例程的任何触发器。Select a trigger 部分是您添加或删除计划、API 令牌和 GitHub 事件触发器的地方。
- 单击删除图标以删除例程。例程创建的过去会话保留在您的会话列表中。
存储库和分支权限
Routines 需要 GitHub 访问权限来克隆存储库。当您使用/schedule 从 CLI 创建例程时,Claude 检查您的账户是否连接了 GitHub,如果没有,会提示您运行 /web-setup。有关授予访问权限的两种方式,请参阅 GitHub authentication options。
您添加的每个存储库在每次运行时都会被克隆。Claude 从存储库的默认分支开始,除非您的提示另有指定。
默认情况下,Claude 只能推送到以 claude/ 为前缀的分支。这可以防止例程意外修改受保护或长期分支。要为特定存储库删除此限制,请在创建或编辑例程时为该存储库启用 Allow unrestricted branch pushes。
Connectors
Routines 可以使用您连接的 MCP connectors 在每次运行期间读取和写入外部服务。例如,分类支持请求的例程可能从 Slack 频道读取并在 Linear 中创建问题。 创建例程时,默认情况下包括您当前连接的所有 connectors。删除不需要的任何内容以限制 Claude 在运行期间可以访问的工具。您也可以直接从例程表单添加 connectors。 要在例程表单外管理或添加 connectors,请访问 claude.ai 上的 Settings > Connectors 或在 CLI 中使用/schedule update。
环境
每个例程在 cloud environment 中运行,该环境控制网络访问、环境变量和设置脚本。在创建例程之前配置环境,以便让 Claude 访问 API、安装依赖项或限制网络范围。有关完整的设置指南,请参阅 cloud environment。使用和限制
Routines 以与交互式会话相同的方式消耗订阅使用量。除了标准订阅限制外,routines 还对每个账户每天可以启动多少次运行有上限。在 claude.ai/code/routines 或 claude.ai/settings/usage 查看您当前的消耗和剩余的每日例程运行次数。 当例程达到每日上限或您的订阅使用限制时,启用了额外使用的组织可以继续在计量超额上运行例程。没有额外使用,额外运行被拒绝,直到窗口重置。从 claude.ai 上的 Settings > Billing 启用额外使用。相关资源
/loopand in-session scheduling:在打开的 CLI 会话中计划本地任务- Desktop scheduled tasks:在您的机器上运行的本地计划任务,可以访问本地文件
- Cloud environment:为云会话配置运行时环境
- MCP connectors:连接外部服务,如 Slack、Linear 和 Google Drive
- GitHub Actions:在存储库事件的 CI 管道中运行 Claude