Environment 对象及其配置子结构的完整定义。
由创建、获取、列表、更新和归档接口返回。
当
其他配置字段仅在
脚本成功后会在沙箱内写入完成标记,不会在同一沙箱中重复执行;沙箱重建时脚本会重新运行。
非零退出码会中止 Session 启动。错误响应中包含
Environment 对象
由创建、获取、列表、更新和归档接口返回。
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | Environment ID,前缀 env_ |
type | string | 固定为 "environment" |
name | string | 环境名称 |
description | string | 环境描述 |
config | Environment config | 环境配置 |
metadata | object | Metadata 对象。默认 {} |
archived_at | string | null | UTC 归档时间,未归档时为 null |
created_at | string | UTC 创建时间 |
updated_at | string | UTC 最后更新时间 |
Environment config
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | "cloud" 或 "self_hosted" |
networking | Environment networking | 否 | 网络访问配置 |
packages | Environment packages | 否 | 环境关联的包声明 |
setup_script | string | 否 | 用户初始化脚本。参见 Environment setup script |
type 为 "self_hosted" 时,config 仅允许:
type 为 "cloud" 时有效。
Environment packages
packages 将包管理器映射到包名数组。Cloud 环境响应中包含 type 以及 apt、npm、pip;省略的数组返回为 []。
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
type | string | 响应中固定为 "packages" | "packages" |
apt | array of string | Debian/Ubuntu 系统包声明 | ["git", "curl", "build-essential"] |
npm | array of string | Node.js 包声明 | ["typescript@5.0.0", "eslint"] |
pip | array of string | Python 包声明 | ["pandas", "PyYAML==6.0.1"] |
Environment setup script
setup_script 是在沙箱准备阶段执行的 shell 脚本,在 packages 安装完成后运行,通过 /bin/bash -lc 解释执行。适用于无法通过 packages 表达的初始化步骤,如克隆仓库、写入配置文件或预热缓存。
| 约束 | 值 |
|---|---|
| 类型 | string |
| 最大长度 | 64 KB |
| 解释器 | /bin/bash -lc |
| 超时 | 10 分钟 |
| 执行时机 | 沙箱准备阶段,packages 安装之后 |
setup_script 的退出码和 stderr 片段,便于诊断。
Environment networking
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 可选值:limited、unrestricted |
allowed_hosts | array of string | 否 | 主机白名单。默认 [] |
allow_package_managers | boolean | 否 | 包管理器访问标志。默认 false |
allow_mcp_servers | boolean | 否 | MCP 服务器访问标志。默认 false |