6 6
7> 在您控制的基礎設施上執行 Claude Code 雲端工作階段:設定自託管環境、部署執行器,並將工作階段路由到您自己的運算資源。7> 在您控制的基礎設施上執行 Claude Code 雲端工作階段:設定自託管環境、部署執行器,並將工作階段路由到您自己的運算資源。
8 8
9<Note>9> [!NOTE]
10 自託管環境在 Team 和 Enterprise 方案上處於公開測試版,預設為關閉。請參閱[可用性和限制](#availability-and-limitations)以了解啟用路徑和排除項目。10>
11</Note>11> 自託管環境在 Team 和 Enterprise 方案上處於公開測試版,預設為關閉。請參閱[可用性和限制](#availability-and-limitations)以了解啟用路徑和排除項目。
12 12
13自託管環境在您的組織運營的基礎設施上執行 Claude Code 雲端工作階段。[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)是指在開發者機器以外的任何地方執行的工作階段:開發者可以從 claude.ai、行動和桌面應用程式、終端機(使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud))和[排程例行工作](/docs/zh-TW/routines)啟動這些工作階段,預設情況下它們在 Anthropic 的基礎設施上執行。在自託管環境中,這些相同的工作階段在您的網路內執行,開發者體驗基本相同,除了[可用性和限制](#availability-and-limitations)中的差異以及部署頁面的[已知問題](/docs/zh-TW/self-hosted-environments-deploy#known-issues-and-limitations)。13自託管環境在您的組織運營的基礎設施上執行 Claude Code 雲端工作階段。[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)是指在開發者機器以外的任何地方執行的工作階段。開發者可以從 claude.ai、行動和桌面應用程式、終端機(使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud))以及[雲端排程任務](/docs/zh-TW/routines)啟動這些工作階段。預設情況下,雲端工作階段在 Anthropic 的基礎設施上執行。
14
15在自託管環境中,這些相同的工作階段在您的網路內執行。除了[可用性和限制](#availability-and-limitations)中的差異以及部署頁面的[已知問題](/docs/zh-TW/self-hosted-environments-deploy#known-issues-and-limitations)之外,開發者體驗在其他方面完全相同。
14 16
15如果您的團隊不使用雲端工作階段,這裡沒有任何需要設定的內容:終端機或 IDE 中的工作階段始終在開發者自己的機器上執行。如果您想在自己的常駐機器上執行 Claude Code 並從其他裝置驅動它,請使用[遠端控制](/docs/zh-TW/remote-control),該功能也可在 Pro 和 Max 方案上使用。當您準備好設定時,請直接前往[快速入門](/docs/zh-TW/self-hosted-environments-quickstart);如果您想先檢查安全狀況,請從[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)開始。本頁的其餘部分說明自託管的工作原理以及何時選擇它。17如果您的團隊不使用雲端工作階段,這裡沒有任何需要設定的內容:終端機或 IDE 中的工作階段始終在開發者自己的機器上執行。如果您想在自己的常駐機器上執行 Claude Code 並從其他裝置驅動它,請使用[遠端控制](/docs/zh-TW/remote-control),該功能也可在 Pro 和 Max 方案上使用。當您準備好設定時,請直接前往[快速入門](/docs/zh-TW/self-hosted-environments-quickstart);如果您想先檢查安全狀況,請從[部署到生產環境](/docs/zh-TW/self-hosted-environments-deploy)開始。本頁的其餘部分說明自託管的工作原理以及何時選擇它。
16 18
17<h2 id="how-self-hosted-environments-work">19## 自託管環境的工作原理
18 自託管環境的工作原理
19</h2>
20 20
21自託管有三個部分:21自託管有三個部分:
22 22
26 26
27當開發者啟動雲端工作階段時,工作階段啟動 UI 會顯示一個環境選擇器,列出 Anthropic 託管的環境以及您的組織建立的任何環境。如果他們選擇您的環境,Anthropic 的控制平面會將工作階段放在您環境的佇列上,執行器會認領它、複製開發者選擇的儲存庫,並在您的主機上啟動 Claude Code 程序來執行它。執行器使用您設定的憑證向您的 git 主機進行身份驗證;[設定 git](/docs/zh-TW/self-hosted-environments-deploy#configure-git) 涵蓋了各種選項。工作階段從您網路內部到達您的內部服務,當 git 主機是內部的時,也以相同方式到達您的 git 主機;到 Anthropic 的流量(佇列輪詢、工作階段的事件流,以及預設情況下的模型推理)是對 `api.anthropic.com` 的出站 HTTPS,工作階段可以到達的其他主機的簡短清單列於[網路需求](/docs/zh-TW/self-hosted-environments-deploy#network-requirements)中。Anthropic 永遠不會連接到您的網路。27當開發者啟動雲端工作階段時,工作階段啟動 UI 會顯示一個環境選擇器,列出 Anthropic 託管的環境以及您的組織建立的任何環境。如果他們選擇您的環境,Anthropic 的控制平面會將工作階段放在您環境的佇列上,執行器會認領它、複製開發者選擇的儲存庫,並在您的主機上啟動 Claude Code 程序來執行它。執行器使用您設定的憑證向您的 git 主機進行身份驗證;[設定 git](/docs/zh-TW/self-hosted-environments-deploy#configure-git) 涵蓋了各種選項。工作階段從您網路內部到達您的內部服務,當 git 主機是內部的時,也以相同方式到達您的 git 主機;到 Anthropic 的流量(佇列輪詢、工作階段的事件流,以及預設情況下的模型推理)是對 `api.anthropic.com` 的出站 HTTPS,工作階段可以到達的其他主機的簡短清單列於[網路需求](/docs/zh-TW/self-hosted-environments-deploy#network-requirements)中。Anthropic 永遠不會連接到您的網路。
28 28
29<div style={{maxWidth: "640px", margin: "0 auto"}}>29
30 <Frame>
31 <img src="https://mintcdn.com/claude-code/Y0sJ2uDoOVbOVZrQ/images/self-hosted-network-paths.svg?fit=max&auto=format&n=Y0sJ2uDoOVbOVZrQ&q=85&s=8056103fc1c5564c7f0ef219d260b99d" className="dark:hidden" alt="自託管環境的架構圖:您的網路邊界包含一個執行器、其內部的兩個 Claude Code 工作階段程序和您的 git 主機,外部有 api.anthropic.com 持有佇列、工作階段流和推理。執行器輪詢佇列並到達 git 主機,每個工作階段程序開啟自己的流、推理和 git 連接,每個連接都是從您的網路出站,沒有入站。" width="680" height="320" data-path="images/self-hosted-network-paths.svg" />
32
33 <img src="https://mintcdn.com/claude-code/Y0sJ2uDoOVbOVZrQ/images/self-hosted-network-paths-dark.svg?fit=max&auto=format&n=Y0sJ2uDoOVbOVZrQ&q=85&s=fec6aef3b0740d80eaf6d6a7000a2233" className="hidden dark:block" alt="自託管環境的架構圖:您的網路邊界包含一個執行器、其內部的兩個 Claude Code 工作階段程序和您的 git 主機,外部有 api.anthropic.com 持有佇列、工作階段流和推理。執行器輪詢佇列並到達 git 主機,每個工作階段程序開啟自己的流、推理和 git 連接,每個連接都是從您的網路出站,沒有入站。" width="680" height="320" data-path="images/self-hosted-network-paths-dark.svg" />
34 </Frame>
35</div>
36 30
37圖表中的兩個 Claude Code 方塊是工作階段程序:一個執行器同時執行兩個工作階段,達到其設定的容量。執行器一次為一個[擁有者](#key-concepts)服務,並在認領其第一個工作階段時鎖定到該擁有者,因此簽出的程式碼永遠不會在擁有者之間混合;[執行器生命週期](#runner-lifecycle)涵蓋了該規則。31圖表中的兩個 Claude Code 方塊是工作階段程序:一個執行器同時執行兩個工作階段,達到其設定的容量。執行器一次為一個[擁有者](#key-concepts)服務,並在認領其第一個工作階段時鎖定到該擁有者,因此簽出的程式碼永遠不會在擁有者之間混合;[執行器生命週期](#runner-lifecycle)涵蓋了該規則。
38 32
39您可以自己啟動執行器並保持它們執行,或執行[自動擴展協調器](/docs/zh-TW/self-hosted-environments-configuration#on-demand-runners),這是您託管的第二個程序,它在工作階段佇列時啟動執行器;每個執行器在其工作完成時自行退出。無論哪種方式,您都只需設定一次環境,它就會出現在每個支援的表面上的選擇器中。33您可以自己啟動執行器並保持它們執行,或執行[自動擴展協調器](/docs/zh-TW/self-hosted-environments-configuration#on-demand-runners),這是您託管的第二個程序,它在工作階段佇列時啟動執行器;每個執行器在其工作完成時自行退出。無論哪種方式,您都只需設定一次環境,它就會出現在每個支援的表面上的選擇器中。
40 34
41<h2 id="availability-and-limitations">35## 可用性和限制
42 可用性和限制
43</h2>
44 36
45在規劃推出之前,請檢查這些內容:37在規劃推出之前,請檢查這些內容:
46 38
47* **方案**:Team 和 Enterprise 組織的公開測試版。自託管環境預設為關閉;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**,這需要為組織啟用[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。39* **方案**:Team 和 Enterprise 組織的公開測試版。自託管環境預設為關閉;[擁有者](/docs/zh-TW/cloud-environments#organization-shared-environments)在[**雲端環境**管理頁面](https://claude.ai/admin-settings/cloud-environments)上開啟**允許自託管環境**,這需要為組織啟用[雲端工作階段](/docs/zh-TW/claude-code-on-the-web)。
48* **零資料保留和 HIPAA**:對於啟用了[零資料保留](/docs/zh-TW/zero-data-retention)或套用了 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織不可用。40* **零資料保留和 HIPAA**:對於啟用了[零資料保留](/docs/zh-TW/zero-data-retention)或套用了 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織不可用。
49* **模型推理**:除非您將執行器設定為[將模型請求傳送至 Amazon Bedrock 或 Google Cloud 的 Agent Platform](/docs/zh-TW/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform),否則工作階段會使用 Anthropic API。在這兩種情況下,工作階段內容都會傳送至 Anthropic。在以此方式設定的執行器上,[伺服器管理的設定](/docs/zh-TW/server-managed-settings)和來自 claude.ai 的組織政策不會套用到工作階段。41* **模型推理**:除非您將執行器設定為[將模型請求傳送至 Amazon Bedrock 或 Google Cloud 的 Agent Platform](/docs/zh-TW/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform),否則工作階段會使用 Anthropic API。在這兩種情況下,工作階段內容都會傳送至 Anthropic。在以此方式設定的執行器上,[伺服器管理的設定](/docs/zh-TW/server-managed-settings)和來自 claude.ai 的組織政策不會套用到工作階段。
50* **表面**:從 [claude.ai/code](https://claude.ai/code)、行動和桌面應用程式、[排程例行工作](/docs/zh-TW/routines) 和終端機啟動的工作階段,使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud) 或 [`--environment` 分派](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop),可以在自託管環境中執行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段也可以在其中執行,但 Claude 在這些工作階段中還無法使用[存取套件](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-TW/claude-security) 和 [Code Review](/docs/zh-TW/code-review) 工作階段還沒有路由到它們。對這兩個表面的支援將單獨跟進。42* **使用介面**:從 [claude.ai/code](https://claude.ai/code)、行動和桌面應用程式、[雲端排程任務](/docs/zh-TW/routines)和終端機啟動的工作階段,使用 [`claude --cloud`](/docs/zh-TW/claude-code-on-the-web#from-terminal-to-cloud) 或 [`--environment` 分派](/docs/zh-TW/self-hosted-environments-testing#run-the-test-loop),可以在自託管環境中執行。[Claude Tag](https://claude.com/docs/claude-tag/overview) 工作階段也可以在其中執行,但 Claude 在這些工作階段中還無法使用[存取套件](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)。[Claude Security](/docs/zh-TW/claude-security) 和 [Code Review](/docs/zh-TW/code-review) 工作階段還沒有路由到它們。對這兩個使用介面的支援將單獨跟進。
51* **儲存庫**:工作階段從 GitHub 簽出儲存庫;請參閱 [GitHub 身份驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)。對於 GitHub Enterprise Server 主機,請參閱其[網路需求](/docs/zh-TW/github-enterprise-server#network-requirements)。43* **儲存庫**:工作階段從 GitHub 簽出儲存庫;請參閱 [GitHub 身份驗證選項](/docs/zh-TW/claude-code-on-the-web#github-authentication-options)。對於 GitHub Enterprise Server 主機,請參閱其[網路需求](/docs/zh-TW/github-enterprise-server#network-requirements)。
52* **計費**:自託管環境中的工作階段消耗您組織的 Claude Code 使用量,與 Anthropic 託管環境中的工作階段相同。44* **計費**:自託管環境中的工作階段消耗您組織的 Claude Code 使用量,與 Anthropic 託管環境中的工作階段相同。
53 45
54<h2 id="why-self-host">46## 為什麼要自託管
55 為什麼要自託管
56</h2>
57 47
58大多數團隊最好由 Anthropic 託管的環境服務,這些環境不需要基礎設施來執行或維護。自託管適用於網路、工具或合規要求要求在其控制的基礎設施上保持工作階段執行的團隊。如果是這樣,請為其帶來的操作所有權做好計劃:您構建和維護執行器映像、操作艦隊並控制其網路。48大多數團隊最好由 Anthropic 託管的環境服務,這些環境不需要基礎設施來執行或維護。自託管適用於網路、工具或合規要求要求在其控制的基礎設施上保持工作階段執行的團隊。如果是這樣,請為其帶來的操作所有權做好計劃:您構建和維護執行器映像、操作艦隊並控制其網路。
59 49
63* **自訂工具**:在執行器映像中預先安裝編譯器、SDK 和內部 CLI,以便每個工作階段都準備好構建53* **自訂工具**:在執行器映像中預先安裝編譯器、SDK 和內部 CLI,以便每個工作階段都準備好構建
64* **合規**:儲存庫簽出和建置產物保留在您控制的基礎設施上。工作階段內容仍然會發送到 `api.anthropic.com`。54* **合規**:儲存庫簽出和建置產物保留在您控制的基礎設施上。工作階段內容仍然會發送到 `api.anthropic.com`。
65 55
66<h2 id="environments-runners-and-sessions">56## 環境、執行器和工作階段
67 環境、執行器和工作階段
68</h2>
69 57
70環境在 claude.ai 管理設定中的**雲端環境**頁面上進行管理;執行器是您在自己的基礎設施上啟動和管理的程序。58環境在 claude.ai 管理設定中的**雲端環境**頁面上進行管理;執行器是您在自己的基礎設施上啟動和管理的程序。
71 59
72<h3 id="key-concepts">60### 關鍵概念
73 關鍵概念
74</h3>
75 61
76這些術語在整個自託管頁面中出現:62這些術語在整個自託管頁面中出現:
77 63
80| 環境 | 您的執行器的命名分組,在 claude.ai 設定中建立。工作階段被路由到環境,而不是單個執行器。 |66| 環境 | 您的執行器的命名分組,在 claude.ai 設定中建立。工作階段被路由到環境,而不是單個執行器。 |
81| 環境祕密 | 執行器用來向環境進行身份驗證和註冊的單一共享認證。在環境建立時顯示一次,在管理 UI 中標記為**環境金鑰**。 |67| 環境祕密 | 執行器用來向環境進行身份驗證和註冊的單一共享認證。在環境建立時顯示一次,在管理 UI 中標記為**環境金鑰**。 |
82| 執行器 | 您部署的長期程序。執行器向環境註冊、接收執行器令牌並輪詢工作階段。 |68| 執行器 | 您部署的長期程序。執行器向環境註冊、接收執行器令牌並輪詢工作階段。 |
83| 工作階段 | 一個 Claude Code 任務,從 claude.ai、行動應用程式或其他 Anthropic 表面(例如排程例行工作或代理)啟動。每個工作階段作為執行器生成的子 Claude Code 程序執行。 |69| 工作階段 | 一個 Claude Code 任務,從 claude.ai、行動應用程式或其他 Anthropic 使用介面(例如排程任務或 agent)啟動。每個工作階段作為執行器生成的子 Claude Code 程序執行。 |
84 70
85在 API 欄位、令牌聲明和度量名稱中,環境顯示為 `pool`,環境 ID 是 `pool_id`。[參考](/docs/zh-TW/self-hosted-environments-reference)映射了兩種拼寫,包括已棄用的 `pool` 標誌名稱。71在 API 欄位、令牌聲明和度量名稱中,環境顯示為 `pool`,環境 ID 是 `pool_id`。[參考](/docs/zh-TW/self-hosted-environments-reference)映射了兩種拼寫,包括已棄用的 `pool` 標誌名稱。
86 72
91 77
92因此,最小艦隊大小是您預期同時活躍的擁有者數量,計算使用者和 Claude Tag 代理。78因此,最小艦隊大小是您預期同時活躍的擁有者數量,計算使用者和 Claude Tag 代理。
93 79
94<h3 id="session-lifecycle">80### 工作階段生命週期
95 工作階段生命週期
96</h3>
97 81
98當開發者啟動工作階段並選擇您的環境時,Anthropic 的控制平面將工作階段放在環境的佇列上。從那裡:82當開發者啟動工作階段並選擇您的環境時,Anthropic 的控制平面將工作階段放在環境的佇列上。從那裡:
99 83
104 88
105執行器為每個輪詢請求提供 10 秒。當請求超時、丟失或執行器無法解析的回應時,執行器會繼續為其活躍工作階段服務,並在一兩秒後重試,而不是等待下一個排程的輪詢。例如,用自己的頁面回答輪詢的攔截代理會產生執行器無法解析的回應。每次另一個請求以其中一種方式失敗時,執行器會將下一次重試前的間隔加倍,最多 20 秒,並在租約即將過期時縮短間隔。89執行器為每個輪詢請求提供 10 秒。當請求超時、丟失或執行器無法解析的回應時,執行器會繼續為其活躍工作階段服務,並在一兩秒後重試,而不是等待下一個排程的輪詢。例如,用自己的頁面回答輪詢的攔截代理會產生執行器無法解析的回應。每次另一個請求以其中一種方式失敗時,執行器會將下一次重試前的間隔加倍,最多 20 秒,並在租約即將過期時縮短間隔。
106 90
107<h3 id="runner-lifecycle">91### 執行器生命週期
108 執行器生命週期
109</h3>
110 92
111執行器認領的第一個工作階段將執行器鎖定到該工作階段的擁有者,執行器為該擁有者執行最多 `--capacity` 個並行工作階段。當執行器有活躍工作階段且未收到關閉信號或達到其退休時間時,執行器會繼續認領鎖定擁有者的佇列工作。一旦它們完成會發生什麼取決於 [`--drain-grace-sec`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags):93執行器認領的第一個工作階段將執行器鎖定到該工作階段的擁有者,執行器為該擁有者執行最多 `--capacity` 個並行工作階段。當執行器有活躍工作階段且未收到關閉信號或達到其退休時間時,執行器會繼續認領鎖定擁有者的佇列工作。一旦它們完成會發生什麼取決於 [`--drain-grace-sec`](/docs/zh-TW/self-hosted-environments-reference#runner-cli-flags):
112 94
125 107
126超過終止的輪次仍然會丟失;[關閉時序](/docs/zh-TW/self-hosted-environments-deploy#shutdown-timing)涵蓋了調整邊距的大小。沒有 `--retire-at`,無信號主機終止與崩潰無法區分:控制平面記錄丟失的工作者而不是乾淨的發佈,工作階段重新佇列到另一個執行器。108超過終止的輪次仍然會丟失;[關閉時序](/docs/zh-TW/self-hosted-environments-deploy#shutdown-timing)涵蓋了調整邊距的大小。沒有 `--retire-at`,無信號主機終止與崩潰無法區分:控制平面記錄丟失的工作者而不是乾淨的發佈,工作階段重新佇列到另一個執行器。
127 109
128<h3 id="network-paths">110### 網路路徑
129 網路路徑
130</h3>
131 111
132執行器及其工作階段進行多種出站連接,不需要來自 Anthropic 的入站連接:112執行器及其工作階段進行多種出站連接,不需要來自 Anthropic 的入站連接:
133 113
144 124
145如果您的代理還需要 `Proxy-Authorization` 標頭,執行器可以將其新增到它開啟到代理的每個連接;請參閱[向出站代理進行身份驗證](/docs/zh-TW/self-hosted-environments-deploy#authenticate-to-an-egress-proxy)。125如果您的代理還需要 `Proxy-Authorization` 標頭,執行器可以將其新增到它開啟到代理的每個連接;請參閱[向出站代理進行身份驗證](/docs/zh-TW/self-hosted-environments-deploy#authenticate-to-an-egress-proxy)。
146 126
147<h2 id="what-stays-on-your-infrastructure">127## 保留在您的基礎設施上的內容
148 保留在您的基礎設施上的內容
149</h2>
150 128
151儲存庫簽出、建置產物、祕密和工作階段建立或修改的任何檔案都保留在您佈建的機器上。對話本身,包括提示詞、回應和工具結果,會發送到 `api.anthropic.com`,Anthropic 會儲存工作階段逐字稿,以便您可以從另一個[支援的使用介面](#availability-and-limitations)恢復工作階段。當執行器[將模型請求發送到 Amazon Bedrock 或 Google Cloud 的 Agent Platform](/docs/zh-TW/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform) 時,對話仍會在工作階段的事件串流中發送到 `api.anthropic.com`。129儲存庫簽出、建置產物、祕密和工作階段建立或修改的任何檔案都保留在您佈建的機器上。對話本身,包括提示詞、回應和工具結果,會發送到 `api.anthropic.com`,Anthropic 會儲存工作階段逐字稿,以便您可以從另一個[支援的使用介面](#availability-and-limitations)恢復工作階段。當執行器[將模型請求發送到 Amazon Bedrock 或 Google Cloud 的 Agent Platform](/docs/zh-TW/self-hosted-environments-configuration#send-model-requests-to-bedrock-or-agent-platform) 時,對話仍會在工作階段的事件串流中發送到 `api.anthropic.com`。
152 130
153自託管環境將工作階段執行移到您的網路中。控制平面仍然是 Anthropic 託管的:工作階段協調、佇列和 claude.ai 介面繼續在 Anthropic 的基礎設施上執行。131自託管環境將工作階段執行移到您的網路中。控制平面仍然是 Anthropic 託管的:工作階段協調、佇列和 claude.ai 介面繼續在 Anthropic 的基礎設施上執行。
154 132
155<h2 id="get-started">133## 開始使用
156 開始使用
157</h2>
158 134
159自託管環境頁面按您正在做的事情組織:135自託管環境頁面按您正在做的事情組織:
160 136