environment_id 绑定一个执行环境。
每个会话都有独立的沙箱实例,同一执行环境下的会话不共享工作区状态。
创建执行环境
调用POST /v1/environments 创建执行环境。以下示例通过 pip 和 apt 预装依赖、限制出站访问,并在依赖安装完成后创建工作目录:
id 和当前的 build_status。保存 id,创建会话时需要通过 environment_id 引用它。
配置执行环境
目前config.type 仅支持 "cloud"。packages、networking 和 setup_script 都是可选配置,可以根据任务需要添加或省略。
预装依赖
在packages 中按包管理器声明需要预装的依赖。平台会在智能体启动前安装这些依赖,安装结果可以在使用同一执行环境的会话中复用。
依赖条目使用对应包管理器的原生版本语法。指定版本号时安装对应版本,未指定时安装最新版。每个包管理器最多可以配置 128 条依赖。
网络访问
networking 控制沙箱进程的出站网络访问,不影响平台层工具自身的网络访问。省略该配置时使用 unrestricted 模式。
在
limited 模式下:
allowed_hosts的条目分为两类:域名条目支持精确主机名和*.example.com形式的通配符(匹配任意层级子域名,不含根域本身),可以带端口(如api.example.com:8443),不带端口时只放行 80 和 443 端口;IP 和 CIDR 网段条目(如1.2.3.4、10.0.0.0/8)按 TCP 直连放行且不限制端口,不得带端口。条目不要包含 URL scheme(如https://)或路径,最多配置 128 条;无效条目会在创建或更新执行环境时被 400 拒绝;allow_mcp_servers控制是否额外允许访问智能体配置的 MCP server 端点,默认为false;allow_package_managers控制是否额外允许访问 PyPI、npm 等公共包注册表,默认为false。
proxy,把指定的出站流量经自有代理转发。proxy 的 hosts 列出要走代理的主机;在 limited 模式下,hosts 中的主机可以直接经代理访问,无需再加入 allowed_hosts:
代理不需要认证时可以省略
auth 字段。生产环境中代理 URL 必须使用 HTTPS(不论认证方式);client_cert 在任何环境都强制 HTTPS。
proxy.ca 是可选字段,用于提供 PEM 格式的 CA 证书包。代理凭据通过 vault_id 和 credential_id 引用,凭据明文不会保存在执行环境配置中。引用的凭据必须是凭据库中 active 的 environment_variable 类型凭据,其他类型会被 400 拒绝。创建和管理凭据的方法见 凭据库。
初始化脚本
setup_script 适合用于创建目录、生成配置文件等一次性准备工作。
在会话中使用
创建会话时传入environment_id 即可使用执行环境。绑定后不能更换执行环境,完整请求示例见 会话。
执行环境必须对当前调用方可见、未归档,并且至少有一个 ready 版本,才能用于创建新会话。
等待执行环境构建完成
创建或替换环境配置后,平台会异步构建新版本。要让新建会话使用刚提交的配置,请通过环境 ID 查询构建状态,等待build_status 变为 ready:
build_status 表示最新配置版本的构建状态:
如果最新版本的状态仍为
building 或已变为 failed,新建会话会使用最近一个 ready 的历史版本。只有执行环境不存在任何 ready 版本时,创建会话才会失败。
创建会话时会绑定到当时最新的 ready 版本,并在整个生命周期中使用该版本。此后更新执行环境不会影响已有会话。
更新执行环境
调用PATCH /v1/environments/{id} 可以修改请求体中出现的字段。替换 config 时,请提交希望保留的完整 config。以下示例保留原有配置,并额外安装 DuckDB:
config.type。
管理执行环境
列出当前可见的执行环境:include_archived=true。
归档不再用于创建新会话的执行环境:
204。
删除不再需要的执行环境。只能删除已归档的执行环境,未归档时删除请求会失败:
204。
相关资源
沙箱规格参考
查看云沙箱预装的操作系统、运行时与工具,以及文件系统和网络边界。
会话
了解如何创建会话并绑定执行环境。