E2B Desktop 是一个开源的安全虚拟桌面项目,专为构建 Computer Use Agent 而设计。它提供了一个完全隔离的桌面环境,让您的 AI Agent 能够安全地与桌面应用程序进行交互。
本文档将详细介绍如何基于 PPIO Agent 沙箱服务来运行该项目。
1. 获取 PPIO API 密钥
2. 配置环境变量
在开始使用之前,您需要配置必要的环境变量:
export E2B_DOMAIN=sandbox.ppio.cn
export E2B_API_KEY=<您在上一步获取的 API 密钥>
运行示例:
3. 安装 SDK
根据您使用的编程语言,选择相应的安装方式:
运行示例:
4. 示例代码
获取虚拟桌面流 VNC 地址
通过以下代码,您可以创建一个虚拟桌面实例并获取 VNC 访问地址:
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() // 销毁沙箱
运行示例:
访问虚拟桌面流 VNC 地址:
您可以在这里找到更多示例代码。