云端托管环境

更新时间:
复制 MD 格式

运行环境定义工具调用的执行沙箱。在控制台环境页面创建和管理,可被多个会话复用。

类型

类型

说明

云端

由百炼托管的沙箱容器,开箱即用。创建后即可被会话绑定

配置字段

环境页面点击添加环境,填写以下字段:

字段

必填

可变更

说明

名称

工作空间内唯一标识

描述

环境用途说明

托管类型

cloud(云端),由百炼托管。创建后无法变更

预装包

按包管理器声明(apt / pip / npm),环境创建时自动安装

网络策略

unrestricted 放行全部出站访问(仅 API 设置,控制台不显示)

作用域

organization(默认),工作空间成员均可使用(仅 API 设置,控制台不显示)

元数据

自定义键值对(对应 API 的 metadata),不影响运行行为

通过 API 创建环境时,指定沙箱类型与预装包。完整参数与响应字段详见创建 Environment

curl -X POST "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "data-sandbox",
    "description": "数据分析沙箱",
    "config": {
      "type": "cloud",
      "packages": {
        "apt": ["ffmpeg"],
        "pip": ["pandas", "numpy", "matplotlib"]
      },
      "networking": {"type": "unrestricted"}
    }
  }'
env = client.environments.create(
    name="data-sandbox",
    config={
        "type": "cloud",
        "networking": {"type": "unrestricted"},
        "packages": {
            "apt": ["ffmpeg"],
            "pip": ["pandas", "numpy", "matplotlib"],
        },
    },
    description="数据分析沙箱",
)
Environment env = client.environments().create(EnvironmentCreateParam.builder()
    .name("data-sandbox")
    .description("数据分析沙箱")
    .config(Map.of("type", "cloud"))
    .build());

支持的包管理器

预装包按以下包管理器声明:

  • apt:系统包,例如 ffmpeg

  • pip:Python 包,例如 pandas、numpy

  • npm:Node.js 包

归档与删除

环境支持归档和删除两种操作:

  • 归档:环境保留但默认不出现在列表中,已绑定的会话继续可用。

  • 删除:硬删除,环境配置一并清除,不可恢复。如需保留配置请改用归档。

通过 API 归档环境,详见归档 Environment

curl -X POST "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments/env_xxx/archive" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY"
client.environments.archive("env_xxx")
client.environments().archive("env_xxx");

通过 API 删除环境,详见删除 Environment

curl -X DELETE "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments/env_xxx" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY"
client.environments.delete("env_xxx")
client.environments().delete("env_xxx");