自託管環境在 Team 和 Enterprise 方案上處於公開測試版,預設為關閉。請參閱可用性和限制以了解啟用路徑和排除項目。
claude --cloud)和排程例行工作啟動這些工作階段,預設情況下它們在 Anthropic 的基礎設施上執行。在自託管環境中,這些相同的工作階段在您的網路內執行,開發者體驗基本相同,除了可用性和限制中的差異以及部署頁面的已知問題。
如果您的團隊不使用雲端工作階段,這裡沒有任何需要設定的內容:終端機或 IDE 中的工作階段始終在開發者自己的機器上執行。如果您想在自己的常駐機器上執行 Claude Code 並從其他裝置驅動它,請使用遠端控制,該功能也可在 Pro 和 Max 方案上使用。當您準備好設定時,請直接前往快速入門;如果您想先檢查安全狀況,請從部署到生產環境開始。本頁的其餘部分說明自託管的工作原理以及何時選擇它。
自託管環境的工作原理
自託管有三個部分:- 環境:雲端工作階段可以被發送到的命名目的地。您的組織在 claude.ai 管理設定中建立環境,每個環境都會分組一組執行器。
- 執行器:在您網路內的主機上執行的程式。執行器執行工作階段;其概念與自託管 CI 執行器相同。
- 工作階段:開發者啟動的一個 Claude Code 任務。
api.anthropic.com 的出站 HTTPS,工作階段可以到達的其他主機的簡短清單列於網路需求中。Anthropic 永遠不會連接到您的網路。
可用性和限制
在規劃推出之前,請檢查這些內容:- 方案:Team 和 Enterprise 組織的公開測試版。自託管環境預設為關閉;擁有者在雲端環境管理頁面上開啟允許自託管環境,這需要為組織啟用雲端工作階段。
- 零資料保留和 HIPAA:對於啟用了零資料保留或套用了 HIPAA 設定的組織不可用。
- 模型推理:除非您將執行器設定為將模型請求傳送至 Amazon Bedrock 或 Google Cloud 的 Agent Platform,否則工作階段會使用 Anthropic API。在這兩種情況下,工作階段內容都會傳送至 Anthropic。在以此方式設定的執行器上,伺服器管理的設定和來自 claude.ai 的組織政策不會套用到工作階段。
- 表面:從 claude.ai/code、行動和桌面應用程式、排程例行工作 和終端機啟動的工作階段,使用
claude --cloud或--environment分派,可以在自託管環境中執行。Claude Tag 工作階段也可以在其中執行,但 Claude 在這些工作階段中還無法使用存取套件。Claude Security 和 Code Review 工作階段還沒有路由到它們。對這兩個表面的支援將單獨跟進。 - 儲存庫:工作階段從 GitHub 簽出儲存庫;請參閱 GitHub 身份驗證選項。對於 GitHub Enterprise Server 主機,請參閱其網路需求。
- 計費:自託管環境中的工作階段消耗您組織的 Claude Code 使用量,與 Anthropic 託管環境中的工作階段相同。
為什麼要自託管
大多數團隊最好由 Anthropic 託管的環境服務,這些環境不需要基礎設施來執行或維護。自託管適用於網路、工具或合規要求要求在其控制的基礎設施上保持工作階段執行的團隊。如果是這樣,請為其帶來的操作所有權做好計劃:您構建和維護執行器映像、操作艦隊並控制其網路。 作為交換,自託管為您提供網路存取、自訂工具和合規控制:- 網路存取:工作階段在您的網路內執行,可以到達內部服務、資料庫和登錄,而無需將它們暴露給公網
- 自訂工具:在執行器映像中預先安裝編譯器、SDK 和內部 CLI,以便每個工作階段都準備好構建
- 合規:儲存庫簽出和建置產物保留在您控制的基礎設施上。工作階段內容仍然會發送到
api.anthropic.com。
環境、執行器和工作階段
環境在 claude.ai 管理設定中的雲端環境頁面上進行管理;執行器是您在自己的基礎設施上啟動和管理的程序。關鍵概念
這些術語在整個自託管頁面中出現:
在 API 欄位、令牌聲明和度量名稱中,環境顯示為
pool,環境 ID 是 pool_id。參考映射了兩種拼寫,包括已棄用的 pool 標誌名稱。
執行器一次為一個擁有者服務。執行器認領的第一個工作階段將執行器鎖定到該工作階段的擁有者,執行器隨後只為該擁有者執行工作階段,達到設定的容量。擁有者是誰取決於工作階段如何啟動:
- 使用者啟動的工作階段:擁有者是該使用者的帳戶。
- Claude Tag 頻道工作階段:Claude 執行它們時沒有附加使用者帳戶,因此擁有者是啟動工作階段的 Claude Tag 代理。該代理啟動的每個頻道工作階段都有相同的擁有者,無論誰發送了 Slack 訊息,因此當您以
--capacity大於 1 或正--drain-grace-sec執行它時,鎖定到它的執行器為不同人員啟動的工作階段服務。
工作階段生命週期
當開發者啟動工作階段並選擇您的環境時,Anthropic 的控制平面將工作階段放在環境的佇列上。從那裡:- 具有可用容量的執行器認領工作階段並持有其租約。
- 執行器將儲存庫複製到其工作目錄並生成子 Claude Code 程序。
- 子程序在執行器保持輪詢時透過 HTTPS 流回事件;每次輪詢都會刷新租約並充當心跳。
- 如果執行器停止輪詢,其租約會在約 60 秒後失效,伺服器會在幾分鐘內將工作階段重新佇列到另一個執行器。
執行器生命週期
執行器認領的第一個工作階段將執行器鎖定到該工作階段的擁有者,執行器為該擁有者執行最多--capacity 個並行工作階段。當執行器有活躍工作階段且未收到關閉信號或達到其退休時間時,執行器會繼續認領鎖定擁有者的佇列工作。一旦它們完成會發生什麼取決於 --drain-grace-sec:
- 在預設值
0時:執行器在其活躍工作階段完成後立即退出,無需輪詢更多工作,因此您部署它的協調器(例如 Kubernetes)可以使用新磁碟重新啟動它,準備為任何擁有者服務。 - 在正值時:執行器在退出前繼續輪詢鎖定擁有者的佇列那麼多秒。
--retire-at。傳遞 SIGTERM 的終止不需要標誌:執行器按照關閉時序所述進行排水,或當您設定 --defer-shutdown-max-min 時保持為其已持有的工作階段服務。如果您的基礎設施改為在已知的掛鐘時間銷毀主機而不發送信號,或寬限期太短而無法排水,例如沙箱生命週期上限或現貨實例回收,請傳遞 --retire-at <epoch-seconds> 設定為該時間前幾分鐘。在退休時間:
- 執行器停止接受新工作。
- 執行器透過
--release-idle-session-min旗標使用的相同發佈路徑發佈每個活躍工作階段,因此當使用者發送下一條訊息時,工作階段在新執行器上恢復。執行器何時發佈每個工作階段取決於其狀態:- 對於處於回合進行中的工作階段,執行器會在該回合完成後發佈它。執行器會先等待工作階段的程序向 Anthropic 回報該回合的結束,等待時間不超過
SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS。在 v2.1.280 之前,執行器會在回合完成後立即發佈工作階段。 - 當回合完成並留下執行中的背景任務時,執行器最多等待 60 秒,然後發佈工作階段,即使它們仍在執行中。如果任務已完成但讀取其結果的後續回合尚未執行,執行器會保持工作階段直到該回合完成,並等待不超過
SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS以便該回合開始。
- 對於處於回合進行中的工作階段,執行器會在該回合完成後發佈它。執行器會先等待工作階段的程序向 Anthropic 回報該回合的結束,等待時間不超過
- 執行器在所有工作階段都被發佈後以 0 退出。
--retire-at,無信號主機終止與崩潰無法區分:控制平面記錄丟失的工作者而不是乾淨的發佈,工作階段重新佇列到另一個執行器。
網路路徑
執行器及其工作階段進行多種出站連接,不需要來自 Anthropic 的入站連接:- 控制平面:執行器輪詢
api.anthropic.com以獲取工作並發佈設定進度和失敗事件,全部出站 HTTPS。輪詢充當執行器的心跳。 - Git:執行器透過 HTTPS 或 SSH 從您的 git 主機複製和推送,使用您的部署提供的憑證進行身份驗證。請參閱設定 git 以了解各種選項,包括每個工作階段鑄造的憑證。使用 Anthropic git 代理伺服器時,github.com 上儲存庫的 git 流量會改為經由
api.anthropic.com。 - 工作階段子程序:子 Claude Code 程序持有工作階段到
api.anthropic.com的事件串流,並為模型推理和工作階段期間執行的 git 命令進行自己的出站呼叫。在使用 Anthropic 管理的 git 的工作階段中,子程序會透過它開啟到api.anthropic.com的 WebSocket 連接,傳送其針對 github.com 的git和gh流量。 - SCM 連接器:可選的協調器 SCM 連接器無法使用,因此其隧道不會開啟。該隧道是到
api.anthropic.com的 WebSocket 連接。
HTTPS_PROXY 和 NO_PROXY;在每個程序的環境中設定它們。這些變數涵蓋控制平面呼叫、協調器的 SCM 連接器 WebSocket 和 HTTPS 遠端的內建複製,工作階段從執行器繼承它們。工作階段流使用透過 HTTPS 的伺服器發送事件,因此路徑中的代理不得緩衝回應。
如果您的代理還需要 Proxy-Authorization 標頭,執行器可以將其新增到它開啟到代理的每個連接;請參閱向出站代理進行身份驗證。
保留在您的基礎設施上的內容
儲存庫簽出、建置產物、祕密和工作階段建立或修改的任何檔案都保留在您佈建的機器上。對話本身,包括提示詞、回應和工具結果,會發送到api.anthropic.com,Anthropic 會儲存工作階段逐字稿,以便您可以從另一個支援的使用介面恢復工作階段。當執行器將模型請求發送到 Amazon Bedrock 或 Google Cloud 的 Agent Platform 時,對話仍會在工作階段的事件串流中發送到 api.anthropic.com。
自託管環境將工作階段執行移到您的網路中。控制平面仍然是 Anthropic 託管的:工作階段協調、佇列和 claude.ai 介面繼續在 Anthropic 的基礎設施上執行。