环境是什么
Environment 是 Session 的基础设施层:- 环境类型 -
cloud表示云端托管容器,self_hosted表示自托管执行环境 - 网络策略 - 控制容器的出站网络访问
- 依赖包 - 预装系统包、Python 包、Node.js 包
- 启动脚本 - 容器准备阶段、依赖安装完成后执行的用户脚本
字段说明
Config 类型
config.type 可以是 "cloud" 或 "self_hosted"。
self_hosted 的 config 必须严格为:
cloud 的 config 可以包含 networking、packages 和 setup_script。
网络策略
config.networking 支持三种请求模式,所有模式都必须使用对象格式(字符串简写如 "unrestricted" 不被支持,会返回 400)。
Cloud Environment 响应会包含以下 networking 字段。省略字段会按默认值返回。
完全开放
受限模式
白名单模式
预装依赖
通过config.packages 指定容器启动时预装的依赖:
预装依赖会增加环境初始化时间。只添加确实需要的包,其余可在 Session 运行时按需安装。
启动脚本
config.setup_script 是一段在 sandbox 准备阶段、packages 安装完成之后执行的 shell 脚本,使用 /bin/bash -lc 解释器运行。常用于克隆代码、写配置文件、warmup 缓存等无法用 packages 表达的初始化步骤。
创建环境
创建安全受限环境
查询环境
更新环境
更新环境不会影响已运行的 Session。新配置仅对后续创建的 Session 生效。
环境选型建议
常见问题
Q: 环境创建后需要等待多久才能使用? A: 环境创建后可立即用于创建 Session。实际的容器初始化(包括安装依赖)发生在 Session 启动时。 Q: 预装包的版本可以指定吗? A: pip 和 npm 包支持版本指定,如"pandas==2.1.0" 或 "typescript@5.0.0"。apt 包使用系统源的默认版本。
Q: networking 设置错误导致 Agent 运行失败怎么办?
A: 创建一个新的环境(或更新现有环境),修改网络策略后重新启动 Session。
Q: 一个账号最多能创建多少个环境?
A: 无硬性限制,但建议按实际需求创建,避免管理混乱。建议通过命名规范分类。
下一步
启动 Session
将 Agent 和 Environment 组合,开始执行任务。
定义 Agent
回顾 Agent 配置。