EnvironmentSession 表面,而不是直接依赖 provider SDK。
Environments 负责什么
命令执行
以 shell 或 argv 方式执行命令,并支持 cwd、env、timeout、detach 和 return-code capture。
文件传输
在本地磁盘和 environment 之间 upload/download 文件或目录。
Workspace 访问
提供文本读写和 default workspace root 行为。
Provider 生命周期
打开 session、返回可选 endpoint,并释放 sandbox、container 或本地 session。
Session 接口
Provider 选择
通过
--env 选择 provider,默认值位于 config/defaults.yaml 的 environments.<provider> 下。当任务只需要本地文件或直接模型调用时,从 host_process 开始;当任务需要 isolation 或 benchmark 专用镜像时,再切换到容器或远程 sandbox。对于支持 recipe 的 benchmark/provider 组合,image 和 workspace root 会从 task metadata 推导,通常不需要手动传 --env-params '{"image":"..."}'。
并发与限制
提高 task concurrency 前,应先确认模型 endpoint 和 provider 账号限额可以承受。
开发者说明
当执行发生在新的 provider 或 runtime substrate 中,新增 environment。不要为了选择不同 task image 新增 environment;那属于environment.params 或 recipe。
