ACS Sandbox

更新时间:
复制 MD 格式

ACS Sandbox 连接用于为 Agent 提供隔离的代码执行和文件处理环境。连接建立后,Agent 可以通过注入的环境变量访问沙箱服务。

适用场景

  • Agent 需要执行用户提交的代码片段。

  • Agent 需要在隔离环境中处理文件、运行脚本或安装临时依赖。

  • 您希望把高风险执行任务与 Agent 主进程隔离。

前提条件

  • 已有可用的 ACS Sandbox 集群。

  • 集群中已准备需要使用的沙箱模板。

  • 当前账号具备读取集群和沙箱配置的权限。

创建并绑定连接

可选择 新建资源已有资源新建资源 会自动创建 ACS Sandbox 资源并与沙箱连接;已有资源 需要选择或填写已有 ACS Sandbox 集群、地域和模板信息后创建连接。

  1. 进入 Agent部署 页面。

  2. 选择 沙箱 页签。

  3. 点击 创建沙箱连接

  4. 按页面提示选择或填写 ACS Sandbox 集群、地域和模板信息。

  5. 创建完成后,进入 Agent 实例详情页。

  6. 打开 Agent 管理 > Agent 连接,选择 沙箱

  7. 绑定时按页面提示选择沙箱模板名称。

  8. 确认绑定并验证沙箱调用。

注入变量

变量

说明

E2B_DOMAIN

沙箱 API 域名。

E2B_API_KEY

沙箱 API 密钥。

TLS_CERT

沙箱 TLS 证书内容。

TEMPLATE_NAME

绑定时选择的沙箱模板名称。

代码读取示例

import os

e2b_domain = os.getenv("E2B_DOMAIN")
e2b_api_key = os.getenv("E2B_API_KEY")
template_name = os.getenv("TEMPLATE_NAME", "code-interpreter")

代码开发接入

若通过代码创建 Agent,可以使用 computenest-agent-integrations 最新版对接 ACS Sandbox。该版本提供 E2bCodeInterpreterToolset,可以基于平台注入的沙箱环境变量创建 Google ADK 可使用的代码执行工具。

安装依赖:

pip install -U "computenest-agent-integrations[e2b]"

参考格式:

import os
from computenest.integrations.adk import E2bCodeInterpreterToolset
from google.adk.agents import LlmAgent

toolset = E2bCodeInterpreterToolset(
    template=os.getenv("TEMPLATE_NAME", "code-interpreter"),
)
sandbox_tools = toolset.get_tools()

root_agent = LlmAgent(
    name="sandbox_agent",
    model=model,
    instruction="你可以在沙箱中执行代码和处理文件。",
    tools=sandbox_tools,
)

E2bCodeInterpreterToolset 会基于 E2B_API_KEYE2B_DOMAIN 和模板名称连接沙箱。请确认 Agent 已绑定 ACS Sandbox 连接,并且运行环境中已注入 E2B_DOMAINE2B_API_KEYTLS_CERTTEMPLATE_NAME

安全建议

  • 为沙箱执行设置超时时间和资源限制。

  • 不要把用户敏感数据写入沙箱日志。

  • 对用户输入的代码、命令和文件操作保持隔离执行。

常见问题

绑定时找不到集群

确认选择的地域正确,集群处于运行中,并且当前账号具备查看集群的权限。

沙箱调用失败

检查 E2B_DOMAINE2B_API_KEYTLS_CERTTEMPLATE_NAME 是否已注入,并确认沙箱模板可用。