PPIO Agent沙箱:兼容E2B接口,更高性价比
今年,Agent应用爆发式增长,AI从被动应答升级为主动执行复杂任务的智能体,开始渗透进用户工作生活。
然而,新一代Agent需安全、高弹性的运行环境支撑动态工具调用与代码执行,传统本地部署或虚拟机启动缓慢、资源占用高,无法适应Agent高频次、短时任务场景。
2023 年,E2B 推出专为 Agent 设计的沙箱 ,将 Firecracker 作为底层技术,并集成到 LangChain 框架,成为构建Agent的基础设施。但是,E2B Agent沙箱使用成本较高,且在国内无法使用,始终制约着国内Agent生态的发展。
为助力Agent生态建设,PPIO推出国内首款兼容E2B接口的Agent沙箱,相较海外方案可降低50%以上运营成本。且启动延时小于200ms,支持万级并发场景,成为兼具经济性与高性能的国产化Agent开发基础设施。
现在,你可以将E2B Desktop 接入 PPIO Agent 沙箱,采用更高性价比的方案构建 Computer Use Agent ,以下为完整教程。
PPIO Agent 沙箱 × E2B Desktop 配置教程
第一步:获取 API key
1. 获取 API 密钥
注册登录PPIO官网,填写邀请码【MLDYQ1】得 15元代金券。
打开 API 密钥管理页面,点击创建按钮,输入自定义密钥名称,生成API密钥。
2. 生成并保存 API 密钥
!!注意:秘钥在服务端是加密存储,请在生成时保存好秘钥;若遗失可以在控制台上删除并创建一个新的秘钥。
第二步:安装并运行E2B Desktop
1. 配置环境变量
在开始使用之前,您需要配置必要的环境变量:
JavaScript
export E2B_DOMAIN=sandbox.ppio.cn
export E2B_API_KEY=<您在上一步获取的 API 密钥>
运行示例:
2. 安装 SDK
根据您使用的编程语言,选择相应的安装方式:
JavaScript
npm install @e2b/desktop
Python
pip install e2b-desktop
运行示例:
3. 示例代码
获取虚拟桌面流 VNC 地址
通过以下代码,您可以创建一个虚拟桌面实例并获取 VNC 访问地址:
JavaScript
import { Sandbox } from '@e2b/desktop'// 创建虚拟桌面实例
const desktop = await Sandbox.create()// 启动桌面流
await desktop.stream.start()// 获取可交互的 VNC 访问地址
const url = desktop.stream.getUrl()
console.log(url)
// 输出示例:
// 可以通过浏览器打开下面的链接,与虚拟桌面进行交互。您也可以将这个地址集成到应用中。
// https://6080-imy3gjw1i6tjpwysk2e5t-1e67fa95.sandbox.ppio.cn/vnc.html?autoconnect=true&resize=scale// 获取只读模式的 VNC 访问地址(禁用用户交互)。
const urlDisabledInteraction = desktop.stream.getUrl({ viewOnly: true })
console.log(urlDisabledInteraction)
// 输出示例:
// 可以通过浏览器打开下面的链接,查看虚拟桌面(只读模式)。您也可以将这个地址集成到应用中。
// https://6080-imy3gjw1i6tjpwysk2e5t-1e67fa95.sandbox.ppio.cn/vnc.html?autoconnect=true&view_only=true&resize=scale// 清理资源
// await desktop.stream.stop() // 停止流
// await desktop.kill() // 销毁沙箱
Python
# 创建虚拟桌面实例
desktop = Sandbox()# 启动桌面流
desktop.stream.start()# 获取可交互的 VNC 访问地址
url = desktop.stream.get_url()
print(url)
# 输出示例:
# 可以通过浏览器打开下面的链接,与虚拟桌面进行交互。您也可以将这个地址集成到应用中。
# https://6080-igocd05ju4yp564wxbgz0-66280ac2.sandbox.ppio.cn/vnc.html?autoconnect=true&resize=scale# 获取只读模式的 VNC 访问地址(禁用用户交互)
url_readonly = desktop.stream.get_url(view_only=True)
print(url_readonly)
# 输出示例:
# 可以通过浏览器打开下面的链接,查看虚拟桌面(只读模式)。您也可以将这个地址集成到应用中。
# https://6080-igocd05ju4yp564wxbgz0-66280ac2.sandbox.ppio.cn/vnc.html?autoconnect=true&view_only=true&resize=scale# 等待用户按下 Ctrl+C 来停止程序
try:print("桌面流已启动,按 Ctrl+C 停止程序...")import timewhile True:time.sleep(0.1)
except KeyboardInterrupt:print("\n程序被中断,正在清理资源...")# 清理资源
desktop.stream.stop() # 停止流
desktop.kill() # 销毁沙箱
运行示例:
访问虚拟桌面流 VNC 地址: