E2B兼容性说明
兼容范围总览
智能体沙箱支持的E2B API情况如下表所示。
| 分类 | API分组 | 支持情况 |
|---|---|---|
| 管理面API | Sandboxes API | 部分支持(逐步完善中) |
| Templates API | 部分支持(逐步完善中) | |
| Tags API | 暂不支持 | |
| Volumes API | 暂不支持 | |
| Teams API | 暂不支持 | |
| 数据面API | Envd API | 支持 |
| Filesystem API | 支持 | |
| Process API | 支持 |
管理面API兼容范围
| API分组 | API | 支持情况 |
|---|---|---|
| Sandboxes API | Create sandbox | 已支持 |
| Create sandbox (v2) | 已支持 | |
| Delete sandbox | 已支持 | |
| Get sandbox | 已支持 | |
| List sandboxes (v2) | 已支持 | |
| Pause sandbox | 已支持 | |
| Connect to sandbox | 已支持 | |
| Connect to sandbox (v2) | 已支持 | |
| Set sandbox timeout | 已支持 | |
| Refresh sandbox | 已支持 | |
| Fork sandbox | 暂不支持 | |
| Create snapshot | 暂不支持 | |
| List snapshots | 暂不支持 | |
| Get sandbox metrics | 暂不支持 | |
| List sandbox metrics | 暂不支持 | |
| Get sandbox logs (v2) | 暂不支持 | |
| Update sandbox network | 暂不支持 | |
| List sandboxes(已废弃) | 已废弃,使用List sandboxes (v2) | |
| Get sandbox logs(已废弃) | 已废弃,使用Get sandbox logs (v2) | |
| Resume sandbox(已废弃) | 已废弃,使用Connect to sandbox | |
| Templates API | Create template (v3) | 已支持 |
| List templates (v2) | 已支持 | |
| Get template | 已支持 | |
| Delete template | 已支持 | |
| Start build (v2) | 已支持 | |
| Get build status | 已支持 | |
| Get build logs | 已支持(占位,返回空) | |
| Update template (v2) | 暂不支持 | |
| Get build upload link | 暂不支持 | |
| Get template by alias | 暂不支持 | |
| List templates(已废弃) | 已废弃,使用List templates (v2) | |
| Update template(已废弃) | 已废弃,使用Update template (v2) |
Sandboxes API兼容范围
Create Sandbox
E2B Create Sandbox的标准API定义请见:Create sandbox。
智能体沙箱对E2B Create Sandbox接口的请求(request)参数支持情况如下:
| E2B | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 指定Sandbox所属的模板 |
| timeout | 支持 | 沙箱初始空闲超时时间(秒),范围60~1296000,默认60 |
| autoPause | 支持 | 空闲超时后是否自动暂停,默认false(false表示终止);传true时映射生命周期onTimeout=pause |
| autoPauseMemory | 暂不支持 | 空闲超时后自动暂停时是否持久化内存状态 |
| autoResume | 暂不支持 | 收到请求时是否自动恢复Sandbox |
| secure | 支持 | envd是否对收到的请求进行认证 智能体沙箱通过envd的init请求支持设置envdAccessToken和环境变量 |
| allow_internet_access | 暂不支持 | 设置Sandbox是否允许访问公网 |
| network/allowPublicTraffic | 支持(强制开启) | 网关是否对访问Sandbox实例的请求进行认证。出于安全考虑,智能体沙箱 service强制开启请求认证。 |
| network/allowOut | 暂不支持 | outbound网络访问的白名单 |
| network/denyOut | 暂不支持 | outbound网络访问的黑名单 |
| network.egressProxy | 暂不支持 | Sandbox egress网络的SOCKS5代码 |
| network/maskRequestHost | 暂不支持 | rewrite请求的host |
| metadata | 支持 | 用于List Sandbox时进行过滤 |
| envVars | 支持 | 设置环境变量,Sandbox service通过调用envd的init接口进行设置,支持Sandbox实例级别 |
| mcp | 暂不支持 | Sandbox的MCP配置 |
| volumeMounts | 暂不支持 | 挂载数据盘 |
智能体沙箱对Create Sandbox API进行了扩展,提供了如下几个额外参数:
| 参数 | 描述 | 解释 |
|---|---|---|
| name | Sandbox名称 | 方便用户标记Sandbox名称以便在页面查看,为空时取template name + sandboxID前8个字符 |
| OnTimeout | 空闲超时后的行为(pause/delete) | 保持和E2B的autoPause配置兼容 |
| StorageConfig | 存储配置 | OBS/SFS持久化存储,支持通过E2B SDK的metadata中agentsandbox.*前缀键进行设置 |
智能体沙箱对E2B Create Sandbox的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | Sandbox所属的模板 |
| sandboxID | 支持 | Sandbox实例的ID |
| clientID(已废弃) | 支持 | 客户端ID。clientID字段已被E2B废弃,但E2B SDK仍会校验该字段,为空会导致SDK报错失败,因此智能体沙箱返回一个固定的非空值("deprecated-and-not-supported") |
| alias | 不支持 | 模板的别名 |
| endAt | 支持 | 预期的Sandbox即将超时的时间 |
| envdVersion | 支持 | Sandbox实例使用的envd的版本 |
| envdAccessToken | 支持 | envd认证使用的access token |
| trafficAccessToken | 支持 | 网关认证使用的access token |
| domain(已废弃) | 不支持 | 用于构建访问Sandbox URL的域名,该字段已被E2B废弃 |
Delete Sandbox
E2B Delete Sandbox的标准API定义请见: Delete sandbox
智能体沙箱对E2B Delete Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
智能体沙箱对E2B Delete Sandbox的返回参数兼容E2B API:
- 删除成功时,应答状态码为204,body为空。
- 发生错误时,返回的body为JSON包含code、message字段, 状态码为401/404/500。
Get Sandbox
E2B Get Sandbox的标准API定义请见: Get sandbox
智能体沙箱对E2B Get Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
智能体沙箱对E2B Get Sandbox的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | Sandbox所属的模板ID |
| buildID | 扩展 | Sandbox所属的模板快照ID |
| sandboxID | 支持 | Sandbox实例的ID |
| clientID(已废弃) | 支持 | 客户端ID。clientID字段已被E2B废弃,但E2B SDK仍会校验该字段,为空会导致SDK报错失败,因此智能体沙箱返回一个固定的非空值("deprecated-and-not-supported") |
| startedAt | 支持 | Sandbox的启动时间 |
| endAt | 支持 | 预期的Sandbox即将超时的时间 |
| envdVersion | 支持 | Sandbox实例使用的envd的版本 |
| cpuCount | 支持 | Sandbox实例的CPU规格 |
| memoryMB | 支持 | Sandbox实例的内存规格 |
| diskSizeMB | 支持 | Sandbox实例的磁盘规格,现版本固定返回30720 |
| state | 支持 | Sandbox实例的状态 |
| lifecycle.autoResume | 暂不支持(占位) | Sandbox实例是否可以自动恢复,返回false |
| lifecycle.onTimeout | 支持 | Sandbox实例空闲超时时的动作,kill或者pause |
| name | 扩展 | 沙箱名称 |
| timeout | 支持 | 空闲超时时间(秒) |
| envVars | 支持 | 环境变量 |
| image | 扩展(占位) | 镜像,恒输出空串 |
| detailedState | 扩展 | 沙箱具体状态,取值包括Initializing/Running/Pausing/Paused/Deleting/Deleted/Error |
| errorMessage | 扩展 | 错误信息 |
| storageConfig | 扩展 | OBS/SFS挂载配置 |
| templateName | 扩展 | 模板名称 |
| alias | 不支持 | 模板的别名 |
| envdAccessToken | 支持 | envd认证使用的access token |
| allowInternetAccess | 不支持 | 设置Sandbox是否允许访问公网 |
| domain(已废弃) | 不支持 | 用于构建访问Sandbox URL的域名 |
| metadata | 支持 | 用于List Sandbox时进行过滤 |
| network.allowPublicTraffic | 暂不支持 | 网关是否对访问Sandbox实例的请求进行认证。出于安全考虑,智能体沙箱 service强制开启请求认证。 |
| network.allowOut | 暂不支持 | outbound网络访问的白名单 |
| network.denyOut | 暂不支持 | outbound网络访问的黑名单 |
| network.egressProxy | 暂不支持 | Sandbox egress网络的SOCKS5代码 |
| network.rules | 暂不支持 | 针对匹配的出站HTTP/HTTPS请求应用的按域名转换规则 |
| network.maskRequestHost | 暂不支持 | rewrite请求的host |
| volumeMounts | 暂不支持 | 挂载数据盘 |
List Sandbox
E2B List Sandbox的标准API定义请见: List sandbox(v2)
智能体沙箱对E2B List Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| metadata | 支持 | 用于List时进行过滤 |
| state | 支持 | 指定一个或者多个状态进行过滤,目前仅支持running和paused |
| nextToken | 支持 | 用于翻页 |
| limit | 支持 | 每页返回记录的最大数量,范围1~1000,必填 |
| order | 支持 | 排序方向,order取值非asc时按DESC排序 |
| startedAfter | 支持 | 起始时间过滤,RFC3339格式,过滤startedAt≥该值;格式错误返回400 |
| template | 支持 | 按模板ID或别名过滤 |
| templateID / sandboxID / name / templateName | 扩展 | 自有的过滤参数,分别按TaskID/SessionID/Name/TemplateName过滤 |
智能体沙箱对E2B List Sandbox的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | Sandbox所属的模板ID |
| buidID | 扩展 | Sandbox所属的模板快照ID |
| sandboxID | 支持 | Sandbox实例的ID |
| clientID(已废弃) | 支持 | 客户端ID。clientID字段已被E2B废弃,但E2B SDK仍会校验该字段,为空会导致SDK报错失败,因此智能体沙箱返回一个固定的非空值("deprecated-and-not-supported") |
| startedAt | 支持 | Sandbox的启动时间 |
| endAt | 支持 | 预期的Sandbox即将超时的时间 |
| cpuCount | 支持 | Sandbox实例的CPU规格 |
| memoryMB | 支持 | Sandbox实例的内存规格 |
| diskSizeMB | 支持 | Sandbox实例的磁盘规格,现版本固定返回30720 |
| state | 支持 | Sandbox实例的状态 |
| envdVersion | 支持 | Sandbox实例使用的envd的版本 |
| lifecycle.autoResume | 暂不支持 | Sandbox实例是否可以自动恢复,返回false |
| lifecycle.onTimeout | 支持 | Sandbox实例空闲超时时的动作,kill或者pause |
| name | 扩展 | 沙箱名称 |
| timeout | 支持 | 空闲超时时间(秒) |
| envVars | 支持 | 环境变量 |
| image | 扩展(占位) | 镜像,恒输出空串 |
| detailedState | 扩展 | 沙箱具体状态,取值包括Initializing/Running/Pausing/Paused/Deleting/Deleted/Error |
| errorMessage | 扩展 | 错误信息 |
| storageConfig | 扩展 | OBS/SFS挂载配置 |
| templateName | 扩展 | 模板名称 |
| alias | 暂不支持 | 模板的别名 |
| metadata | 支持 | 用于List Sandbox时进行过滤 |
| volumeMounts | 暂不支持 | 挂载磁盘 |
| allowInternetAccess | 不支持 | 设置Sandbox是否允许访问公网 |
| domain(已废弃) | 不支持 | 用于构建访问Sandbox URL的域名,该字段已被E2B废弃 |
在E2B的原始设计和实现中,List Sandbox接口有一个重要的分页参数nextToken没有定义在返回参数中,而是通过HTTP Header "x-next-token"传递。AgentSphere继承了E2B的实现。
Pause Sandbox
E2B Pause Sandbox的标准API定义请见: Pause sandbox
智能体沙箱对E2B Pause Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
| memory | 部分支持 | 暂停时是否持久化内存状态,默认true |
该API返回无body体,详情请参考E2B API。
Connect to Sandbox
E2B Connect to Sandbox的标准API定义请见: Connect to sandbox
智能体沙箱对E2B Connect to Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
| timeout | 支持(必填) | 恢复后设置Sandbox实例的空闲超时时间,必填(缺省返回400);运行中沙箱0~3600,暂停/初始化沙箱60~1296000 |
| memory | 不支持 | 是否释放内存,传入被忽略 |
智能体沙箱对E2B Connect to Sandbox的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | Sandbox所属的模板 |
| sandboxID | 支持 | Sandbox实例的ID |
| clientID(已废弃) | 支持 | 客户端ID。clientID字段已被E2B废弃,但E2B SDK仍会校验该字段,为空会导致SDK报错失败,因此智能体沙箱返回一个固定的非空值("deprecated-and-not-supported") |
| envdVersion | 支持 | Sandbox实例使用的envd的版本 |
| alias | 不支持 | 模板的别名 |
| envdAccessToken | 支持 | envd认证使用的access token |
| trafficAccessToken | 支持 | 网关认证使用的access token |
| domain(已废弃) | 不支持 | 用于构建访问Sandbox URL的域名,该字段已被E2B废弃 |
Connect to Sandbox (v2)
E2B Connect to Sandbox (v2)的标准API定义请见: Connect to sandbox (v2)
智能体沙箱对E2B Connect to Sandbox接口的请求(request)参数支持情况如下:
Connect to Sandbox (v2)请求模型与v1共享,唯一差异是timeout由必填改为可选(缺省默认300秒)。
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
| timeout | 支持(可选) | 恢复后设置Sandbox实例的空闲超时时间,可选,缺省默认300秒;运行中沙箱0~3600,暂停/初始化沙箱60~1296000 |
| memory | 不支持 | 是否释放内存,传入被忽略 |
智能体沙箱对E2B Connect to Sandbox (v2)的返回参数与Connect to Sandbox一致,此处不再重复列出。
Set Sandbox Timeout
E2B Set Sandbox Timeout的标准API定义请见: Set sandbox timeout
智能体沙箱对E2B Set Sandbox Timeout接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
| timeout | 支持 | 新的超时秒数,必填,范围60~1296000;沙箱不存在或非运行状态返回404/409 |
该API返回204空体,无body内容。
Refresh Sandbox
E2B Refresh Sandbox的标准API定义请见: Refresh sandbox
智能体沙箱对E2B Refresh Sandbox接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| sandboxID | 支持 | 指定Sandbox实例的ID |
| duration | 支持 | 延长秒数,范围0~3600,小于15按15处理;只能延长不能缩短;沙箱不存在或非运行状态返回404/409 |
该API返回204空体,无body内容。
Templates API兼容范围
Create Template (v3)
E2B Create Template的标准API定义请见: Create template
智能体沙箱对E2B Create Template接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| name | 支持 | 模板名;须符合RFC 1035 DNS标签规范,否则返回400;同名请求不会重复建task而是更新 |
| tags | 支持 | 模板标签;不超过10条、每条不超过128、非空 |
| alias | 不支持 | 模板别名(官方已废弃) |
| teamID | 不支持 | 团队ID(官方已废弃) |
| cpuCount | 支持 | CPU核数;1~16,须为1或偶数;默认2 |
| memoryMB | 支持 | 内存规格;值域与官方不同:2048~32768且为1024整倍数(官方下限128);默认8192;须满足cpu:mem=1:1/1:2/1:4 |
| minFreeDiskMb | 不支持 | 最小空闲磁盘 |
| gatewayID | 扩展(可选) | 网关ID;大写UUID v4,不可带首尾空白;不传则用默认网关 |
| description | 扩展 | 模板描述信息;最长4096个字符 |
| labels | 扩展 | 模板的标签键值对;最多50条;key非空且≤128字节,value≤256字节 |
智能体沙箱对E2B Create Template的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID |
| buildID | 支持 | 默认构建ID |
| public | 支持(占位) | 恒为false |
| names | 支持 | 名称数组(有name时填写) |
| tags | 支持 | 回显请求tags |
| aliases | 支持(占位) | 恒为空数组 |
| gatewayID | 扩展 | 网关ID |
List Templates (v2)
E2B List Templates的标准API定义请见: List Templates
智能体沙箱对E2B List Templates接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| teamID | 不支持 | 团队ID,930版本无teamID,域来自PDP5 |
| nextToken | 支持 | 分页游标,X-Next-Token回填;非法游标返回第一页兜底 |
| limit | 支持 | 每页条数,越界(>100或≤0)归100,上限100(与E2B一致) |
智能体沙箱对E2B List Templates的返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID |
| buildID | 支持 | 构建ID |
| cpuCount / memoryMB / diskSizeMB | 支持 | CPU/内存/磁盘规格,diskSizeMB恒为30720 |
| public | 支持(占位) | 恒为false |
| createdAt / updatedAt | 支持 | 创建/更新时间 |
| spawnCount | 支持 | 模板使用次数 |
| buildCount | 暂不支持(占位) | 模板构建次数,恒返回0 |
| envdVersion | 支持(占位) | 恒为"0.1.0" |
| buildStatus | 支持 | 构建状态 |
| aliases | 暂不支持(占位) | 恒为空数组 |
| names | 支持 | 模板名称数组 |
| createdBy | 支持 | 创建者,包含id和email,email恒空(E2B已废弃) |
| lastSpawnedAt | 支持 | 模板上次使用时间 |
| gatewayID | 扩展 | 网关实例ID |
| description | 扩展 | 模板的描述信息 |
| labels | 扩展 | 模板的标签键值对 |
Get Template
E2B Get Template的标准API定义请见: Get Template
智能体沙箱对E2B Get Template接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID,为空返回400;模板不存在/跨域/已删除返回404 |
| nextToken / limit | 不支持 | 全量返回,不支持分页 |
智能体沙箱对E2B Get Template的返回参数支持情况:
| 字段名 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板 ID |
| public | 支持(占位) | 是否公开,恒 false |
| aliases | 暂不支持(占位) | 模板别名数组,恒空数组 [] |
| names | 支持 | 模板名称数组,string[] |
| createdAt / updatedAt | 支持 | 创建/更新时间 |
| lastSpawnedAt | 支持 | 模板上次使用时间 |
| spawnCount | 支持 | 模板使用次数 |
| builds | 支持 | 模板构建列表 |
| builds[].buildID | 支持 | 快照 ID |
| builds[].status | 支持 | 构建状态 |
| builds[].createdAt | 支持 | 创建时间 |
| builds[].updatedAt | 支持 | 更新时间 |
| builds[].cpuCount | 支持 | CPU 规格 |
| builds[].memoryMB | 支持 | 内存规格 |
| builds[].diskSizeMB | 支持 | 磁盘规格;恒 30720 |
| builds[].envdVersion | 支持(占位) | 沙箱envd版本,恒 "0.1.0" |
| builds[].finishedAt | 暂不支持 | 构建结束时间 |
| gatewayID | 扩展 | 网关实例 ID |
| description | 扩展 | 模板详情 |
| arch | 扩展 | CPU架构 |
Delete Template
E2B Delete Template的标准API定义请见: Delete Template
智能体沙箱对E2B Delete Template接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID,为空返回400;模板不存在/跨域/已删除返回404 |
该API返回204空体,无body内容,与E2B一致。
Start Build (v2)
E2B Start Build的标准API定义请见: Start Build
智能体沙箱对E2B Start Build接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID,必填; |
| buildID | 支持 | 快照ID,必填; |
| fromImage | 支持 | 构建源镜像,必填;E2B官方此字段可选 |
| fromTemplate / fromImageRegistry / force | 不支持 | 官方模板派生构建参数 |
| steps | 部分支持 | 现版本仅支持steps.type为USER和steps.args,steps.filesHash和steps.force暂不支持;steps总条数不超过3条 |
| startCmd / readyCmd | 支持 | 启动命令/就绪探测命令;≤4096字节; |
| firstInvokeCmd / networkConfiguration / invoke / agencies / livenessProbe / observability / sessionStorageConfig / storageConfig | 扩展 | AgentSphere扩展的构建配置参数,包括首次调用命令、网络配置(public/private)、沙箱服务调用入口(协议+端口,默认http+49983)、运行时委托、存活探针、可观测性配置、会话存储、存储挂载(OBS+SFS Turbo)等;带SFS Turbo挂载时networkMode必为private;private时targetProjectId/vpcId/subnetId必填 |
该API返回202空对象{},无法从响应中获取buildID,后续查询构建状态请使用Get Build Status接口。
Get Build Status
E2B Get Build Status的标准API定义请见: Get Build Status
智能体沙箱对E2B Get Build Status接口的请求(request)参数支持情况如下:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| templateID | 支持 | 模板ID,必填 |
| buildID | 支持 | 快照ID,必填 |
返回参数支持情况:
| 参数 | 支持情况 | 描述 |
|---|---|---|
| logs | 不支持(占位) | 官方已弃用,返回空[] |
| logEntries | 支持 | 构建日志条目,包含timestamp/message/level/step |
| templateID | 支持 | 模板 ID |
| buildID | 支持 | 构建 ID |
| status | 支持 | 模板构建状态,取值为building/ready/error/waiting |
| reason.message | 支持 | 构建失败原因 |
智能体沙箱构建快照日志项(logEntries):
| 参数 | 支持情况 | 描述 |
|---|---|---|
| timestamp | 支持 | 时间戳 |
| message | 支持 | 日志信息 |
| level | 支持 | 日志登记,如info、warn、error |
| step | 暂不支持 | 构建步骤 |
Get Build Logs
E2B Get Build Logs的标准API定义请见: Get Build Logs
智能体沙箱对E2B Get Build Logs接口的请求(request)参数支持情况如下:
该接口的请求参数(templateID/buildID必填,cursor/limit/direction/level/source均不支持)和响应参数(logs恒返回空数组)。
数据面API兼容范围
智能体沙箱采用直接重用E2B社区版本的Envd的方式来支持E2B数据面请求,所以原则上天然兼容E2B数据面API:
- Envd API: API定义请见E2B API参考手册中的Envd相关API。
- Filesystem API:API定义请见E2B API参考手册中的Filesystem相关API。
- Process API:API定义请见E2B API参考手册中的Process相关API。
但在实际实现中,由于E2B本身的数据面API和SDK一直在演进,社区的API改动可能会影响智能体沙箱数据面API和SDK的兼容性。
数据面API接口鉴权的兼容性要求
智能体沙箱支持E2B数据面原生接口,可使用E2B原生接口的数据结构,但需要注意在调用E2B数据面API鉴权时,必须添加固定Header:E2b-Traffic-Access-Token,取值为Create Sandbox接口返回的trafficAccessToken。
sandboxID和port传递的兼容性要求
E2B之前通过域名来携带sandboxID和port ,URL为https://{port}-{sandboxID}.e2b.app。而最新版本修改URL为https://sandbox.e2b.app/xxx,通过两个HTTP Header(E2b-Sandbox-Id和E2b-Sandbox-Port)来传递sandboxID和port。
智能体沙箱只支持新版本的E2B数据面API,即通过HTTP Header来传递sandboxID和port,不支持使用旧URL(格式为https://{port}-{sandboxID}.e2b.app)的数据面API。
E2B_SANDBOX_URL环境变量的兼容性要求
在使用智能体沙箱时, 您需要通过如下三个环境变量分别设置管理面地址,数据面地址和API Key:
export E2B_API_URL = "https://agentsandbox.<region>.myhuaweicloud.com" export E2B_SANDBOX_URL = "https://<your-sandbox-url>.huaweicloud-agentnetwork.com" export E2B_API_KEY = "<your_api_key>"
在通过E2B API和SDK使用智能体沙箱时需要注意使用经过验证的E2B API和SDK版本(e2b==2.42.0、e2b-code-interpreter==2.9.1)。