4 4
5# 在网络上使用 Claude Code5# 在网络上使用 Claude Code
6 6
7> 配置云环境、设置脚本、网络访问和 Docker,在 Anthropic 的沙箱中运行。使用 `--cloud` 和 `--teleport` 在网络和终端之间移动会话。7> 使用 `--cloud` 和 `--teleport` 在网络和终端之间移动会话,管理和共享会话,以及从云端自动修复拉取请求。
8 8
9<Note>9<Note>
10 Claude Code on the web 处于研究预览阶段,适用于 Pro、Max 和 Team 用户,以及拥有高级席位或 Chat + Claude Code 席位的 Enterprise 用户。10 Claude Code on the web 处于研究预览阶段,适用于 Pro、Max 和 Team 用户,以及拥有高级席位或 Chat + Claude Code 席位的 Enterprise 用户。
11</Note>11</Note>
12 12
13Claude Code on the web 在 [claude.ai/code](https://claude.ai/code) 的 Anthropic 管理的云基础设施上运行任务。会话即使在关闭浏览器后也会持续,你可以从 Claude 移动应用监控它们。13Claude Code on the web 在 [claude.ai/code](https://claude.ai/code) 的 Anthropic 管理的云基础设施上运行任务,或在路由到你的组织的[自托管环境](/docs/zh-CN/self-hosted-environments)时在那里运行。会话即使在关闭浏览器后也会持续,你可以从 Claude 移动应用监控它们。
14 14
15<Tip>15<Tip>
16 初次使用 Claude Code on the web?从[入门](/docs/zh-CN/web-quickstart)开始,连接你的 GitHub 账户并提交你的第一个任务。16 初次使用 Claude Code on the web?从[入门](/docs/zh-CN/web-quickstart)开始,连接你的 GitHub 账户并提交你的第一个任务。
17</Tip>17</Tip>
18 18
19本页涵盖:19本页涵盖网络产品本身:
20 20
21* [云环境](#cloud-environments):会话运行的位置,以及在哪里配置
21* [GitHub 身份验证选项](#github-authentication-options):两种连接 GitHub 的方式22* [GitHub 身份验证选项](#github-authentication-options):两种连接 GitHub 的方式
22* [云环境](#the-cloud-environment):哪些配置会保留、安装了哪些工具以及如何配置环境
23* [设置脚本](#setup-scripts)和依赖管理
24* [网络访问](#network-access):级别、代理和默认允许列表
25* [在网络和终端之间移动任务](#move-tasks-between-web-and-terminal),使用 `--cloud` 和 `--teleport`23* [在网络和终端之间移动任务](#move-tasks-between-web-and-terminal),使用 `--cloud` 和 `--teleport`
26* [处理会话](#work-with-sessions):审查、共享、归档、删除24* [处理会话](#work-with-sessions):权限模式、审查、共享、归档、删除
27* [自动修复拉取请求](#auto-fix-pull-requests):自动响应 CI 失败和审查评论25* [自动修复拉取请求](#auto-fix-pull-requests):自动响应 CI 失败和审查评论
28* [安全和隔离](#security-and-isolation):会话如何隔离26* [安全和隔离](#security-and-isolation):会话如何隔离
29* [限制](#limitations):速率限制和平台限制27* [限制](#limitations):速率限制和平台限制
30 28
29<h2 id="cloud-environments">
30 云环境
31</h2>
32
33每个云会话都在一个[云环境](/docs/zh-CN/cloud-environments)中运行,这是一个保存的配置,控制网络访问、环境变量和设置脚本。如果你还没有环境,入门会设置一个**默认**环境,具有[**受信任**网络访问](/docs/zh-CN/cloud-environments#access-levels),要么为你创建它,要么要求你创建它。请参阅[默认环境](/docs/zh-CN/cloud-environments#the-default-environment),了解在你的计划上会发生哪种情况,以及当你有多个环境时会话如何选择环境。
34
35相同的环境适用于你启动云会话的任何地方:网络、终端、[Claude Tag](https://claude.com/docs/claude-tag/overview)、[routines](/docs/zh-CN/routines) 以及移动和 Desktop 应用。Claude Tag 频道会话仅使用组织级环境,要么是[共享环境](/docs/zh-CN/cloud-environments#organization-shared-environments),要么是[自托管环境](/docs/zh-CN/self-hosted-environments)。
36
37请参阅[配置云环境](/docs/zh-CN/cloud-environments)以更改环境允许的内容、设置变量或添加设置脚本,以及[已安装的工具](/docs/zh-CN/cloud-environments#installed-tools)以了解会话在没有任何配置的情况下包含的内容。
38
31<h2 id="github-authentication-options">39<h2 id="github-authentication-options">
32 GitHub 身份验证选项40 GitHub 身份验证选项
33</h2>41</h2>
43 使用任一方法,云会话都可以访问连接的 GitHub 账户可以看到的任何存储库,而不仅仅是安装了 Claude GitHub App 的存储库。App 安装启用 PR webhooks 用于[自动修复](#auto-fix-pull-requests);它不是会话级别的访问控制。要限制你的团队可以从云会话访问哪些存储库,请在 GitHub 本身上限制访问,例如通过限制连接的 GitHub 账户的团队或存储库成员资格。51 使用任一方法,云会话都可以访问连接的 GitHub 账户可以看到的任何存储库,而不仅仅是安装了 Claude GitHub App 的存储库。App 安装启用 PR webhooks 用于[自动修复](#auto-fix-pull-requests);它不是会话级别的访问控制。要限制你的团队可以从云会话访问哪些存储库,请在 GitHub 本身上限制访问,例如通过限制连接的 GitHub 账户的团队或存储库成员资格。
44</Note>52</Note>
45 53
46任一方法都可以。[`/schedule`](/docs/zh-CN/routines)检查任一形式的访问权限,如果都未配置,会提示你运行 `/web-setup`。有关 `/web-setup` 演练,请参阅[从终端连接](/docs/zh-CN/web-quickstart#connect-from-your-terminal)。54任一方法都可以。有关 `/schedule` 如何在创建 routine 之前检查访问权限,请参阅[存储库和分支权限](/docs/zh-CN/routines#repositories-and-branch-permissions)。有关 `/web-setup` 演练,请参阅[从终端连接](/docs/zh-CN/web-quickstart#connect-from-your-terminal)。
47 55
48GitHub App 是[自动修复](#auto-fix-pull-requests)所必需的,它使用该 App 接收 PR webhooks。如果你使用 `/web-setup` 连接,稍后想要自动修复,请在这些存储库上安装该 App。56快速网络设置是一个组织设置,允许成员使用 `/web-setup` 连接 GitHub,在浏览器入门期间跳过 Claude GitHub App 安装提示,并让浏览器入门为他们创建[**默认**环境](/docs/zh-CN/cloud-environments#the-default-environment),而不是显示环境表单。在 Team 和 Enterprise 计划上,默认情况下它是关闭的,这会隐藏 `/web-setup`。[所有者](/docs/zh-CN/server-managed-settings#access-control)可以在 [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code) 处使用**快速网络设置**切换来打开它。
49
50Team 和 Enterprise 管理员可以在 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) 处使用快速网络设置切换来禁用 `/web-setup`。
51 57
52<Note>58<Note>
53 启用了[零数据保留](/docs/zh-CN/zero-data-retention)的组织无法使用 `/web-setup` 或其他云会话功能。59 启用了[零数据保留](/docs/zh-CN/zero-data-retention)的组织无法使用 `/web-setup` 或其他云会话功能。
54</Note>60</Note>
55 61
56<h2 id="the-cloud-environment">
57 云环境
58</h2>
59
60每个会话在一个新的 Anthropic 管理的 VM 中运行,其中克隆了你的存储库。本节涵盖会话启动时可用的内容以及如何自定义它。
61
62<h3 id="what’s-available-in-cloud-sessions">
63 云会话中可用的内容
64</h3>
65
66云会话从你的存储库的新克隆开始。任何提交到存储库的内容都可用。任何你仅在自己的机器上安装或配置的内容都不可用;你的组织的策略通过[服务器管理的设置](/docs/zh-CN/server-managed-settings)单独到达。
67
68| | 在云会话中可用 | 原因 |
69| :----------------------------------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
70| 你的存储库的 `CLAUDE.md` | 是 | 克隆的一部分 |
71| 你的存储库的 `.claude/settings.json` hooks | 是 | 克隆的一部分 |
72| 你的存储库的 `.mcp.json` MCP 服务器 | 是 | 克隆的一部分 |
73| 你的存储库的 `.claude/rules/` | 是 | 克隆的一部分 |
74| 你的存储库的 `.claude/skills/`、`.claude/agents/`、`.claude/commands/` | 是 | 克隆的一部分 |
75| 在 `.claude/settings.json` 中声明的插件 | 是 | 在会话启动时从你声明的[市场](/docs/zh-CN/plugin-marketplaces)安装。需要网络访问才能到达市场源 |
76| 你的组织的[服务器管理的设置](/docs/zh-CN/server-managed-settings) | 是 | 在会话启动时从 Anthropic 的服务器获取。有关如何在云会话中强制执行 `availableModels` 的信息,请参阅[表面覆盖](/docs/zh-CN/model-config#surface-coverage)。通过 MDM 或托管设置文件部署到你的设备的设置不适用,因为会话在 Anthropic 管理的 VM 上运行 |
77| 你的用户 `~/.claude/CLAUDE.md` | 否 | 存在于你的机器上,不在存储库中 |
78| 你的用户 `~/.claude/skills/`、`~/.claude/agents/`、`~/.claude/commands/` | 否 | 存在于你的机器上,不在存储库中。改为将它们提交到存储库的 `.claude/` 目录。你在 claude.ai 上启用的技能会自动加载到云会话中 |
79| 仅在你的用户设置中启用的插件 | 否 | 用户范围的 `enabledPlugins` 存在于 `~/.claude/settings.json` 中。改为在存储库的 `.claude/settings.json` 中声明它们 |
80| 你使用 `claude mcp add` 添加的 MCP 服务器 | 否 | 这些写入你的本地用户配置,不是存储库。改为在[`.mcp.json`](/docs/zh-CN/mcp#project-scope)中声明服务器 |
81| 静态 API 令牌和凭证 | 否 | 尚不存在专用的秘密存储。见下文 |
82| 交互式身份验证,如 AWS SSO | 否 | 不支持。SSO 需要无法在云会话中运行的基于浏览器的登录 |
83
84要使你自己的配置在云会话中可用,请将其提交到存储库;组织策略通过[服务器管理的设置](/docs/zh-CN/server-managed-settings)单独到达。尚不存在专用的秘密存储。环境变量和设置脚本都存储在环境配置中,对任何可以编辑该环境的人可见。如果你需要云会话中的秘密,请将它们添加为环境变量,并考虑这种可见性。
85
86<h3 id="installed-tools">
87 已安装的工具
88</h3>
89
90云会话预装了常见的语言运行时、构建工具和数据库。下表按类别总结了包含的内容。
91
92| 类别 | 包含 |
93| :---------- | :-------------------------------------------------------------------- |
94| **Python** | Python 3.x,带有 pip、poetry、uv、black、mypy、pytest、ruff |
95| **Node.js** | 20、21 和 22(通过 nvm),带有 npm、yarn、pnpm、bun¹、eslint、prettier、chromedriver |
96| **Ruby** | 3.1、3.2、3.3,带有 gem、bundler、rbenv |
97| **PHP** | 8.4,带有 Composer |
98| **Java** | OpenJDK 21,带有 Maven 和 Gradle |
99| **Go** | 最新稳定版本,带有模块支持 |
100| **Rust** | rustc 和 cargo |
101| **C/C++** | GCC、Clang、cmake、ninja、conan |
102| **Docker** | docker、dockerd、docker compose |
103| **数据库** | PostgreSQL 16、Redis 7.0 |
104| **实用工具** | git、jq、yq、ripgrep、tmux、vim、nano |
105
106¹ Bun 已安装,但对于包获取有已知的[代理兼容性问题](#install-dependencies-with-a-sessionstart-hook)。
107
108要了解确切版本,请要求 Claude 在云会话中运行 `check-tools`。此命令仅存在于云会话中。
109
110<h3 id="work-with-github-issues-and-pull-requests">
111 处理 GitHub 问题和拉取请求
112</h3>
113
114云会话包括内置的 GitHub 工具,让 Claude 可以读取问题、列出拉取请求、获取 diffs 和发布评论,无需任何设置。这些工具通过[GitHub 代理](#github-proxy)进行身份验证,使用你在[GitHub 身份验证选项](#github-authentication-options)下配置的任何方法,所以你的令牌永远不会进入容器。
115
116你可以在[环境设置](#configure-your-environment)中自己设置 `GH_TOKEN` 或 `GITHUB_TOKEN`,或者两者都不设置,让[GitHub 代理](#github-proxy)为你进行身份验证:
117
118* 如果你设置了令牌,它会原样传递到容器中,所以 `gh` 和你的脚本直接使用它。
119* 如果你两者都不设置,容器会将两个变量都设置为占位符字符串 `proxy-injected`,代理会在出站 GitHub 请求上替换你的真实凭证。`gh` 无需你自己的令牌即可工作,但直接读取 `GITHUB_TOKEN` 的脚本会获得占位符,而不是可用的令牌。
120
121要检查哪种情况适用于你的会话,请要求 Claude 运行 `echo $GH_TOKEN`。
122
123`gh` CLI 未预装。如果你需要内置工具不涵盖的 `gh` 命令,如 `gh release` 或 `gh workflow run`,请自己安装和身份验证:
124
125<Steps>
126 <Step title="在设置脚本中安装 gh">
127 将 `apt update && apt install -y gh` 添加到你的[设置脚本](#setup-scripts)。
128 </Step>
129
130 <Step title="如果代理未处理身份验证,请提供令牌">
131 如果 `echo $GH_TOKEN` 打印 `proxy-injected`,[GitHub 代理](#github-proxy)会为你验证 `gh`,此步骤不必要。否则,将 `GH_TOKEN` 环境变量添加到你的[环境设置](#configure-your-environment),使用 GitHub 个人访问令牌。`gh` 会自动读取 `GH_TOKEN`,所以不需要 `gh auth login` 步骤。
132 </Step>
133</Steps>
134
135<h3 id="link-output-back-to-the-session">
136 将输出链接回会话
137</h3>
138
139每个云会话在 claude.ai 上都有一个成绩单 URL,会话可以从 `CLAUDE_CODE_REMOTE_SESSION_ID` 环境变量读取自己的 ID。使用这个在 PR 正文、提交消息、Slack 帖子或生成的报告中放置可追踪的链接,以便审查者可以打开生成它们的运行。
140
141从 v2.1.179 开始,Claude 在网络会话中创建的提交包括一个 `Claude-Session: <url>` git trailer,PR 正文包括会话 URL 在其自己的一行上。从 v2.1.182 开始,设置[`attribution.sessionUrl`](/docs/zh-CN/settings#attribution-settings)为 `false` 以省略 trailer 和 PR 正文链接。
142
143要在提交或 PR 以外的其他内容中包含会话链接,如 Claude 发布的 Slack 消息或它写入的报告文件,请让 Claude 运行以下命令并使用其输出。该命令将环境变量值中的 `cse_` 前缀转换为成绩单 URL 期望的 `session_` 前缀:
144
145```bash theme={null}
146echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"
147```
148
149<h3 id="run-tests-start-services-and-add-packages">
150 运行测试、启动服务和添加包
151</h3>
152
153Claude 作为处理任务的一部分运行测试。在你的提示中要求它,如"修复 `tests/` 中的失败测试"或"在每次更改后运行 pytest"。测试运行器如 pytest、jest 和 cargo test 开箱即用,因为它们已预装。
154
155PostgreSQL 和 Redis 已预装但默认不运行。在会话期间要求 Claude 启动每一个:
156
157```bash theme={null}
158service postgresql start
159```
160
161```bash theme={null}
162service redis-server start
163```
164
165Docker 可用于运行容器化服务。要求 Claude 运行 `docker compose up` 来启动你的项目的服务。拉取镜像的网络访问遵循你的环境的[访问级别](#access-levels),[受信任的默认值](#default-allowed-domains)包括 Docker Hub 和其他常见注册表。
166
167如果你的镜像很大或拉取速度很慢,请将 `docker compose pull` 或 `docker compose build` 添加到你的[设置脚本](#setup-scripts)。拉取的镜像保存在[缓存的环境](#environment-caching)中,所以每个新会话都在磁盘上有它们。缓存仅存储文件,不存储运行的进程,所以 Claude 仍然在每个会话中启动容器。
168
169要添加未预装的包,请使用[设置脚本](#setup-scripts)。脚本的输出被[缓存](#environment-caching),所以你在那里安装的包在每个会话开始时都可用,无需每次重新安装。你也可以要求 Claude 在会话期间安装包,但这些安装不会在会话之间持续。
170
171<h3 id="resource-limits">
172 资源限制
173</h3>
174
175云会话运行时具有可能随时间变化的近似资源上限:
176
177* 4 个 vCPU
178* 16 GB RAM
179* 30 GB 磁盘
180
181需要明显更多内存的任务,如大型构建作业或内存密集型测试,可能会失败或被终止。对于超出这些限制的工作负载,使用[远程控制](/docs/zh-CN/remote-control)在你自己的硬件上运行 Claude Code。
182
183<h3 id="configure-your-environment">
184 配置你的环境
185</h3>
186
187环境控制[网络访问](#network-access)、环境变量和在会话启动前运行的[设置脚本](#setup-scripts)。有关不需要任何配置即可使用的内容,请参阅[已安装的工具](#installed-tools)。你可以从网络界面或终端管理环境:
188
189| 操作 | 如何操作 |
190| :-------------- | :------------------------------------------------------------------------------ |
191| 添加环境 | 选择当前环境以打开选择器,然后选择**添加环境**。对话框包括名称、网络访问级别、环境变量和设置脚本。 |
192| 编辑环境 | 选择显示当前环境名称的云图标以打开选择器,悬停在环境上,然后单击右侧出现的设置图标。 |
193| 归档环境 | 打开环境进行编辑并选择**归档**。归档的环境从选择器中隐藏,但现有会话继续运行。 |
194| 为 CLI 云会话设置默认环境 | 在终端中运行 `/remote-env`。如果你有单个环境,此命令显示你的当前配置。`/remote-env` 仅选择默认值;从网络界面添加、编辑和归档环境。 |
195
196环境变量使用 `.env` 格式,每行一个 `KEY=value` 对。不要用引号包装值,因为引号会存储为值的一部分。此示例定义了三个变量:
197
198```text theme={null}
199NODE_ENV=development
200LOG_LEVEL=debug
201DATABASE_URL=postgres://localhost:5432/myapp
202```
203
204<h3 id="organization-shared-environments">
205 组织共享环境
206</h3>
207
208Team 和 Enterprise 计划上的所有者和管理员可以创建与组织的每个成员共享的云环境。共享环境在每个成员的环境选择器中与他们的个人环境一起出现,所以团队可以标准化一个配置,而不是每个成员重新创建它。
209
210从[管理设置](https://claude.ai/admin-settings)中的**云环境**页面管理共享环境。从那里你可以:
211
212* 创建、编辑和归档共享环境。每个环境都有与个人环境相同的字段:名称、[网络访问级别](#access-levels)、`.env` 格式的[环境变量](#configure-your-environment)和[设置脚本](#setup-scripts)。
213* 为组织设置默认环境。
214
215共享环境中的值到达该环境中每个成员的会话。与个人环境一样,共享环境没有专用的秘密存储,所以不要包含秘密。
216
217<h2 id="setup-scripts">
218 设置脚本
219</h2>
220
221设置脚本是一个 Bash 脚本,在新的云会话启动时运行,在 Claude Code 启动之前。使用设置脚本来安装依赖、配置工具或获取会话需要的任何未预装的内容。
222
223脚本在 Ubuntu 24.04 上以 root 身份运行,所以 `apt install` 和大多数语言包管理器都可以工作。
224
225要添加设置脚本,请打开环境设置对话框并在**设置脚本**字段中输入你的脚本。
226
227此示例安装 `gh` CLI,它未预装:
228
229```bash theme={null}
230#!/bin/bash
231apt update && apt install -y gh
232```
233
234如果脚本以非零值退出,会话将无法启动。将 `|| true` 附加到非关键命令以避免在不稳定的安装失败时阻止会话。
235
236保持脚本的总运行时间在大约五分钟以内,以便[环境缓存](#environment-caching)可以构建。使用 `&` 和 `wait` 并行运行独立的安装。如果单个下载不适合五分钟的限制,请将其移动到[SessionStart hook](#setup-scripts-vs-sessionstart-hooks),在后台启动它。
237
238<Note>
239 安装包的设置脚本需要网络访问才能到达注册表。默认**受信任**网络访问允许连接到[常见包注册表](#default-allowed-domains),包括 npm、PyPI、RubyGems 和 crates.io。如果你的环境使用**无**网络访问,脚本将无法安装包。
240</Note>
241
242<h3 id="environment-caching">
243 环境缓存
244</h3>
245
246设置脚本在你首次在环境中启动会话时运行。完成后,Anthropic 会对文件系统进行快照,并将该快照重用作为后续会话的起点。新会话以你的依赖、工具和 Docker 镜像已在磁盘上开始,设置脚本步骤被跳过。这即使在脚本安装大型工具链或拉取容器镜像时也能保持启动速度快。
247
248缓存捕获文件,不捕获运行的进程。设置脚本写入磁盘的任何内容都会保留。它启动的服务或容器不会,所以通过要求 Claude 或使用[SessionStart hook](#setup-scripts-vs-sessionstart-hooks)按会话启动这些。
249
250当你更改环境的设置脚本或允许的网络主机时,以及当缓存在大约七天后达到过期时间时,设置脚本会再次运行以重建缓存。恢复现有会话永远不会重新运行设置脚本。
251
252你不需要启用缓存或自己管理快照。
253
254<h3 id="setup-scripts-vs-sessionstart-hooks">
255 设置脚本与 SessionStart hooks
256</h3>
257
258使用设置脚本来安装云需要但你的笔记本电脑已有的东西,如语言运行时或 CLI 工具。使用[SessionStart hook](/docs/zh-CN/hooks#sessionstart)进行应该在任何地方运行的项目设置,云和本地,如 `npm install`。
259
260两者都在会话开始时运行,但它们属于不同的地方:
261
262| | 设置脚本 | SessionStart hooks |
263| --- | ------------------------- | -------------------------------- |
264| 附加到 | 云环境 | 你的存储库 |
265| 配置在 | 云环境 UI | 你的存储库中的 `.claude/settings.json` |
266| 运行 | 在 Claude Code 启动之前,仅在新会话上 | 在 Claude Code 启动之后,在每个会话上,包括已恢复的 |
267| 范围 | 仅云环境 | 本地和云 |
268
269SessionStart hooks 也可以在你的用户级 `~/.claude/settings.json` 中本地定义,但用户级设置不会传送到云会话。在云中,hooks 来自存储库和你的组织的[服务器管理设置](/docs/zh-CN/server-managed-settings)。
270
271<h3 id="install-dependencies-with-a-sessionstart-hook">
272 使用 SessionStart hook 安装依赖
273</h3>
274
275要仅在云会话中安装依赖,请将 SessionStart hook 添加到你的存储库的 `.claude/settings.json`:
276
277```json theme={null}
278{
279 "hooks": {
280 "SessionStart": [
281 {
282 "matcher": "startup|resume",
283 "hooks": [
284 {
285 "type": "command",
286 "command": "\"$CLAUDE_PROJECT_DIR\"/scripts/install_pkgs.sh"
287 }
288 ]
289 }
290 ]
291 }
292}
293```
294
295在 `scripts/install_pkgs.sh` 创建脚本并使用 `chmod +x` 使其可执行。`CLAUDE_CODE_REMOTE` 环境变量在云会话中设置为 `true`,所以你可以使用它来跳过本地执行:
296
297```bash theme={null}
298#!/bin/bash
299
300if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
301 exit 0
302fi
303
304npm install
305pip install -r requirements.txt
306exit 0
307```
308
309SessionStart hooks 在云会话中有一些限制:
310
311* **无云专用范围**:hooks 在本地和云会话中都运行。要跳过本地执行,请检查脚本中的 `CLAUDE_CODE_REMOTE` 环境变量,如上所示。
312* **需要网络访问**:安装命令需要到达包注册表。如果你的环境使用**无**网络访问,这些 hooks 会失败。**受信任**下的[默认允许列表](#default-allowed-domains)涵盖 npm、PyPI、RubyGems 和 crates.io。
313* **代理兼容性**:所有出站流量都通过[安全代理](#security-proxy)。某些包管理器不能与此代理正确配合使用。Bun 是一个已知的例子。
314* **增加启动延迟**:hooks 在每次会话启动或恢复时运行,不像设置脚本那样受益于[环境缓存](#environment-caching)。通过在重新安装之前检查依赖是否已存在来保持安装脚本快速。
315
316要为后续 Bash 命令持久化环境变量,请写入 `$CLAUDE_ENV_FILE` 处的文件。有关详情,请参阅[SessionStart hooks](/docs/zh-CN/hooks#sessionstart)。
317
318用你自己的 Docker 镜像替换基础镜像尚不支持。使用设置脚本在[提供的镜像](#installed-tools)之上安装你需要的内容,或使用 `docker compose` 与 Claude 并行运行你的镜像作为容器。
319
320<h2 id="network-access">
321 网络访问
322</h2>
323
324网络访问控制来自云环境的出站连接。每个环境指定一个访问级别,你可以使用自定义允许的域来扩展它。默认值是**受信任**,它允许包注册表和其他[允许列表域](#default-allowed-domains)。
325
326要更改环境的网络访问,[打开它进行编辑](#configure-your-environment)并在对话框中使用**网络访问**选择器。没有单独的环境页面。云图标出现在你启动云会话或配置[例程](/docs/zh-CN/routines#environments-and-network-access)的任何地方。
327
328<Note>
329 MCP 连接器流量通过 Anthropic 的服务器路由,所以你在会话或例程上启用的连接器无需将其主机添加到**允许的域**即可工作。连接器按会话或按例程配置;删除你不需要的任何连接器以限制 Claude 可以到达的工具。这依赖于[安全和隔离](#security-and-isolation)下提到的相同 Anthropic 绑定通道。
330</Note>
331
332<h3 id="access-levels">
333 访问级别
334</h3>
335
336在创建或编辑环境时选择访问级别:
337
338| 级别 | 出站连接 |
339| :------ | :--------------------------------------------------- |
340| **无** | 无出站网络访问 |
341| **受信任** | [允许列表域](#default-allowed-domains)仅:包注册表、GitHub、云 SDK |
342| **完全** | 任何域 |
343| **自定义** | 你自己的允许列表,可选地包括默认值 |
344
345GitHub 操作使用独立于此设置的[单独代理](#github-proxy)。
346
347<h3 id="allow-specific-domains">
348 允许特定域
349</h3>
350
351要允许不在受信任列表中的域,在环境的网络访问设置中选择**自定义**。出现**允许的域**字段。每行输入一个域:
352
353```text theme={null}
354api.example.com
355*.internal.example.com
356registry.example.com
357```
358
359使用 `*.` 进行通配符子域匹配。检查**也包括常见包管理器的默认列表**以在自定义条目旁边保留[受信任的域](#default-allowed-domains),或将其取消选中以仅允许你列出的内容。
360
361允许的域按环境配置。没有组织级别的允许列表,所有者可以推送给所有用户的环境;[服务器管理的设置](/docs/zh-CN/server-managed-settings)可以限制云会话,但无法添加允许的域。
362
363<h3 id="github-proxy">
364 GitHub 代理
365</h3>
366
367为了安全起见,所有 GitHub 操作都通过专用代理服务进行,该服务将你的真实 GitHub 凭证保留在沙箱外。代理验证两种类型的流量:
368
369* Git 交互:沙箱内的 git 客户端使用自定义构建的作用域凭证,代理验证并将其转换为你的实际 GitHub 身份验证令牌
370* GitHub API 请求:代理在来自内置 GitHub 工具的请求上替换你的真实凭证,以及来自 `gh` 的请求(当你的会话设置[使用 GitHub 问题和拉取请求](#work-with-github-issues-and-pull-requests)中描述的 `proxy-injected` 占位符时)
371
372代理还限制 git push 操作到当前工作分支以确保安全,并启用克隆、获取和 PR 操作,同时维护安全边界。
373
374代理限制 GitHub API 和发布资产请求到附加到会话的存储库,无论环境的[访问级别](#access-levels)如何。从未附加的存储库下载发布资产的设置脚本返回 403。来自公共存储库的已提交文件通过 `raw.githubusercontent.com` 获取,[安全代理](#security-proxy)处理该域。该域在默认[受信任列表](#default-allowed-domains)中,所以文件保持可访问,除非环境的[访问级别](#access-levels)排除它。
375
376<h3 id="security-proxy">
377 安全代理
378</h3>
379
380环境在 HTTP/HTTPS 网络代理后面运行,用于安全和滥用防止目的。所有出站互联网流量都通过此代理,该代理提供:
381
382* 防止恶意请求
383* 速率限制和滥用防止
384* 增强安全性的内容过滤
385* 请求的主机名的 DNS 级审计跟踪
386
387<h3 id="default-allowed-domains">
388 默认允许的域
389</h3>
390
391使用**受信任**网络访问时,默认允许以下域。标记为 `*` 的域表示通配符子域匹配,所以 `*.gcr.io` 允许 `gcr.io` 的任何子域。
392
393<AccordionGroup>
394 <Accordion title="Anthropic 服务">
395 * api.anthropic.com
396 * statsig.anthropic.com
397 * docs.claude.com
398 * platform.claude.com
399 * code.claude.com
400 * claude.ai
401 </Accordion>
402
403 <Accordion title="版本控制">
404 * github.com
405 * [www.github.com](http://www.github.com)
406 * api.github.com
407 * npm.pkg.github.com
408 * raw\.githubusercontent.com
409 * pkg-npm.githubusercontent.com
410 * objects.githubusercontent.com
411 * release-assets.githubusercontent.com
412 * codeload.github.com
413 * avatars.githubusercontent.com
414 * camo.githubusercontent.com
415 * gist.github.com
416 * gitlab.com
417 * [www.gitlab.com](http://www.gitlab.com)
418 * registry.gitlab.com
419 * bitbucket.org
420 * [www.bitbucket.org](http://www.bitbucket.org)
421 * api.bitbucket.org
422 </Accordion>
423
424 <Accordion title="容器注册表">
425 * registry-1.docker.io
426 * auth.docker.io
427 * index.docker.io
428 * hub.docker.com
429 * [www.docker.com](http://www.docker.com)
430 * production.cloudflare.docker.com
431 * download.docker.com
432 * gcr.io
433 * \*.gcr.io
434 * ghcr.io
435 * mcr.microsoft.com
436 * \*.data.mcr.microsoft.com
437 * public.ecr.aws
438 </Accordion>
439
440 <Accordion title="云平台">
441 * cloud.google.com
442 * accounts.google.com
443 * gcloud.google.com
444 * \*.googleapis.com
445 * storage.googleapis.com
446 * compute.googleapis.com
447 * container.googleapis.com
448 * azure.com
449 * portal.azure.com
450 * microsoft.com
451 * [www.microsoft.com](http://www.microsoft.com)
452 * \*.microsoftonline.com
453 * packages.microsoft.com
454 * dotnet.microsoft.com
455 * dot.net
456 * visualstudio.com
457 * dev.azure.com
458 * \*.amazonaws.com
459 * \*.api.aws
460 * oracle.com
461 * [www.oracle.com](http://www.oracle.com)
462 * java.com
463 * [www.java.com](http://www.java.com)
464 * java.net
465 * [www.java.net](http://www.java.net)
466 * download.oracle.com
467 * yum.oracle.com
468 </Accordion>
469
470 <Accordion title="JavaScript 和 Node 包管理器">
471 * registry.npmjs.org
472 * [www.npmjs.com](http://www.npmjs.com)
473 * [www.npmjs.org](http://www.npmjs.org)
474 * npmjs.com
475 * npmjs.org
476 * yarnpkg.com
477 * registry.yarnpkg.com
478 </Accordion>
479
480 <Accordion title="Python 包管理器">
481 * pypi.org
482 * [www.pypi.org](http://www.pypi.org)
483 * files.pythonhosted.org
484 * pythonhosted.org
485 * test.pypi.org
486 * pypi.python.org
487 * pypa.io
488 * [www.pypa.io](http://www.pypa.io)
489 </Accordion>
490
491 <Accordion title="Ruby 包管理器">
492 * rubygems.org
493 * [www.rubygems.org](http://www.rubygems.org)
494 * api.rubygems.org
495 * index.rubygems.org
496 * ruby-lang.org
497 * [www.ruby-lang.org](http://www.ruby-lang.org)
498 * rubyforge.org
499 * [www.rubyforge.org](http://www.rubyforge.org)
500 * rubyonrails.org
501 * [www.rubyonrails.org](http://www.rubyonrails.org)
502 * rvm.io
503 * get.rvm.io
504 </Accordion>
505
506 <Accordion title="Rust 包管理器">
507 * crates.io
508 * [www.crates.io](http://www.crates.io)
509 * index.crates.io
510 * static.crates.io
511 * rustup.rs
512 * static.rust-lang.org
513 * [www.rust-lang.org](http://www.rust-lang.org)
514 </Accordion>
515
516 <Accordion title="Go 包管理器">
517 * proxy.golang.org
518 * sum.golang.org
519 * index.golang.org
520 * golang.org
521 * [www.golang.org](http://www.golang.org)
522 * goproxy.io
523 * pkg.go.dev
524 </Accordion>
525
526 <Accordion title="JVM 包管理器">
527 * maven.org
528 * repo.maven.org
529 * central.maven.org
530 * repo1.maven.org
531 * repo.maven.apache.org
532 * jcenter.bintray.com
533 * gradle.org
534 * [www.gradle.org](http://www.gradle.org)
535 * services.gradle.org
536 * plugins.gradle.org
537 * kotlinlang.org
538 * [www.kotlinlang.org](http://www.kotlinlang.org)
539 * spring.io
540 * repo.spring.io
541 </Accordion>
542
543 <Accordion title="其他包管理器">
544 * packagist.org (PHP Composer)
545 * [www.packagist.org](http://www.packagist.org)
546 * repo.packagist.org
547 * nuget.org (.NET NuGet)
548 * [www.nuget.org](http://www.nuget.org)
549 * api.nuget.org
550 * pub.dev (Dart/Flutter)
551 * api.pub.dev
552 * hex.pm (Elixir/Erlang)
553 * [www.hex.pm](http://www.hex.pm)
554 * cpan.org (Perl CPAN)
555 * [www.cpan.org](http://www.cpan.org)
556 * metacpan.org
557 * [www.metacpan.org](http://www.metacpan.org)
558 * api.metacpan.org
559 * cocoapods.org (iOS/macOS)
560 * [www.cocoapods.org](http://www.cocoapods.org)
561 * cdn.cocoapods.org
562 * haskell.org
563 * [www.haskell.org](http://www.haskell.org)
564 * hackage.haskell.org
565 * swift.org
566 * [www.swift.org](http://www.swift.org)
567 </Accordion>
568
569 <Accordion title="Linux 发行版">
570 * archive.ubuntu.com
571 * security.ubuntu.com
572 * ubuntu.com
573 * [www.ubuntu.com](http://www.ubuntu.com)
574 * \*.ubuntu.com
575 * ppa.launchpad.net
576 * launchpad.net
577 * [www.launchpad.net](http://www.launchpad.net)
578 * \*.nixos.org
579 </Accordion>
580
581 <Accordion title="开发工具和平台">
582 * dl.k8s.io (Kubernetes)
583 * pkgs.k8s.io
584 * k8s.io
585 * [www.k8s.io](http://www.k8s.io)
586 * releases.hashicorp.com (HashiCorp)
587 * apt.releases.hashicorp.com
588 * rpm.releases.hashicorp.com
589 * archive.releases.hashicorp.com
590 * hashicorp.com
591 * [www.hashicorp.com](http://www.hashicorp.com)
592 * repo.anaconda.com (Anaconda/Conda)
593 * conda.anaconda.org
594 * anaconda.org
595 * [www.anaconda.com](http://www.anaconda.com)
596 * anaconda.com
597 * continuum.io
598 * apache.org (Apache)
599 * [www.apache.org](http://www.apache.org)
600 * archive.apache.org
601 * downloads.apache.org
602 * eclipse.org (Eclipse)
603 * [www.eclipse.org](http://www.eclipse.org)
604 * download.eclipse.org
605 * nodejs.org (Node.js)
606 * [www.nodejs.org](http://www.nodejs.org)
607 * developer.apple.com
608 * developer.android.com
609 * pkg.stainless.com
610 * binaries.prisma.sh
611 </Accordion>
612
613 <Accordion title="云服务和监控">
614 * statsig.com
615 * [www.statsig.com](http://www.statsig.com)
616 * api.statsig.com
617 * sentry.io
618 * \*.sentry.io
619 * downloads.sentry-cdn.com
620 * http-intake.logs.datadoghq.com
621 * browser-intake-us5-datadoghq.com
622 * \*.datadoghq.com
623 * \*.datadoghq.eu
624 * api.honeycomb.io
625 </Accordion>
626
627 <Accordion title="内容交付和镜像">
628 * sourceforge.net
629 * \*.sourceforge.net
630 * packagecloud.io
631 * \*.packagecloud.io
632 * fonts.googleapis.com
633 * fonts.gstatic.com
634 </Accordion>
635
636 <Accordion title="架构和配置">
637 * json-schema.org
638 * [www.json-schema.org](http://www.json-schema.org)
639 * json.schemastore.org
640 * [www.schemastore.org](http://www.schemastore.org)
641 </Accordion>
642
643 <Accordion title="Model Context Protocol">
644 * \*.modelcontextprotocol.io
645 </Accordion>
646</AccordionGroup>
647
648<h2 id="move-tasks-between-web-and-terminal">62<h2 id="move-tasks-between-web-and-terminal">
649 在网络和终端之间移动任务63 在网络和终端之间移动任务
650</h2>64</h2>
652这些工作流需要[Claude Code CLI](/docs/zh-CN/quickstart)登录到相同的 claude.ai 账户。你可以从终端启动新的云会话,或将云会话拉入终端以在本地继续。云会话即使在关闭笔记本电脑后也会持续,你可以从任何地方(包括 Claude 移动应用)监控它们。66这些工作流需要[Claude Code CLI](/docs/zh-CN/quickstart)登录到相同的 claude.ai 账户。你可以从终端启动新的云会话,或将云会话拉入终端以在本地继续。云会话即使在关闭笔记本电脑后也会持续,你可以从任何地方(包括 Claude 移动应用)监控它们。
653 67
654<Note>68<Note>
655 从 CLI,会话切换是单向的:你可以使用 `--teleport` 将云会话拉入终端,但不能将现有的终端会话推送到网络。`--cloud` 标志为你的当前存储库创建一个新的云会话。[Desktop 应用](/docs/zh-CN/desktop#continue-in-another-surface)提供了一个"在...中继续"菜单,可以将本地会话发送到网络。69 从 CLI,会话切换是单向的:你可以使用 `--teleport` 将云会话拉入终端,但不能将现有的终端会话推送到网络。带有任务描述的 `--cloud` 标志为你的当前存储库创建一个新的云会话;带有 `-p` 和会话 ID 或 claude.ai/code URL 时,它改为[将消息排队到该现有会话](/docs/zh-CN/claude-code-on-the-web#send-follow-ups-from-the-cli)。[Desktop 应用](/docs/zh-CN/desktop#continue-in-another-surface)提供了一个"在...中继续"菜单,可以将本地会话发送到网络。
656</Note>70</Note>
657 71
658<h3 id="from-terminal-to-web">72<h3 id="from-terminal-to-web">
665claude --cloud "Fix the authentication bug in src/auth/login.ts"79claude --cloud "Fix the authentication bug in src/auth/login.ts"
666```80```
667 81
668这在 claude.ai 上创建一个新的云会话。会话克隆你当前目录的 GitHub 远程,位于你的当前分支,所以如果你有本地提交,请先推送,因为 VM 从 GitHub 而不是你的机器克隆。`--cloud` 一次只能处理单个存储库。任务在云中运行,而你继续在本地工作。较旧的 `--remote` 拼写仍然作为 `--cloud` 的已弃用别名工作。82这在 claude.ai 上创建一个新的云会话。云 VM 在你的当前分支处克隆你当前目录的 GitHub 远程,而不是你的本地检出,所以如果你有本地提交,请先推送。`--cloud` 一次只能处理单个存储库。任务在云中运行,而你继续在本地工作。较旧的 `--remote` 拼写仍然作为 `--cloud` 的已弃用别名工作。
669 83
670从 v2.1.195 开始,CLI 显示设置步骤的实时清单,例如克隆存储库和运行你的[设置脚本](#setup-scripts),同时云容器启动。你在容器配置期间输入的消息会被排队,并在会话准备好后发送。84当云容器启动时,CLI 显示设置步骤的实时清单,例如克隆存储库和运行你的[设置脚本](/docs/zh-CN/cloud-environments#setup-scripts)。它排队你在配置期间输入的消息,并在会话准备好后发送它们。
671 85
672<Note>86<Note>
673 `--cloud` 创建云会话。`--remote-control` 无关:它公开本地 CLI 会话以从网络进行监控。请参阅[Remote Control](/docs/zh-CN/remote-control)。87 `--cloud` 创建云会话。`--remote-control` 无关:它公开本地 CLI 会话以从网络进行监控。请参阅[Remote Control](/docs/zh-CN/remote-control)。
675 89
676在 Claude Code CLI 中使用 `/tasks` 检查进度,或在 claude.ai 或 Claude 移动应用上打开会话以直接交互。从那里你可以引导 Claude、提供反馈或回答问题,就像任何其他对话一样。90在 Claude Code CLI 中使用 `/tasks` 检查进度,或在 claude.ai 或 Claude 移动应用上打开会话以直接交互。从那里你可以引导 Claude、提供反馈或回答问题,就像任何其他对话一样。
677 91
92如果 Claude 提出问题且会话处于空闲状态,你仍然可以在返回时回答,直到[环境过期](#environment-expired),会话从你的答案继续。
93
678<h4 id="tips-for-cloud-tasks">94<h4 id="tips-for-cloud-tasks">
679 云任务的提示95 云任务的提示
680</h4>96</h4>
681 97
682**在本地规划,远程执行**:对于复杂的任务,在 Plan Mode 中启动 Claude 以协作制定方法,然后将工作发送到云:98**在本地规划,远程执行**:对于复杂的任务,在 plan mode 中启动 Claude 以协作制定方法,然后将工作发送到云:
683 99
684```bash theme={null}100```bash theme={null}
685claude --permission-mode plan101claude --permission-mode plan
686```102```
687 103
688在 Plan Mode 中,Claude 读取文件、运行命令来探索并提出计划,而不编辑源代码。一旦你满意,将计划保存到存储库、提交和推送,以便云 VM 可以克隆它。然后为自主执行启动云会话:104在 plan mode 中,Claude 读取文件、运行命令来探索并提出计划,而不编辑源代码。一旦你满意,将计划保存到存储库、提交和推送,以便云 VM 可以克隆它。然后为自主执行启动云会话:
689 105
690```bash theme={null}106```bash theme={null}
691claude --cloud "Execute the migration plan in docs/migration-plan.md"107claude --cloud "Execute the migration plan in docs/migration-plan.md"
692```108```
693 109
694这种模式让你可以控制策略,同时让 Claude 在云中自主执行。
695
696**在云中使用 ultraplan 规划**:要在网络会话中起草和审查计划本身,请使用[ultraplan](/docs/zh-CN/ultraplan)。Claude 在 Claude Code on the web 上生成计划,而你继续工作,然后你在浏览器中对部分进行评论,并选择远程执行或将计划发送回终端。
697
698**并行运行任务**:每个 `--cloud` 命令创建自己的云会话,独立运行。你可以启动多个任务,它们都将在单独的会话中同时运行:110**并行运行任务**:每个 `--cloud` 命令创建自己的云会话,独立运行。你可以启动多个任务,它们都将在单独的会话中同时运行:
699 111
700```bash theme={null}112```bash theme={null}
703claude --cloud "Refactor the logger to use structured output"115claude --cloud "Refactor the logger to use structured output"
704```116```
705 117
706使用 Claude Code CLI 中的 `/tasks` 监控所有会话。当会话完成时,你可以从网络界面创建 PR 或[传送](#from-web-to-terminal)会话到终端以继续工作。118使用 Claude Code CLI 中的 `/tasks` 监控所有会话。当会话完成时,你可以从网络界面创建 PR 或[teleport](#from-web-to-terminal) 会话到终端以继续工作。
707 119
708<h4 id="send-local-repositories-without-github">120<h4 id="send-local-repositories-without-github">
709 发送没有 GitHub 的本地存储库121 发送没有 GitHub 的本地存储库
711 123
712当你从未连接到 GitHub 的存储库运行 `claude --cloud` 时,Claude Code 会捆绑你的本地存储库并直接上传到云会话。捆绑包包括你的完整存储库历史,跨所有分支,加上对跟踪文件的任何未提交更改。124当你从未连接到 GitHub 的存储库运行 `claude --cloud` 时,Claude Code 会捆绑你的本地存储库并直接上传到云会话。捆绑包包括你的完整存储库历史,跨所有分支,加上对跟踪文件的任何未提交更改。
713 125
126在 macOS、Linux 和 WSL 上,Claude Code 会将名称类似于凭证或密钥的文件的未提交更改排除在上传之外,并列出它排除的文件的名称。这涵盖 `.env` 文件、Terraform `*.tfvars` 文件和密钥文件,如 `id_rsa` 和 `*.pem`。会话以每个的已提交版本开始,或如果没有提交则没有文件。在链接的 worktree、submodule 或类似布局中,Claude Code 将这些更改与其余部分一起上传,并列出它上传的文件的名称。
127
714当 GitHub 访问不可用时,此回退会自动激活。要即使在 GitHub 已连接时也强制它,请设置 `CCR_FORCE_BUNDLE=1`:128当 GitHub 访问不可用时,此回退会自动激活。要即使在 GitHub 已连接时也强制它,请设置 `CCR_FORCE_BUNDLE=1`:
715 129
716```bash theme={null}130```bash theme={null}
724* 未跟踪的文件不包括;在你想要云会话看到的文件上运行 `git add`138* 未跟踪的文件不包括;在你想要云会话看到的文件上运行 `git add`
725* 从捆绑创建的会话无法推送回远程,除非你也配置了[GitHub 身份验证](#github-authentication-options)139* 从捆绑创建的会话无法推送回远程,除非你也配置了[GitHub 身份验证](#github-authentication-options)
726 140
141<h3 id="send-follow-ups-from-the-cli">
142 从 CLI 发送后续消息
143</h3>
144
145一旦云会话运行,无论它在哪里执行,从任何你使用 `claude auth login` 登录的机器上的 `claude` CLI 向它发送后续消息。CLI 使用你的 Anthropic 账户凭证进行身份验证,不发送本地会话状态,所以命令不需要从启动会话的机器运行,在每个 shell 中都是相同的,包括 PowerShell。
146
147该命令发布一条消息并退出:
148
149```bash theme={null}
150claude -p "your message" --cloud <session-id>
151```
152
153CLI 将消息排队到会话中并退出,不等待回复。使用它来引导长时间运行的会话、在当前步骤仍在完成时排队下一步,或从[CI 脚本](/docs/zh-CN/self-hosted-environments-testing#run-the-test-loop)发送后续消息。你也可以在 stdin 上管道消息,而不是作为参数传递:`echo "your message" | claude -p --cloud <session-id>`。
154
155对于 `<session-id>`,传递裸 ID,如 `session_...` 或 `cse_...`,或会话的 `claude.ai/code/<id>` URL,带或不带方案或查询字符串。在 claude.ai/code 的会话列表中找到 ID。
156
157<Note>
158 `--cloud` 需要 Anthropic 账户。当 Claude Code 配置为 Amazon Bedrock、Google Cloud 的 Agent Platform 或其他第三方提供商时,它不可用。仅通过 `ANTHROPIC_BASE_URL` 配置的[LLM gateway](/docs/zh-CN/llm-gateway)不算作第三方提供商进行此检查,但你仍然需要使用 `claude auth login` 登录。你的组织的 `allow_remote_sessions` 策略也必须启用。所有者可以在 claude.ai/admin-settings/claude-code 处的 Claude Code 管理设置中打开它。
159</Note>
160
161<h4 id="output-and-errors">
162 输出和错误
163</h4>
164
165成功时,命令打印会话 ID 和查看会话的链接:
166
167```
168Sent to cloud session.
169Session ID: session_01DiUkqY2kzbUbDmW1w96rfi
170View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0
171```
172
173传递 `--output-format json` 以获得机器可读的结果:成功时为 `{ok, session_id, url}`,或发送失败时为 `{ok: false, session_id, error}`,例如当会话丢失或已归档时。配置错误,如不支持的提供商或禁用的组织策略,打印到 stderr 而不是 JSON。`--output-format stream-json` 不支持 `--cloud <session-id>`。
174
175CLI 使用 `Error: ` 前缀错误。失败的交付被包装为 `failed to send message to cloud session <id>: <reason>`。
176
177| 消息 | 含义 |
178| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
179| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code 配置为第三方提供商。消息使用你的配置使用的标签命名提供商,如 `Amazon Bedrock` 或 `Google Vertex AI`。删除该提供商的配置,例如通过取消设置 `CLAUDE_CODE_USE_BEDROCK`,并使用 Anthropic 账户登录(`claude auth login`)。 |
180| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 组织策略已关闭。 |
181| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code 无法获取你的组织的策略,所以它拒绝发送而不是假设云会话被允许。检查你的网络连接并重试。 |
182| `Attaching to an existing cloud session is not enabled for your account.` | 你运行了 `--cloud <session-id>` 而没有 `-p`。使用 `claude -p "your message" --cloud <session-id>` 发送消息。 |
183| `Session not found: <id>` | ID 或 URL 与你可以访问的会话不匹配。根据会话的 claude.ai/code URL 检查它。 |
184| `cloud session <id> is archived and cannot accept new messages` | 会话已被归档。改为启动新会话。 |
185
727<h3 id="from-web-to-terminal">186<h3 id="from-web-to-terminal">
728 从网络到终端187 从网络到终端
729</h3>188</h3>
732 191
733* **使用 `--teleport`**:从命令行,运行 `claude --teleport` 以获得交互式会话选择器,或 `claude --teleport <session-id>` 以直接恢复特定会话。如果你有未提交的更改,系统会提示你先隐藏它们。192* **使用 `--teleport`**:从命令行,运行 `claude --teleport` 以获得交互式会话选择器,或 `claude --teleport <session-id>` 以直接恢复特定会话。如果你有未提交的更改,系统会提示你先隐藏它们。
734* **使用 `/teleport`**:在现有 CLI 会话内,运行 `/teleport` 或 `/tp` 以打开相同的会话选择器,无需重启 Claude Code。193* **使用 `/teleport`**:在现有 CLI 会话内,运行 `/teleport` 或 `/tp` 以打开相同的会话选择器,无需重启 Claude Code。
735* **从 `/tasks`**:运行 `/tasks` 以查看你的后台会话,然后按 `t` 传送到其中一个。194* **从 `/tasks`**:运行 `/tasks` 以查看你的后台会话,然后按 `t` teleport 到其中一个。
736* **从网络界面**:选择**在 CLI 中打开**以复制可以粘贴到终端中的命令。195* **从网络界面**:从会话菜单中选择**在终端中打开**以复制可以粘贴到终端中的命令。
196* **从云会话内部**:输入 `/teleport`,Claude Code 会回复确切的 `claude --teleport <session-id>` 命令用于该会话,准备从存储库的检出运行。需要会话环境中的 Claude Code v2.1.223 或更高版本。
737 197
738当你传送一个会话时,Claude 验证你在正确的存储库中,从云会话获取并检出分支,并将完整的对话历史加载到终端中。198当你 teleport 一个会话时,Claude 验证你在正确的存储库中,从云会话获取并检出分支,并将完整的对话历史加载到终端中。终端获得会话的自己的副本:那里的新工作保持本地,不会出现在 claude.ai 上的云会话或 Claude 移动应用中。要在 teleport 后继续从你的手机引导,在本地会话中启动[`/remote-control`](/docs/zh-CN/remote-control)。
739 199
740`--teleport` 不同于 `--resume`。`--resume` 从此机器的本地历史重新打开对话,不列出云会话;`--teleport` 拉取云会话及其分支。200`--teleport` 不同于 `--resume`。`--resume` 从此机器的本地历史重新打开对话,不列出云会话;`--teleport` 拉取云会话及其分支。
741 201
742<h4 id="teleport-requirements">202<h4 id="teleport-requirements">
743 传送要求203 Teleport 要求
744</h4>204</h4>
745 205
746传送在恢复会话之前检查这些要求。如果任何要求未满足,你会看到错误或被提示解决问题。206Teleport 在恢复会话之前检查这些要求。如果任何要求未满足,你会看到错误或被提示解决问题。
747 207
748| 要求 | 详情 |208| 要求 | 详情 |
749| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |209| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
750| 干净的 git 状态 | 你的工作目录必须没有未提交的更改。如果需要,传送会提示你隐藏更改。 |210| 干净的 git 状态 | 你的工作目录必须没有未提交的更改。Teleport 会在需要时提示你隐藏更改。 |
751| 正确的存储库 | 你必须从同一存储库的检出运行 `--teleport`,而不是从分叉运行。从 v2.1.199 开始,Claude Code 接受检出,即使它无法将远程解析为主机名,例如 SSH 主机别名(如 `git@work:owner/repo.git`)或 `insteadOf` 重写的短形式。它首先显示确认提示,仅当远程的所有者和存储库名称与会话的存储库匹配时。 |211| 正确的存储库 | 你必须从同一存储库的检出运行 `--teleport`,而不是从分叉运行。如果你从不同存储库的检出运行它,Claude Code 会显示一个错误,命名会话的存储库和你的检出的。如果 Claude Code 无法将你的远程解析为主机名,例如 SSH 主机别名如 `git@work:owner/repo.git`,它会要求你确认,并在远程的所有者和存储库名称与会话的存储库匹配时接受检出。 |
752| 分支可用 | 云会话中的分支必须已被推送到远程。传送会自动获取并检出它。 |212| 分支可用 | 云会话中的分支必须已被推送到远程。Teleport 会自动获取并检出它。 |
753| 相同账户 | 你必须认证到云会话中使用的相同 claude.ai 账户。 |213| 相同账户 | 你必须认证到云会话中使用的相同 claude.ai 账户。 |
754 214
755<h4 id="teleport-is-unavailable">215<h4 id="teleport-is-unavailable">
756 `--teleport` 不可用216 `--teleport` 不可用
757</h4>217</h4>
758 218
759传送需要 claude.ai 订阅身份验证。如果你通过 API 密钥、Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 进行身份验证,请运行 `/login` 以改为使用你的 claude.ai 账户登录。如果你已通过 claude.ai 登录,`--teleport` 仍不可用,你的组织可能已禁用云会话。219Teleport 需要 claude.ai 订阅身份验证。如果你通过 API 密钥进行身份验证,运行 `/login` 以改为使用你的 claude.ai 账户登录。如果错误命名你的提供商,云会话不通过第三方提供商可用;请参阅[错误表](#output-and-errors)。如果你已通过 claude.ai 登录且 `--teleport` 仍不可用,你的组织可能已禁用云会话。
760 220
761<h2 id="work-with-sessions">221<h2 id="work-with-sessions">
762 处理会话222 处理会话
768 管理上下文228 管理上下文
769</h3>229</h3>
770 230
771云会话支持产生文本输出的[内置命令](/docs/zh-CN/commands)。仅在终端界面中运行的命令,如 `/plugin` 或 `/resume`,不可用。在云会话中,打开选择器或面板的命令表现不同:231云会话支持产生文本输出的[内置命令](/docs/zh-CN/commands)。仅在终端界面中运行的命令,如 `/plugin` 或 `/resume`,不可用。在云会话中打开选择器或面板的命令表现不同:
772 232
773* **`/model`、`/effort`、`/fast`、`/color` 和 `/rename`**:将值作为参数传递,例如 `/model sonnet`,而不是打开终端选择器或滑块。参数形式需要会话环境中的 Claude Code v2.1.205 或更高版本,并遵循每个命令的[可用性说明](/docs/zh-CN/commands#all-commands):当模型的[启动默认工作量保持](/docs/zh-CN/model-config#adjust-effort-level)生效时,`/effort` 报告 `Not applied`,而 `/fast` 仅在以快速模式启动的会话中工作。233* **`/model`、`/effort`、`/fast`、`/color` 和 `/rename`**:将值作为参数传递,例如 `/model sonnet`,而不是打开终端选择器或滑块。参数形式需要会话环境中的 Claude Code v2.1.205 或更高版本,并遵循每个命令的[可用性说明](/docs/zh-CN/commands#all-commands):当模型的[启动默认工作量保持](/docs/zh-CN/model-config#adjust-effort-level)生效时,`/effort` 报告 `Not applied`,而 `/fast` 仅在以快速模式启动的会话中工作。
774* **`/config`**:在网络上,打开你的设置的 Claude Code 部分,而不是设置值,命令后的文本(包括 `key=value`)被忽略。要更改云会话的设置,请使用[环境变量](#configure-your-environment)或将[设置文件](/docs/zh-CN/settings)提交到存储库。234* **`/config`**:在网络上,打开你的设置的 Claude Code 部分,而不是设置值,命令后的文本(包括 `key=value`)被忽略。要更改云会话的设置,请使用[环境变量](/docs/zh-CN/cloud-environments#set-environment-variables)或将[设置文件](/docs/zh-CN/settings)提交到存储库。
775 235
776对于上下文管理特别是:236对于上下文管理特别是:
777 237
781| `/context` | 是 | 显示当前在上下文窗口中的内容 |241| `/context` | 是 | 显示当前在上下文窗口中的内容 |
782| `/clear` | 否 | 从侧边栏启动新会话 |242| `/clear` | 否 | 从侧边栏启动新会话 |
783 243
784自动压缩在上下文窗口接近容量时自动运行。要更早触发它,在你的[环境变量](#configure-your-environment)中设置 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-CN/env-vars)。例如,`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` 在 70% 容量而不是等待窗口几乎满时压缩。要更改压缩计算的有效窗口大小,请使用 [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/zh-CN/env-vars)。244自动压缩在上下文窗口接近容量时自动运行。Claude Code on the web 在云会话中自己设置 [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/zh-CN/env-vars),所以压缩在[自动压缩窗口](/docs/zh-CN/model-config#set-the-auto-compact-window)的中途触发,而不是当窗口填满时。该值覆盖你在[环境变量](/docs/zh-CN/cloud-environments#set-environment-variables)中添加的值,所以在那里添加变量不会改变压缩何时触发。
785 245
786[Subagents](/docs/zh-CN/sub-agents)的工作方式与本地相同。Claude 可以使用 Task 工具生成它们,以将研究或并行工作卸载到单独的上下文窗口中,保持主对话更轻。在你的存储库的 `.claude/agents/` 中定义的 Subagents 会自动被拾取。246要改为更改自动压缩窗口,请在你的环境变量中设置 [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/zh-CN/env-vars),或在变量未设置的会话中运行带有令牌计数的 [`/autocompact`](/docs/zh-CN/commands#all-commands)。
787 247
788[Agent teams](/docs/zh-CN/agent-teams)默认关闭,但可以通过将 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 添加到你的[环境变量](#configure-your-environment)来启用。248[Subagents](/docs/zh-CN/sub-agents) 的工作方式与本地相同。Claude 可以使用 Agent 工具生成它们,以将研究或并行工作卸载到单独的上下文窗口中,保持主对话更轻。在你的存储库的 `.claude/agents/` 中定义的 Subagents 会自动被拾取。
249
250[Agent teams](/docs/zh-CN/agent-teams) 默认关闭,但可以通过将 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 添加到你的[环境变量](/docs/zh-CN/cloud-environments#set-environment-variables)来启用。
251
252<h3 id="permission-modes-in-cloud-sessions">
253 云会话中的权限模式
254</h3>
255
256你从[模式下拉菜单](/docs/zh-CN/permission-modes#switch-permission-modes)为云会话选择[权限模式](/docs/zh-CN/permission-modes),既在你创建任务时,也在会话运行时。当你重新打开其 Anthropic 托管[环境已过期](#environment-expired)的会话,或向自托管运行程序在空闲时[释放的会话](/docs/zh-CN/self-hosted-environments-reference#runner-cli-flags)发送消息时,Claude Code 在它所在的权限模式中恢复会话。
789 257
790<h3 id="review-changes">258<h3 id="review-changes">
791 审查更改259 审查更改
792</h3>260</h3>
793 261
794每个会话显示一个 diff 指示器,显示添加和删除的行数,如 `+42 -18`。选择它以打开 diff 视图,在特定行上留下内联评论,并使用你的下一条消息将它们发送给 Claude。有关完整演练(包括 PR 创建),请参阅[审查和迭代](/docs/zh-CN/web-quickstart#review-and-iterate)。要让 Claude 自动监控 PR 以查找 CI 失败和审查评论,请参阅[自动修复拉取请求](#auto-fix-pull-requests)。262每个会话显示一个 diff 指示器,显示添加和删除的行数,如 `+42 -18`。选择它以打开 diff 视图,在特定行上留下内联评论,并使用你的下一条消息将它们发送给 Claude。
263
264Claude Code 从原始 git blob 内容计算这些 diffs,包括 Claude 编辑时显示的每个文件 diffs,所以存储库中配置的 diff 驱动程序和 `textconv` 过滤器不适用。对于不是会话自己的检出之一的存储库中的文件,如在会话期间克隆到工作区内的文件,每个文件 diff 显示 Claude 的编辑本身,而不是 git 比较。
265
266有关完整演练(包括 PR 创建),请参阅[审查和迭代](/docs/zh-CN/web-quickstart#review-and-iterate)。要让 Claude 自动监控 PR 以查找 CI 失败和审查评论,请参阅[自动修复拉取请求](#auto-fix-pull-requests)。
795 267
796<h3 id="share-sessions">268<h3 id="share-sessions">
797 共享会话269 共享会话
815 287
816在共享之前检查你的会话是否包含敏感内容。会话可能包含来自私有 GitHub 存储库的代码和凭证。默认情况下不启用存储库访问验证。288在共享之前检查你的会话是否包含敏感内容。会话可能包含来自私有 GitHub 存储库的代码和凭证。默认情况下不启用存储库访问验证。
817 289
818要要求收件人拥有存储库访问权限,或从共享会话中隐藏你的名称,请转到设置 > Claude Code > 共享设置。290要要求收件人拥有存储库访问权限,或从共享会话中隐藏你的名称,请转到 [**Settings > Claude Code > Sharing settings**](https://claude.ai/settings/claude-code)。
819 291
820<h3 id="archive-sessions">292<h3 id="archive-sessions">
821 归档会话293 归档会话
843Claude 可以监视拉取请求并自动响应 CI 失败和审查评论。Claude 订阅 PR 上的 GitHub 活动,当检查失败或审查者留下评论时,Claude 会调查并推送修复(如果有明确的修复)。315Claude 可以监视拉取请求并自动响应 CI 失败和审查评论。Claude 订阅 PR 上的 GitHub 活动,当检查失败或审查者留下评论时,Claude 会调查并推送修复(如果有明确的修复)。
844 316
845<Note>317<Note>
846 自动修复需要在你的存储库上安装 Claude GitHub App。如果你还没有,请从 [GitHub App 页面](https://github.com/apps/claude) 安装它,或在[设置](/docs/zh-CN/web-quickstart#connect-github-and-create-an-environment)期间出现提示时安装。318 自动修复需要在你的存储库上安装 Claude GitHub App。如果你还没有,请从 [GitHub App 页面](https://github.com/apps/claude) 安装它。
847</Note>319</Note>
848 320
849根据 PR 来自何处以及你使用的设备,有几种方法可以打开自动修复:321根据 PR 来自何处以及你使用的设备,有几种方法可以打开自动修复:
850 322
851* **在 Claude Code on the web 中创建的 PR**:打开 CI 状态栏并选择**自动修复**323* **在 Claude Code on the web 中创建的 PR**:打开 CI 状态栏并选择**自动修复**
852* **从终端**:在 PR 的分支上运行 [`/autofix-pr`](/docs/zh-CN/commands)。Claude Code 使用 `gh` 检测打开的 PR,生成网络会话,并一步启用自动修复324* **从终端**:在 PR 的分支上运行 [`/autofix-pr`](/docs/zh-CN/commands)。Claude Code 使用 `gh` 检测打开的 PR,生成网络会话,并一步启用自动修复
853* **从移动应用**:告诉 Claude 自动修复 PR,例如"监视此 PR 并修复任何 CI 失败或审查评论"325* **从移动应用**:告诉 Claude 自动修复 PR,例如"watch this PR and fix any CI failures or review comments"
854* **任何现有 PR**:将 PR URL 粘贴到会话中并告诉 Claude 自动修复它326* **任何现有 PR**:将 PR URL 粘贴到会话中并告诉 Claude 自动修复它
855 327
856自动修复是按 PR 的切换开关。要停止监视,请在网络会话中打开 CI 状态栏并清除**自动修复**切换,或告诉 Claude 停止监视 PR。328自动修复是按 PR 的切换开关。要停止监视,请在网络会话中打开 CI 状态栏并清除**自动修复**切换,或告诉 Claude 停止监视 PR。
879 351
880每个云会话通过多个层与你的机器和其他会话分离:352每个云会话通过多个层与你的机器和其他会话分离:
881 353
882* **隔离的虚拟机**:每个会话在隔离的、Anthropic 管理的 VM 中运行354* **隔离的虚拟机**:每个会话在隔离的、Anthropic 管理的 VM 中运行。你的组织路由到[自托管环境](/docs/zh-CN/self-hosted-environments)的会话改为在你自己的基础设施上运行,其中隔离是你的部署的责任
883* **网络访问控制**:网络访问默认受限,可以禁用。在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。355* **网络访问控制**:在 Anthropic 托管的环境中,网络访问默认受限,可以禁用。在自托管环境中,你在自己的网络边界处限制会话出口。当在禁用网络访问的情况下运行时,Claude Code 仍然可以与 Anthropic API 通信,这可能允许数据从 VM 中退出。
884* **凭证保护**:敏感凭证(如 git 凭证或签名密钥)永远不会在沙箱内与 Claude Code 一起。身份验证通过使用作用域凭证的安全代理处理。356* **凭证保护**:在 Anthropic 托管的环境中,git 凭证和签名密钥保持在沙箱外,代理使用作用域凭证代表会话进行身份验证。在自托管环境中,你的部署提供 git 凭证;请参阅[配置 git](/docs/zh-CN/self-hosted-environments-deploy#configure-git)
885* **安全分析**:代码在隔离的 VM 内分析和修改,然后创建 PR357* **API 凭证**:在 Pro 和 Max 计划的 Anthropic 托管环境中,你[添加到云环境](/docs/zh-CN/cloud-environments#add-api-credentials)的密钥保持在沙箱外,以相同的方式,在它们离开会话后附加到匹配的请求。自托管环境没有 API 凭证,Team 和 Enterprise 计划还没有
358* **安全分析**:代码在会话的隔离环境内分析和修改,然后创建 PR
886 359
887<h2 id="troubleshooting">360<h2 id="troubleshooting">
888 故障排除361 故障排除
894 会话创建失败367 会话创建失败
895</h3>368</h3>
896 369
897如果新会话无法启动,显示 `Session creation failed` 或在配置时停滞,Claude Code 无法分配云环境。370如果新会话无法启动,显示 `Session creation failed` 或在配置时停滞,Claude Code 无法为会话分配 VM。
898 371
899* 检查 [status.claude.com](https://status.claude.com) 以了解云会话事件372* 检查 [status.claude.com](https://status.claude.com) 以了解云会话事件
900* 一分钟后重试,因为容量是按需配置的373* 一分钟后重试,因为容量是按需配置的
901* 确认你的存储库可访问。连接的 GitHub 账户必须通过 Claude GitHub App 授权或通过 `/web-setup` 同步的 `gh` 令牌在 GitHub 上拥有对存储库的访问权限。不需要在存储库上安装该应用。请参阅 [GitHub 身份验证选项](#github-authentication-options)。374* 确认你的存储库可访问。连接的 GitHub 账户必须通过 Claude GitHub App 授权或通过 `/web-setup` 同步的 `gh` 令牌在 GitHub 上拥有对存储库的访问权限。不需要在存储库上安装该应用。请参阅 [GitHub 身份验证选项](#github-authentication-options)。
902 375
376<h3 id="unable-to-get-organization-uuid">
377 无法获取组织 UUID
378</h3>
379
380`claude --cloud` 和 `claude --teleport` 需要使用 claude.ai 账户登录。如果你使用 API 密钥进行身份验证,或你的存储账户详情已过期,这些命令会失败,显示 `Unable to get organization UUID` 或消息 API 密钥身份验证不足。使用 API 密钥身份验证或过期账户详情,运行不带会话 ID 的 `claude --teleport` 会在会话选择器中显示 `Error loading Claude Code sessions`,而不是任一消息,相同的修复适用。
381
382运行 `/login` 以使用你的 claude.ai 账户登录,然后重试命令。如果错误命名你的提供商,请参阅[错误表](#output-and-errors):云会话不通过第三方提供商可用。
383
903<h3 id="remote-control-session-expired-or-access-denied">384<h3 id="remote-control-session-expired-or-access-denied">
904 远程控制会话已过期或访问被拒绝385 Remote Control 会话已过期或访问被拒绝
905</h3>386</h3>
906 387
907`--teleport` 通过与云会话使用的相同远程控制会话基础设施连接,所以身份验证和会话过期错误会显示远程控制措辞。你可能会看到 `Remote Control session expired` 或 `Access denied`。连接令牌是短期的,并限定于你的账户。388`--teleport` 通过与云会话使用的相同 Remote Control 会话基础设施连接,所以身份验证和会话过期错误会显示 Remote Control 措辞。你可能会看到 `Remote Control session expired` 或 `Access denied`。连接令牌是短期的,并限定于你的账户。
908 389
909* 在本地运行 `/login` 以刷新你的凭证,然后重新连接390* 在本地运行 `/login` 以刷新你的凭证,然后重新连接
910* 确认你已登录到拥有会话的相同账户391* 确认你已登录到拥有会话的相同账户
911* 如果你看到 `Remote Control may not be available for this organization`,管理员尚未为你的组织启用云会话392* 如果你看到 `Remote Control may not be available for this organization`,所有者尚未为你的组织启用云会话
912 393
913<h3 id="environment-expired">394<h3 id="environment-expired">
914 环境已过期395 环境已过期
915</h3>396</h3>
916 397
917云会话在不活动一段时间后停止,底层环境被回收。从本地终端,这显示为 `Could not resume session ... its environment has expired. Creating a fresh session instead.` 在网络上,会话在会话列表中标记为已过期。398云会话在不活动一段时间后停止,会话的 VM 被回收。会话在等待你批准[MCP 连接器](/docs/zh-CN/cloud-environments#network-access)工具调用或登录到 MCP 服务器时计为不活动,它可以在该等待期间过期。在网络上,会话在会话列表中标记为已过期。
918 399
919从 [claude.ai/code](https://claude.ai/code) 重新打开会话以配置新环境,并恢复你的对话历史。400从 [claude.ai/code](https://claude.ai/code) 重新打开会话以配置新 VM,并恢复你的对话历史。在 VM 被回收时仍在运行的后台工作,如 subagents 和 shell 命令,不会被恢复。
920 401
921<h2 id="limitations">402<h2 id="limitations">
922 限制403 限制
927* **速率限制**:Claude Code on the web 与你账户内所有其他 Claude 和 Claude Code 使用共享速率限制。并行运行多个任务会按比例消耗更多速率限制。云 VM 没有单独的计算费用。408* **速率限制**:Claude Code on the web 与你账户内所有其他 Claude 和 Claude Code 使用共享速率限制。并行运行多个任务会按比例消耗更多速率限制。云 VM 没有单独的计算费用。
928* **存储库身份验证**:你只能在认证到相同账户时将会话从网络移动到本地409* **存储库身份验证**:你只能在认证到相同账户时将会话从网络移动到本地
929* **平台限制**:存储库克隆和拉取请求创建需要 GitHub。自托管[GitHub Enterprise Server](/docs/zh-CN/github-enterprise-server) 实例支持 Team 和 Enterprise 计划。GitLab、Bitbucket 和其他非 GitHub 存储库可以作为[本地捆绑](#send-local-repositories-without-github)发送到云会话,但会话无法将结果推送回远程410* **平台限制**:存储库克隆和拉取请求创建需要 GitHub。自托管[GitHub Enterprise Server](/docs/zh-CN/github-enterprise-server) 实例支持 Team 和 Enterprise 计划。GitLab、Bitbucket 和其他非 GitHub 存储库可以作为[本地捆绑](#send-local-repositories-without-github)发送到云会话,但会话无法将结果推送回远程
930* **组织 IP 允许列表**:云会话从 Anthropic 管理的基础设施而不是你的网络调用 Anthropic API。如果你的组织启用了 [IP 允许列表](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting),每个云会话都会失败,显示身份验证错误。这同样适用于[代码审查](/docs/zh-CN/code-review)和[例程](/docs/zh-CN/routines)。联系 [Anthropic 支持](https://support.claude.com/)以从你的组织的 IP 允许列表中豁免 Anthropic 托管的服务。411* **组织 IP 允许列表**:云会话从 Anthropic 管理的基础设施而不是你的网络调用 Anthropic API,而[自托管环境](/docs/zh-CN/self-hosted-environments)中的会话从你自己的网络调用它。如果你的组织启用了 [IP 允许列表](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting),每个 Anthropic 托管的云会话都会失败,显示身份验证错误。这同样适用于[代码审查](/docs/zh-CN/code-review)和[routines](/docs/zh-CN/routines)在 Anthropic 托管的环境中运行;路由到自托管环境的 routine 从你自己的网络调用 API。联系 [Anthropic 支持](https://support.claude.com/)以从你的组织的 IP 允许列表中豁免 Anthropic 托管的服务。
931 412
932<h2 id="related-resources">413<h2 id="related-resources">
933 相关资源414 相关资源
934</h2>415</h2>
935 416
936* [Ultraplan](/docs/zh-CN/ultraplan):在云会话中起草计划并在浏览器中审查417* [云环境](/docs/zh-CN/cloud-environments):为云会话配置网络访问、环境变量和设置脚本
937* [Ultrareview](/docs/zh-CN/ultrareview):在云沙箱中运行深度多代理代码审查418* [Ultrareview](/docs/zh-CN/ultrareview):在云沙箱中运行深度多代理代码审查
938* [Routines](/docs/zh-CN/routines):按计划、通过 API 调用或响应 GitHub 事件自动化工作419* [Routines](/docs/zh-CN/routines):按计划、通过 API 调用或响应 GitHub 事件自动化工作
939* [Hooks 配置](/docs/zh-CN/hooks):在会话生命周期事件处运行脚本420* [Hooks 配置](/docs/zh-CN/hooks):在会话生命周期事件处运行脚本
940* [设置参考](/docs/zh-CN/settings):所有配置选项421* [所有设置](/docs/zh-CN/settings-reference):所有配置选项
941* [安全](/docs/zh-CN/security):隔离保证和数据处理422* [安全](/docs/zh-CN/security):隔离保证和数据处理
942* [数据使用](/docs/zh-CN/data-usage):Anthropic 从云会话保留的内容423* [数据使用](/docs/zh-CN/data-usage):Anthropic 从云会话保留的内容
943* [Claude Tag](https://claude.com/docs/claude-tag/overview):在 Slack 中由组织管理的 @Claude,运行在相同的云环境中424* [Claude Tag](https://claude.com/docs/claude-tag/overview):在 Slack 中由组织管理的 @Claude,运行在相同的云基础设施上