云环境适用于云端会话,这些会话在 Pro、Max 和 Team 计划上可用,以及具有高级席位或 Chat + Claude Code 席位的 Enterprise 用户。
claude --cloud、Routine 和 Claude Tag。这些使用入口中的每一个也可以路由到自托管环境。可用性和限制涵盖了当 Claude Tag 会话在其中运行时 Claude 还不能使用的内容。
Remote Control 会话将网页和移动界面连接到您自己机器上的会话,该会话使用您机器的网络和文件,而不是云环境。Claude Tag 频道会话仅使用组织级别的环境,即共享环境或自托管环境。
Default 环境
如果您还没有环境,引导设置会为您设置 Default 环境。具体方式取决于您在哪里进行引导:- CLI 流程(例如
/web-setup):为您创建 Default - Pro 和 Max 上的网页引导:为您创建 Default
- Team 和 Enterprise 上的网页引导:显示 Create your first cloud environment 表单,除非所有者已启用快速设置;保持表单的默认值并点击 Create & finish 以获得相同的 Default 环境
- Trusted 网络访问:会话可以访问包注册表和其他允许列表中的域,但无法通过会话的网络访问其他任何内容。
- 无其他配置:Default 不定义任何环境变量或设置脚本,因此会话只以预安装的工具开始。
- 在网页、Desktop 应用和移动应用上,会话使用选择器中显示的环境。当您尚未选择时,所有者设置的组织默认值会填入选择。线程在项目中使用项目设置中设置的环境。
- 从 CLI,Claude Code 使用您的
/remote-env选择,或在您的列表中有一个 Anthropic 托管环境时回退到该环境,否则回退到您列表中第一个不是桥接环境的环境,即 Remote Control 注册的条目,用于代表您自己的机器而不是云环境。对于自托管环境,在分派会话时使用其ccpool_ID 传递--environment <environment-id>会覆盖该调用的/remote-env选择和回退。Claude Code 拒绝传递给该标志的 Anthropic 托管env_ID,因此请使用/remote-env来定位这些。该标志需要 Claude Code v2.1.224 或更高版本。
配置您的环境
在 claude.ai/code 上启动新会话的页面中,通过消息框下方的环境选择器添加、编辑和归档环境。要进入该页面,请完成网页入门引导。对于桌面应用,请参阅云端会话。您创建的环境是您账户的个人环境;由所有者创建的共享环境会与它们一起出现在选择器中。查看已安装的工具,了解无需任何配置即可使用的工具。 选择器仅在您发送新会话的第一条消息之前显示。要编辑您自己正在运行的云端会话的环境,请选择顶部会话标题后的插入符号,然后选择 Edit cloud environment。1
打开环境选择器
在新会话页面上,选择消息框下方行中的第一个控件。
2
添加或编辑环境
- 添加环境:选择菜单底部的 New environment 以打开 New environment 对话框。填写表单并选择 Add environment。随后您的新会话将使用您添加的环境。
- 编辑环境:在 Cloud 下找到该环境所在的行。如果 Cloud 只是单独一行,请选择它以打开列表。如果您的环境未列在 Cloud 下,请选择该标题下的 More 行。悬停在该环境的行上,然后选择其右侧出现的设置图标以打开其对话框。
设置环境变量
环境变量使用.env 格式,每行一个 KEY=value 对。普通值不需要引号,如果您用匹配的一对引号引用一个值,引号不会成为该值的一部分。跨越多行或包含 # 的值需要加引号:在未加引号的值中,# 会开始注释,该行的其余部分会被丢弃。
以下示例定义了三个变量。
OTEL_* 变量除外。Claude Code 使用这些变量进行自己的遥测导出,不会将它们传递给它运行的命令。
在 Anthropic 托管的环境中,会话在创建时读取环境的值,之后每次 Claude Code 在会话的 VM 中启动时也会再次读取,这发生在两种情况下:
- VM 在空闲后被恢复:在几分钟没有活动后,会话的 VM 会暂停,其文件会被保存。您的下一条消息会恢复同一个 VM 并再次启动 Claude Code。
- VM 被回收并被重建:如果暂停的 VM 已经被回收,重新打开会话会配置一个新的 VM。
LOG_LEVEL=trace npm test,或启动一个新会话。
云端会话在启动时也会自行设置一些变量。对于 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE,会话设置的值会覆盖您在这里添加的值,因此在这里添加该键没有效果。
使用该环境的任何人都可以读取这些值。在 Anthropic 托管的环境中,对于 Agent 代理可以附加到请求中的密钥,请改用网络机密。永远不会获得机密的请求在该处列出。
添加网络机密
网络机密是您存储在云环境中的 API 密钥或令牌,使 Claude 可以从该环境中的任何会话调用该 API,而无需看到密钥。每个请求离开会话的 VM 后,Anthropic 的 Agent 代理会将密钥添加到发往您所列主机的请求中,因此密钥本身始终位于 VM 之外。 网络机密适用于 Pro、Max、Team 和 Enterprise 计划。要确认您是否可以自行添加,请参阅要求。要求
以下要求决定您是否可以添加机密,以及添加后 Agent 代理是否可以使用它:- Role:在 Pro、Max 和 Team 计划上,无论您的角色如何,您都可以在自己的环境中添加和删除机密。在 Team 和 Enterprise 上,所有者在您的 claude.ai 组织中持有组织管理员角色,管理员(Admin)不持有,这会改变您在以下情况下看到的内容:
- Enterprise 上您自己的环境:拥有组织管理员角色时,您可以添加和删除机密。没有该角色时,Network secrets 部分会在说明”Only an organization admin can add or delete network secrets”下列出机密,且没有 Add secret 或删除按钮。请让所有者将机密添加到共享环境,然后在该环境中运行您的会话
- 共享环境:所有者从管理设置中添加和删除其机密。没有组织管理员角色时,请让所有者添加机密,因为该环境的对话框中没有 Network secrets 部分
- Team 上您自己的环境:没有组织管理员角色时,Add secret 会打开一个只接受一个主机的简化表单
- Environment type:一个已存在的 Anthropic 托管云环境。自托管环境没有网络机密
- API reachability:API 接受来自互联网的连接,因为请求从 Anthropic 的网络发出
- Encryption keys:如果您的组织使用客户管理的加密密钥,则无法保存网络机密
添加机密
机密需要逐个添加,添加后无法编辑。要更改机密的主机或值,请将其删除后重新添加。 要向共享环境添加机密,请从管理设置中的 Cloud environments 页面打开该环境进行编辑,然后从 Network secrets 部分继续执行步骤 1。如果您使用的是 Team 计划且不持有组织管理员角色,请在您自己的环境中执行步骤 1,然后填写简化表单。1
打开环境的网络机密
在 claude.ai/code 打开环境进行编辑。在 Edit cloud environment 对话框中,找到 Network secrets 部分。您会看到环境中已有的机密,每个机密都附有其适用的主机。
2
添加机密
选择 Add secret 并填写表单。对于在请求头中传输的 API 密钥,保留默认的 Secret type,即 Bearer,并填写以下字段:
- Name:机密的标签,例如
Internal billing API - Allowed websites:API 的主机,例如
api.example.com。前导*.匹配所有子域 - Custom headers:用于携带密钥的请求头占一行。该行默认以
Authorization作为请求头的 Name,以Bearer作为其 Prefix;将密钥本身粘贴为 Value。对于接受裸值的请求头(如X-Api-Key),请更改名称并清除前缀
3
保存机密
选择 Add。机密会连同其主机一起出现在列表中,无需点击对话框的 Save changes 按钮即已保存。保存后您无法再次查看该值。
curl。API 的响应就如同请求中带有密钥一样,而密钥不会出现在会话的环境变量或任何文件中。如果列表将某个机密标记为 Not sent,其下方的说明会解释原因和处理方法。两个主机重叠但不完全匹配的机密不会显示标记,而 Agent 代理只会发送其中一个。
在没有组织管理员角色的 Team 计划上添加机密
如果您使用的是 Team 计划且不持有组织管理员角色,Add secret 表单只接受针对一个主机的一个机密。在您环境的 Network secrets 部分中选择 Add secret,填写以下字段,然后选择表单中的 Add secret 按钮:- Host:获得该机密的唯一主机,例如
api.example.com。该表单不接受*.通配符 - Name:机密的可选标签
- Secret type:对于在请求头中传输的密钥选择 Token,或选择 Username and password。对于令牌,请将密钥粘贴为 Value