例行程序處於研究預覽階段。行為、限制和 API 表面可能會變更。
- 排程:按照每小時、每晚或每週等定期節奏運行
- API:通過向每個例行程序端點發送帶有持有人令牌的 HTTP POST 來按需觸發
- GitHub:自動回應存儲庫事件,例如拉取請求或發佈
/schedule 命令。
本頁涵蓋創建例行程序、配置每種觸發器類型、管理運行以及使用限制如何應用。
示例用例
每個示例將觸發器類型與例行程序適合的工作類型配對:無人值守、可重複且與明確結果相關。 待辦事項維護。 排程觸發器每個工作日晚上針對您的問題跟蹤器通過 connector 運行。例行程序讀取自上次運行以來打開的問題、應用標籤、根據引用的代碼區域分配所有者,並將摘要發佈到 Slack,以便團隊以整理好的隊列開始新的一天。 警報分類。 您的監控工具在錯誤閾值被超過時調用例行程序的 API 端點,將警報正文作為text 傳遞。例行程序提取堆棧跟蹤、將其與存儲庫中的最近提交相關聯,並打開一個帶有建議修復和返回警報鏈接的草稿拉取請求。值班人員審查 PR 而不是從空白終端開始。
定製代碼審查。 GitHub 觸發器在 pull_request.opened 上運行。例行程序應用您團隊自己的審查檢查清單,為安全性、性能和風格問題留下內聯評論,並添加摘要評論,以便人工審查者可以專注於設計而不是機械檢查。
部署驗證。 您的 CD 管道在每次生產部署後調用例行程序的 API 端點。例行程序針對新構建運行煙霧測試、掃描錯誤日誌以查找回歸,並在部署窗口關閉前向發佈頻道發佈是否可以部署。
文檔漂移。 排程觸發器每週運行。例行程序掃描自上次運行以來合併的 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 和觸發器。 例行程序作為完整的 Claude Code 雲會話自主運行:沒有權限模式選擇器,運行期間也沒有批准提示。會話可以運行 shell 命令、使用 skills 提交到克隆的存儲庫,並調用您包含的任何 connectors。例行程序可以到達的內容由您選擇的存儲庫及其分支推送設置、環境的網絡訪問和變量,以及您包含的 connectors 決定。將每個範圍限制在例行程序實際需要的內容。 例行程序屬於您的個人 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:提供 API 密鑰、令牌或其他 Claude 可以使用的機密
- 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,或對類別中的所有操作做出反應。
| 事件 | 觸發時機 |
|---|---|
| Pull request | PR 被打開、關閉、分配、標記、同步或以其他方式更新 |
| Release | 發佈被創建、發佈、編輯或刪除 |
篩選拉取請求
使用篩選器縮小哪些拉取請求啟動新會話。所有篩選條件必須匹配才能觸發例行程序。可用的篩選字段是:| 篩選器 | 匹配 |
|---|---|
| Author | PR 作者的 GitHub 用戶名 |
| Title | PR 標題文本 |
| Body | PR 描述文本 |
| Base branch | PR 目標的分支 |
| Head branch | PR 來自的分支 |
| Labels | 應用於 PR 的標籤 |
| Is draft | PR 是否處於草稿狀態 |
| Is merged | PR 是否已合併 |
| From fork | PR 是否來自分支 |
matches regex 運算符測試整個字段值,而不是其中的子字符串。要匹配任何包含 hotfix 的標題,請寫 .*hotfix.*。沒有周圍的 .*,篩選器僅匹配完全是 hotfix 的標題,前後沒有任何內容。對於不使用正則表達式語法的文字子字符串匹配,請改用 contains 運算符。
一些示例篩選器組合:
- Auth module review:base branch
main,head branch 包含auth-provider。將任何涉及身份驗證的 PR 發送給專注的審查者。 - External contributor triage:from fork 是
true。在人工查看前,通過額外的安全和風格審查路由每個基於分支的 PR。 - Ready-for-review only:is draft 是
false。跳過草稿,以便例行程序僅在 PR 準備好審查時運行。 - Label-gated backport:labels 包括
needs-backport。僅當維護者標記 PR 時才觸發移植到另一分支的例行程序。
會話如何映射到事件
每個匹配的 GitHub 事件啟動新會話。GitHub 觸發的例行程序不提供跨事件的會話重用,因此兩個 PR 更新會產生兩個獨立會話。管理例行程序
點擊列表中的例行程序以打開其詳細信息頁面。詳細信息頁面顯示例行程序的存儲庫、connectors、提示、排程、API 令牌、GitHub 觸發器和過去運行的列表。查看和交互運行
點擊任何運行以將其作為完整會話打開。從那裡您可以看到 Claude 做了什麼、審查更改、創建拉取請求或繼續對話。每個運行會話的工作方式與任何其他會話相同:使用會話標題旁邊的下拉菜單重命名、存檔或刪除它。編輯和控制例行程序
從例行程序詳細信息頁面,您可以:- 點擊 Run now 立即開始運行,無需等待下一個排程時間。
- 使用 Repeats 部分中的切換暫停或恢復排程。暫停的例行程序保留其配置但不運行,直到您重新啟用它們。
- 點擊鉛筆圖標打開 Edit routine 並更改名稱、提示、存儲庫、環境、connectors 或例行程序的任何觸發器。Select a trigger 部分是您添加或移除排程、API 令牌和 GitHub 事件觸發器的地方。
- 點擊刪除圖標移除例行程序。由例行程序創建的過去會話保留在您的會話列表中。
存儲庫和分支權限
例行程序需要 GitHub 訪問權限來克隆存儲庫。當您使用/schedule 從 CLI 創建例行程序時,Claude 檢查您的帳戶是否連接了 GitHub,如果沒有則提示您運行 /web-setup。有關授予訪問權限的兩種方式,請參閱 GitHub authentication options。
您添加的每個存儲庫在每次運行時都會被克隆。Claude 從存儲庫的默認分支開始,除非您的提示另有指定。
默認情況下,Claude 只能推送到以 claude/ 為前綴的分支。這可以防止例行程序意外修改受保護或長期分支。要移除特定存儲庫的此限制,請在創建或編輯例行程序時為該存儲庫啟用 Allow unrestricted branch pushes。
Connectors
例行程序可以使用您連接的 MCP connectors 在每次運行期間讀取和寫入外部服務。例如,分類支持請求的例行程序可能從 Slack 頻道讀取並在 Linear 中創建問題。 當您創建例行程序時,默認情況下包括您所有當前連接的 connectors。移除任何不需要的以限制 Claude 在運行期間可以訪問的工具。您也可以直接從例行程序表單添加 connectors。 要在例行程序表單外管理或添加 connectors,請訪問 claude.ai 上的 Settings > Connectors 或在 CLI 中使用/schedule update。
環境
每個例行程序在 cloud environment 中運行,該環境控制網絡訪問、環境變量和設置腳本。在創建例行程序前配置環境,以便 Claude 訪問 API、安裝依賴項或限制網絡範圍。有關完整的設置指南,請參閱 cloud environment。使用和限制
例行程序以與交互式會話相同的方式消耗訂閱使用量。除了標準訂閱限制外,例行程序還有每個帳戶每天可以啟動多少次運行的每日上限。在 claude.ai/code/routines 或 claude.ai/settings/usage 查看您當前的消耗和剩餘的每日例行程序運行。 當例行程序達到每日上限或您的訂閱使用限制時,啟用了額外使用的組織可以繼續在計量超額上運行例行程序。沒有額外使用,額外運行會被拒絕,直到窗口重置。從 claude.ai 上的 Settings > Billing 啟用額外使用。相關資源
/loop和會話內排程:在打開的 CLI 會話中排程本地任務- Desktop scheduled tasks:在您的機器上運行的本地排程任務,可以訪問本地文件
- Cloud environment:為雲會話配置運行時環境
- MCP connectors:連接外部服務,如 Slack、Linear 和 Google Drive
- GitHub Actions:在存儲庫事件上在您的 CI 管道中運行 Claude