Claude Code 平台集成

Claude Code 平台集成

例行任务(Routines)

5 分钟阅读

使用自动任务自动化工作

让 Claude Code 自动运行。定义按时间表运行、通过 API 调用触发或响应 GitHub 事件的自动任务,全部基于 Anthropic 托管的云基础设施。

自动任务目前处于研究预览阶段。行为、限制和 API 接口可能会发生变化。

自动任务是一份保存的 Claude Code 配置:一个提示词、一个或多个代码仓库,以及一组 连接器,打包后自动运行。自动任务在 Anthropic 管理的云基础设施上执行,因此即使你的笔记本电脑关闭,它们也会继续运行。

每个自动任务可以附加一个或多个触发器:

  • 计划触发:按小时、每晚或每周等重复频率运行,或在特定未来时间运行一次
  • API 触发:通过向每个自动任务专属的端点发送 HTTP POST 请求并携带 Bearer Token 来按需触发
  • GitHub 触发:自动响应代码仓库事件,如 Pull Request 或发布

单个自动任务可以组合多种触发器。例如,一个 PR 审查自动任务可以每晚运行、从部署脚本触发,并响应每个新 PR。

自动任务适用于已启用 Claude Code 网页版 的 Pro、Max、Team 和 Enterprise 套餐。在 claude.ai/code/routines 创建和管理它们,或通过 CLI 使用 /schedule

Team 和 Enterprise 所有者可以在 claude.ai/admin-settings/claude-code 通过自动任务开关为所有成员禁用该功能。禁用后,现有自动任务将停止运行,成员也无法创建新的自动任务。

本页面涵盖创建自动任务、配置每种触发器类型、管理运行以及使用限制的应用方式。

示例用例

每个示例将触发器类型与自动任务适合的工作类型配对:无人值守、可重复且与明确结果相关联。

待办事项维护。 计划触发器在每个工作日晚间通过连接器运行你的问题跟踪器。自动任务读取自上次运行以来新打开的问题,应用标签,根据引用的代码区域分配负责人,并将摘要发布到 Slack,让团队以整理好的队列开始新的一天。

告警分类。 当错误阈值被突破时,你的监控工具调用自动任务的 API 端点,将告警内容作为 text 传递。自动任务提取堆栈跟踪,与代码仓库中的近期提交关联,并打开一个包含建议修复方案和返回告警链接的草稿 Pull Request。值班人员可以直接审查该 PR,而无需从空白终端开始。

定制代码审查。 GitHub 触发器在 pull_request.opened 时运行。自动任务应用团队自己的审查清单,针对安全、性能和风格问题留下行内评论,并添加总结评论,以便人工审查者专注于设计而非机械性检查。

部署验证。 你的 CD 流水线在每次生产部署后调用自动任务的 API 端点。自动任务对新构建运行冒烟测试,扫描错误日志以发现回归问题,并在部署窗口关闭前向发布频道发送通过/不通过的结果。

文档漂移。 计划触发器每周运行。自动任务扫描自上次运行以来已合并的 PR,标记引用了已变更 API 的文档,并针对文档仓库打开更新 PR 供编辑审查。

库移植。 GitHub 触发器在 pull_request.closed 时运行,筛选条件为某个 SDK 仓库中已合并的 PR。自动任务将变更移植到另一种语言的并行 SDK 中,并打开对应的 PR,使两个库保持同步,无需人工重新实现每个变更。

以下章节将介绍如何创建自动任务以及如何配置这些触发器类型。

创建自动任务

在网页版 claude.ai/code/routines、桌面应用或 CLI 中创建自动任务。这三个界面写入同一个云账户,因此你在其中一个创建的自动任务会立即显示在其他界面中。在桌面应用中,点击侧边栏中的 Routines,然后点击 New routine,并选择 Remote;选择 Local 则会创建 桌面计划任务,它在你的机器上运行而非云端。

创建表单用于设置自动任务的提示词、代码仓库、环境、连接器和触发器。

自动任务作为完整的 Claude Code 云会话自主运行:运行期间没有权限模式选择器,也没有审批提示。会话可以运行 shell 命令,使用提交到克隆仓库的 技能,并调用你包含的任何连接器。自动任务能够访问的范围取决于你选择的代码仓库及其分支推送设置、环境 的网络访问和变量,以及你包含的连接器。将每一项都限制为自动任务实际需要的范围。

自动任务属于你的个人 claude.ai 账户。它们不会与队友共享,并且会计入你账户的每日运行配额。自动任务通过你连接的 GitHub 身份或连接器执行的任何操作都显示为你本人:提交和 Pull Request 使用你的 GitHub 用户,Slack 消息、Linear 工单或其他连接器操作使用你在这些服务上关联的账户。

从网页版创建

1

打开创建表单

访问 claude.ai/code/routines 并点击 New routine

2

命名自动任务并编写提示词

为自动任务起一个描述性的名称,并编写 Claude 每次运行时使用的提示词。提示词是最重要的部分:自动任务自主运行,因此提示词必须自成一体,明确说明要做什么以及成功的标准是什么。

提示词输入框包含一个模型选择器。Claude 在每次运行时使用选定的模型。

3

选择代码仓库

添加一个或多个 GitHub 代码仓库供 Claude 工作。每个代码仓库在运行开始时克隆,从默认分支开始。Claude 为其变更创建 claude/ 前缀的分支。

4

选择环境

为自动任务选择一个 云环境。环境控制云会话可以访问的内容:

  • 网络访问:设置每次运行期间可用的互联网访问级别
  • 环境变量:提供 API 密钥、Token 或其他 Claude 可以使用的机密
  • 设置脚本:安装自动任务所需的依赖和工具。结果被 缓存,因此脚本不会在每个会话中重新运行

系统提供一个 Default 环境,具有 Trusted 网络访问权限,允许访问 默认集合 中的包注册表、云提供商 API、容器注册表和常见开发域名,但阻止其他所有内容。如果你的自动任务需要访问你自己的服务或列表之外的域名,请在运行前编辑环境的 网络访问。要使用单独的环境,请先 创建一个

5

选择触发器

Select a trigger 下,选择自动任务的启动方式。你可以选择一个触发器类型或组合多个。

为重复运行选择预设频率,或在特定时间戳安排一次性的单次运行。有关时区处理、交错执行、自定义 cron 间隔和单次运行的信息,请参阅 添加计划触发器

6

审查连接器和权限

表单底部的 ConnectorsPermissions 标签页控制自动任务可以访问的范围。

在 Connectors 下,默认包含你所有已连接的 MCP 连接器。移除自动任务不需要的任何连接器。Claude 可以使用包含的连接器中的每个工具,包括写入操作,而无需在运行期间请求权限。

在 Permissions 下,为任何需要 Claude 能够推送到现有分支(而不仅是 claude/ 前缀分支)的代码仓库启用 Allow unrestricted branch pushes

7

创建自动任务

点击 Create。自动任务将出现在列表中,并在其触发器匹配时下次运行。要立即开始运行,请在自动任务的详情页面点击 Run now

每次运行都会在你的其他会话旁边创建一个新会话,你可以在其中查看 Claude 做了什么、审查变更并创建 Pull Request。

从 CLI 创建

在任何会话中运行 /schedule 以对话方式创建计划自动任务。你也可以直接传递描述,例如重复自动任务 /schedule daily PR review at 9am 或单次任务 /schedule clean up feature flag in one week。Claude 会引导你完成网页表单收集的相同信息,然后将自动任务保存到你的账户。

CLI 中的 /schedule 仅创建计划自动任务。要添加 API 或 GitHub 触发器,请在网页版 claude.ai/code/routines 编辑自动任务。

CLI 还支持管理现有自动任务。运行 /schedule list 查看所有自动任务,/schedule update 修改某个任务,或 /schedule run 立即触发它。

配置触发器

当自动任务的某个触发器匹配时,自动任务启动。你可以将计划、API 和 GitHub 触发器的任意组合附加到同一个自动任务,并随时从自动任务编辑表单的 Select a trigger 部分添加或移除它们。

添加计划触发器

计划触发器按重复频率运行自动任务,或在特定未来时间运行一次。在 Select a trigger 部分选择预设频率:每小时、每天、工作日或每周。时间在你本地时区输入并自动转换,因此无论云基础设施位于何处,自动任务都会在该挂钟时间运行。

由于交错执行,运行可能会在计划时间后几分钟开始。每个自动任务的偏移量是一致的。

对于自定义间隔(如每两小时或每月第一天),请在表单中选择最接近的预设,然后在 CLI 中运行 /schedule update 以设置特定的 cron 表达式。最小间隔为一小时;运行频率更高的表达式将被拒绝。

安排单次运行

单次计划在特定时间戳触发自动任务一次。使用它来提醒自己在本周晚些时候处理某事、在发布完成后打开清理 PR,或在上游变更落地时启动后续任务。自动任务触发后,它会自动禁用,网页 UI 将其标记为 Ran。要再次运行,请编辑自动任务并设置新的单次时间。

通过用自然语言描述时间来从 CLI 创建单次运行。Claude 根据当前时间解析该短语,并在保存前确认绝对时间戳。

/schedule 明天上午9点,总结昨天合并的 PR
/schedule 两周后,打开一个移除功能标志的清理 PR

单次时间戳与重复计划一样适用相同的本地到 UTC 转换。

单次运行不计入每日自动任务运行上限。它们像任何其他会话一样消耗你套餐的常规订阅使用量。详情请参阅 使用与限制

添加 API 触发器

API 触发器为自动任务提供一个专用的 HTTP 端点。使用自动任务的 Bearer Token 向该端点发送 POST 请求会启动一个新会话并返回会话 URL。使用此功能将 Claude Code 接入告警系统、部署流水线、内部工具或任何可以发起经过身份验证的 HTTP 请求的地方。

API 触发器从网页版添加到现有自动任务。CLI 目前无法创建或撤销 Token。

1

打开自动任务进行编辑

前往 claude.ai/code/routines,点击你想通过 API 触发的自动任务,然后点击铅笔图标打开 Edit routine

2

添加 API 触发器

滚动到 Instructions 框下方的 Select a trigger 部分,点击 Add another trigger,然后选择 API

3

复制 URL 并生成 Token

弹窗会显示该自动任务的 URL 以及示例 curl 命令。复制 URL,然后点击 Generate token 并立即复制 Token。该 Token 只显示一次,之后无法再次获取,因此请将其存储在安全的地方,例如你的告警工具的机密存储中。

4

调用端点

向 URL 发送 POST 请求时,在 Authorization: Bearer 请求头中发送 Token。下面的 触发自动任务 部分展示了完整示例。

每个自动任务都有自己的 Token,范围仅限于触发该自动任务。要轮换或撤销它,请返回同一弹窗并点击 RegenerateRevoke

触发自动任务

/fire 端点发送 POST 请求,并在 Authorization 请求头中携带 Bearer Token。请求体接受一个可选的 text 字段,用于提供运行特定的上下文,例如告警内容或失败日志,该字段会与自动任务保存的提示词一起传递给自动任务。该值是自由格式文本,不会被解析:如果你发送 JSON 或其他结构化载荷,自动任务会将其作为字面字符串接收。

以下示例从 shell 触发自动任务:

curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/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. Stack trace attached."}'

成功请求会返回包含新会话 ID 和 URL 的 JSON 主体:

{
  "type": "routine_fire",
  "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
  "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}

在浏览器中打开会话 URL 以实时观看运行、审查变更或手动继续对话。

/fire 端点通过 experimental-cc-routine-2026-04-01 Beta 请求头提供。在功能处于研究预览期间,请求和响应格式、速率限制和 Token 语义可能会发生变化。重大变更会在新的带日期 Beta 请求头版本后发布,并且两个最近的旧版本请求头会继续工作,以便调用方有时间迁移。

API 参考

有关完整的 API 参考,包括所有错误响应、验证规则和字段限制,请参阅 Claude Platform 文档中的 通过 API 触发自动任务

/fire 端点仅适用于 claude.ai 用户,不属于 Claude Platform API 的一部分。

添加 GitHub 触发器

当连接的代码仓库上发生匹配事件时,GitHub 触发器自动启动一个新会话。每个匹配事件都会启动自己的会话。

在研究预览期间,GitHub Webhook 事件受每个自动任务和每个账户的每小时上限限制。超出限制的事件将被丢弃,直到窗口重置。请在 claude.ai/code/routines 查看你当前的限制。

GitHub 触发器只能从网页 UI 配置。

1

打开自动任务进行编辑

前往 claude.ai/code/routines,点击自动任务,然后点击铅笔图标打开 Edit routine

2

添加 GitHub 事件触发器

滚动到 Select a trigger 部分,点击 Add another trigger,然后选择 GitHub event

3

安装 Claude GitHub App

必须在你想要订阅的代码仓库上安装 Claude GitHub App。如果尚未安装,触发器设置会提示你进行安装。

在 CLI 中运行 /web-setup 会授予代码仓库访问权限以进行克隆,但它不会安装 Claude GitHub App,也不会启用 Webhook 投递。GitHub 触发器需要安装 Claude GitHub App,触发器设置会提示你执行此操作。

4

配置触发器

选择代码仓库,从 支持的事件 列表中选择一个事件,并可选地添加筛选条件。保存触发器。

支持的事件

GitHub 触发器可以订阅以下任一事件类别。在每个类别中,你可以选择一个特定操作,例如 pull_request.opened,或响应该类别中的所有操作。

Event触发时机
Pull requestPR 被打开、关闭、分配、标记标签、同步或以其他方式更新时
Release发布被创建、发布、编辑或删除时

筛选 Pull Request

使用筛选条件来缩小启动新会话的 Pull Request 范围。自动任务要触发,所有筛选条件都必须匹配。可用的筛选字段如下:

筛选字段匹配内容
AuthorPR 作者的 GitHub 用户名
TitlePR 标题文本
BodyPR 描述文本
Base branchPR 的目标分支
Head branchPR 的来源分支
Labels应用于 PR 的标签
Is draftPR 是否处于草稿状态
Is mergedPR 是否已合并

每个筛选条件将字段与操作符配对:等于、包含、开头为、是其中之一、不是其中之一或匹配正则表达式。

matches regex 操作符测试整个字段值,而不是其中的子字符串。要匹配任何包含 hotfix 的标题,请写 .*hotfix.*。如果没有周围的 .*,筛选条件仅匹配完全等于 hotfix 且前后没有任何内容的标题。对于不使用正则语法进行字面量子字符串匹配,请改用 contains 操作符。

以下是几个筛选组合示例:

  • 认证模块审查:base branch 为 main,head branch 包含 auth-provider。将任何涉及认证的 PR 发送给专注的审查者。
  • 仅审查就绪:is draft 为 false。跳过草稿,以便自动任务仅在 PR 准备好审查时运行。
  • 标签控制回退:labels 包含 needs-backport。仅在维护者标记 PR 时触发移植到另一个分支的自动任务。

事件如何映射到会话

每个匹配的 GitHub 事件都会启动一个新会话。对于 GitHub 触发的自动任务,事件之间不能复用会话,因此两个 PR 更新会产生两个独立的会话。

管理自动任务

点击列表中的自动任务以打开其详情页面。详情页面显示自动任务的代码仓库、连接器、提示词、计划、API Token、GitHub 触发器以及过往运行列表。

查看和交互运行

点击任何运行以将其作为完整会话打开。从那里你可以查看 Claude 做了什么、审查变更、创建 Pull Request 或继续对话。每次运行会话的工作方式与其他任何会话一样:使用会话标题旁边的下拉菜单对其进行重命名、归档或删除。

运行列表中的绿色状态表示会话已启动且退出时没有基础设施错误。这并不意味着你提示词中的任务成功了。打开运行以阅读转录文本并确认 Claude 实际做了什么。被阻止的网络请求、缺失的连接器工具和任务级失败都会显示在那里,而不是在状态指示器中。

编辑和控制自动任务

从自动任务详情页面,你可以:

  • 点击 Run now 立即开始运行,无需等待下一个计划时间。
  • 使用 Repeats 部分中的开关来暂停或恢复计划。暂停的自动任务保留其配置,但在你重新启用之前不会运行。
  • 点击铅笔图标打开 Edit routine,更改名称、提示词、代码仓库、环境、连接器或自动任务的任何触发器。Select a trigger 部分是你添加或移除计划、API Token 和 GitHub 事件触发器的地方。
  • 点击删除图标移除自动任务。自动任务创建的过往会话保留在你的会话列表中。

代码仓库和分支权限

自动任务需要 GitHub 访问权限来克隆代码仓库。当你使用 /schedule 从 CLI 创建自动任务时,Claude 会检查你的账户是否已连接 GitHub,如果没有,则提示你运行 /web-setup。有关授予访问权限的两种方式,请参阅 GitHub 认证选项

你添加的每个代码仓库都会在每次运行时克隆。除非你的提示词另有指定,否则 Claude 从代码仓库的默认分支开始。

默认情况下,Claude 只能推送到 claude/ 前缀的分支。这可以防止自动任务意外修改受保护或长期存在的分支。要为特定代码仓库移除此限制,请在创建或编辑自动任务时为该代码仓库启用 Allow unrestricted branch pushes

连接器

自动任务可以使用你连接的 MCP 连接器在每次运行期间读取和写入外部服务。例如,一个分类支持请求的自动任务可能会从 Slack 频道读取并在 Linear 中创建问题。

连接器是你账户上的 claude.ai 集成。你在 CLI 中使用 claude mcp add 本地添加的 MCP 服务器存储在你的机器上,而不是你的 claude.ai 账户上,因此它们不会出现在连接器列表中。要在自动任务中使用这些服务器之一,请在 claude.ai/customize/connectors 将其添加为连接器,或在已提交的 .mcp.json 中声明它,使其成为克隆仓库的一部分。

当你创建自动任务时,默认包含你当前所有已连接的连接器。移除任何不需要的连接器,以限制 Claude 在运行期间可以访问的工具。你也可以直接从自动任务表单添加连接器。

要在自动任务表单之外管理或添加连接器,请访问 claude.ai 上的 Settings > Connectors,或在 CLI 中使用 /schedule update

环境和网络访问

每个自动任务在 云环境 中运行,该环境控制网络访问、环境变量和设置脚本。自动任务在每次运行时继承环境的网络策略。

Default 环境使用 Trusted 网络访问:可以访问包注册表、云提供商 API、容器注册表和常见开发域名的 默认允许列表,但无法访问任意域名。对其他主机的出站请求会失败,返回 403x-deny-reason: host_not_allowed。MCP 连接器流量通过 Anthropic 的服务器路由,因此你添加到自动任务的连接器无需将其主机添加到 Allowed domains 即可工作。在 连接器 下移除你不需要的任何连接器。

要允许额外的域名:

1

打开自动任务进行编辑

在自动任务的详情页面,点击铅笔图标打开 Edit routine

2

打开环境选择器

Instructions 框下方,选择显示环境名称的云图标,例如 Default

3

打开环境设置

将鼠标悬停在列表中的环境上,然后点击右侧出现的设置图标。

4

更改网络访问级别

Update cloud environment 对话框中,将 Network access 更改为 Custom,并在 Allowed domains 中输入你的域名。勾选 Also include default list of common package managers 以在你的自定义域名旁边保留 默认允许列表。选择 Full 以获得无限制的访问权限。

5

保存

点击 Save changes。新策略从下次运行开始生效。

有关访问级别和默认允许列表的详细信息,请参阅 网络访问

使用与限制

自动任务消耗订阅使用量的方式与交互式会话相同。除了标准订阅限制外,自动任务对每个账户每天可以启动的运行次数有上限。请在 claude.ai/code/routinesclaude.ai/settings/usage 查看你当前的消耗量和剩余的每日自动任务运行次数。

当自动任务达到每日上限或你的订阅使用量限制时,开启使用额度的组织可以继续以计量超额方式运行自动任务。如果没有使用额度,额外的运行将被拒绝,直到窗口重置。在 claude.ai 的 Settings > Billing 中开启使用额度。

单次运行不计入每日自动任务上限。它们像任何其他会话一样消耗你的常规订阅使用量,但不受每个账户每日自动任务运行配额的限制。

故障排除

/schedule 显示 "No commands match" 或 "Unknown command"

当未满足某个要求时,CLI 会隐藏 /schedule,因此在你输入时命令菜单显示 No commands match "/schedule",提交后返回 Unknown command: /schedule。原因通常是以下之一:

  • 你使用 Console API 密钥或云提供商(如 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry)进行身份验证。/schedule 需要 claude.ai 订阅登录。如果你的 shell 中设置了 ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN,或者 settings.json 中设置了 apiKeyHelper,请先移除它们,因为这些优先于 claude.ai 登录
  • DISABLE_TELEMETRYDO_NOT_TRACKCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_GROWTHBOOK 设置在你的 shell 环境或 settings.json 文件env 块中。这些设置会禁用功能标志获取,而 /schedule 依赖于它
  • 你正在 Claude Code 网页版会话中。请改为从 网页 UI 管理自动任务
  • 你的 CLI 版本低于 v2.1.81。运行 claude update

无论 CLI 如何配置,你始终可以在 claude.ai/code/routines 创建和管理自动任务。

"Routines are disabled by your organization's policy"

你的 Team 或 Enterprise 组织中的所有者可能已在 claude.ai/admin-settings/claude-code 关闭了 Routines 开关。这是服务器端组织设置,因此无法从你的本地配置覆盖。请要求所有者为你的组织启用自动任务。

相关资源

博极客AI是专业人工智能学习平台,提供通俗易懂的AI入门教程、大模型应用、实战项目与行业动态,全站内容免费阅览,零基础也能轻松学AI,适配学生、职场新人及技术爱好者。

© 版权所有 2026 博极客AI,保留一切权利。 | 桂ICP备2026007205号 | 桂公网安备45010502001169号