Loading...
  • 构建
  • 管理
  • 模型与定价
  • 客户端 SDK
  • API 参考
Search...
⌘K
Log in
云环境设置
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
构建/配置代理环境

云环境设置

为您的会话自定义云容器。

环境定义了代理运行的容器配置。您创建一次环境,然后每次启动会话时引用其 ID。多个会话可以共享同一环境,但每个会话都会获得自己的隔离容器实例。

所有 Managed Agents API 请求都需要 managed-agents-2026-04-01 beta 标头。SDK 会自动设置 beta 标头。

创建环境

ant beta:environments create \
  --name "python-dev" \
  --config '{type: cloud, networking: {type: unrestricted}}'

name 必须在您的组织和工作区内唯一。

在会话中使用环境

创建会话时,将环境 ID 作为字符串传递。

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
)

配置选项

包

packages 字段在代理启动前将包预安装到容器中。包由各自的包管理器安装,并在共享同一环境的会话中缓存。指定多个包管理器时,它们按字母顺序运行(apt、cargo、gem、go、npm、pip)。您可以选择固定特定版本;默认为最新版本。

ant beta:environments create <<'YAML'
name: data-analysis
config:
  type: cloud
  packages:
    pip:
      - pandas
      - numpy
      - scikit-learn
    npm:
      - express
  networking:
    type: unrestricted
YAML

支持的包管理器:

字段包管理器示例
apt系统包(apt-get)"ffmpeg"
cargoRust(cargo)"[email protected]"
gemRuby(gem)"rails:7.1.0"
goGo 模块"golang.org/x/tools/cmd/goimports@latest"
npmNode.js(npm)"[email protected]"
pipPython(pip)"pandas==2.2.0"

网络

networking 字段控制容器的出站网络访问。它不影响 web_search 或 web_fetch 工具的允许域。

模式描述
unrestricted完全出站网络访问,除了一般安全黑名单。这是默认值。
limited将容器网络访问限制为 allowed_hosts 列表。进一步的访问通过 allow_package_managers 和 allow_mcp_servers 布尔值启用。
config = {
    "type": "cloud",
    "networking": {
        "type": "limited",
        "allowed_hosts": ["api.example.com"],
        "allow_mcp_servers": True,
        "allow_package_managers": True,
    },
}

对于生产部署,使用 limited 网络和明确的 allowed_hosts 列表。遵循最小权限原则,仅授予代理所需的最小网络访问权限,并定期审计您的允许域。

使用 limited 网络时:

  • allowed_hosts 指定容器可以访问的域。这些必须以 HTTPS 为前缀。
  • allow_mcp_servers 允许出站访问在代理上配置的 MCP 服务器端点,超出 allowed_hosts 数组中列出的端点。默认为 false。
  • allow_package_managers 允许出站访问公共包注册表(PyPI、npm 等),超出 allowed_hosts 数组中列出的端点。默认为 false。

环境生命周期

  • 环境持续存在,直到明确存档或删除。
  • 多个会话可以引用同一环境。
  • 每个会话都获得自己的容器实例。会话不共享文件系统状态。
  • 环境不进行版本控制。如果您经常更新环境,您可能希望在您这一侧记录这些更新,以将环境状态与会话进行映射。

管理环境

# List environments
ant beta:environments list

# Retrieve a specific environment
ant beta:environments retrieve --environment-id "$ENVIRONMENT_ID"

# Archive an environment (read-only, existing sessions continue)
ant beta:environments archive --environment-id "$ENVIRONMENT_ID"

# Delete an environment (only if no sessions reference it)
ant beta:environments delete --environment-id "$ENVIRONMENT_ID"

预安装的运行时

云容器开箱即用地包含常见运行时。有关预安装语言、数据库和实用程序的完整列表,请参阅容器参考。

Was this page helpful?