E2B无缝迁移AgentENV用官方Python/TypeScript SDK零改动接入沙箱【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENVAgentENV (AENV) 是一个自托管的分布式 Agent 沙箱平台内置E2B 兼容 API——这意味着你已有的 E2B 应用几乎不用改动只需把 3 个环境变量指向 AgentENV 服务器官方 Python SDKpip install e2b和 TypeScript SDKnpm install e2b就能原样运行创建沙箱、执行命令、挂卷、暂停与销毁全部可用。为什么把 E2B 应用迁到 AgentENV 用 E2B 写过的 Agent 应用代码解释器、自动编码 Agent、工具调用场景迁到 AgentENV核心动机通常有三点自托管沙箱跑在自己的机器/集群上数据不出内网还能按机器成本横向扩展性能更强基于 Firecracker microVM 做内核级隔离快照环境可在50 ms 内启动、100 ms 内暂停空闲环境随时释放资源镜像按需加载overlaybd ublk 分层块设备让镜像按需拉取本地磁盘当有界缓存镜像可以比本地磁盘还大。更多架构细节见 docs/src/getting-started/overview.md。迁移第一步设置 3 个环境变量最快配置方法E2B SDK 通过环境变量决定连到哪台服务器。切到 AgentENV 只需三行# 单节点部署示例 export E2B_API_URLhttp://127.0.0.1:8000 export E2B_SANDBOX_URL${E2B_API_URL} export E2B_API_KEY${AENV_API_KEY}各变量含义完整说明见 docs/src/configuration/env-vars.md变量作用E2B_API_URLAgentENV 服务器的 API 地址E2B_SANDBOX_URL沙箱数据面代理地址WebSocket、进程交互E2B_API_KEY填部署中的AENV_API_KEY服务器首次启动自动生成 Docker Compose / Kubernetes 多节点部署时把E2B_API_URL换成网关地址http://127.0.0.1:8080即可。如果你的 AgentENV 还没部署先按 docs/src/getting-started/quickstart.md 装好服务器原生安装脚本或 Docker 均可再用aenv auth配置密钥。Python SDK 零改动接入创建沙箱、执行命令安装官方 SDKpip install e2b之后你现有的 E2B Python 代码保持不动典型用法from e2b import Sandbox, SandboxQuery, SandboxState # 从模板创建沙箱 sandbox Sandbox.create(template-id) # 列出运行中的沙箱 running Sandbox.list( limit20, querySandboxQuery(state[SandboxState.RUNNING]), ) # 在沙箱里执行命令 result sandbox.commands.run(echo hello world) print(result.stdout, end) # 暂停 / 销毁 sandbox.beta_pause() sandbox.kill()几个关键点template-id换成你本地模板库里真实存在的模板 ID用e2b template list或GET /v2/templates查询暂停后 AgentENV 会做内存 磁盘快照再次恢复时接近秒级冷启动官方仓库内置了完整的 Python SDK 兼容性测试脚本可直接参考或跑回归scripts/tests/e2e/e2b_python_sdk_compat.py。TypeScript SDK 零改动接入一行创建沙箱npm install e2bimport { Sandbox } from e2b; const sandbox await Sandbox.create(template-id, { apiKey: process.env.E2B_API_KEY, }); // 执行命令 sandbox.commands.run(echo hello world); // 暂停 await Sandbox.Pause(sandbox.sandboxId, { apiKey: process.env.E2B_API_KEY, }); // 销毁 await sandbox.kill();对应的兼容性验证脚本在 scripts/tests/e2e/e2b_ts_sdk_compat.ts覆盖了模板构建、沙箱生命周期、命令执行等场景。进阶用法给沙箱挂载持久卷 TypeScript SDK 可以在创建沙箱时直接创建并挂载 Volumeimport { Sandbox, Volume } from e2b; const volume await Volume.create(workspace-volume, { apiKey: process.env.E2B_API_KEY, }); const sandbox await Sandbox.create(template-id, { apiKey: process.env.E2B_API_KEY, volumeMounts: { /workspace: volume }, });Python 侧则先用aenv volume create或POST /volumes建卷再按名字挂载sandbox Sandbox.create( template-id, volume_mounts{/workspace: workspace-volume}, )注意AgentENV 支持 Volume 的创建、列表、删除及通过沙箱访问已挂载文件系统但不支持 E2B SDK 的直接卷内容 API。迁移清单与常见问题排查 ✅步骤操作结果1部署 AgentENV 服务器curl http://127.0.0.1:8000/health返回正常2导出 3 个E2B_*环境变量SDK 指向 AgentENV3准备模板如aenv pull ubuntu:22.04有可创建沙箱的 template-id4原样运行现有 E2B 代码创建沙箱 → 跑命令 → 暂停/销毁踩坑速查鉴权失败确认E2B_API_KEY与服务器生成的api-key一致原生安装位于/var/lib/aenv/secrets/api-key私有应用路由 401AgentENV 在关闭公网流量时会返回trafficAccessToken私有应用路由要用e2b-traffic-access-token头而X-Access-Token只给 envd 控制流量用WebSocket/进程交互连不通检查E2B_SANDBOX_URL是否指向了沙箱代理地址多节点部署指向网关。总结从 E2B 迁移到 AgentENV 的实际工作量约等于改 3 个环境变量官方 Python / TypeScript SDK 代码零改动模板、命令执行、卷挂载、暂停恢复全部可用同时获得自托管、microVM 隔离和毫秒级快照带来的成本与性能收益。完整集成文档见 docs/src/integration/e2b.mdCLI 工作流参考 docs/src/getting-started/aenv-cli/index.md。【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
