为什么
最近solo by ai的概念日趋火热,trae的大获成功,以及各个厂商都在推出自己的沙盒服务。是时候设计一个简单的系统来试试水了。
简单架构
大模型作为大脑下达命令,我会写一个程序用于大模型调用agent,命名为 center-header agent执行的上下文将由center协调,center会根据大模型的指令,调用不同的agent执行不同的任务。这分两种,分别是云端的cloud-body和本地的local-body(客户端)。
开整
这一期我们只实现云端的部分,首先我需要实现这部分
- e2b沙盒连接和使用
- 云端大模型和后端
- 前端代码展示及交互
一. e2b沙盒连接和使用
TIP如果后续想完全私有化的话,可以参考开源e2b方案的实现,但是这是后面的事情了
- 配置使用E2B沙盒 首先登录到e2b官网https://e2b.dev/ 使用谷歌/github账号登录后,会看到一个沙盒列表,每个沙盒都有一个唯一的id。

点击团队下的账户设置可以看到我们的访问令牌

- 编写云端后端代码连接沙盒 首先我们需要看下E2B文档https://e2b.dev/docs/quickstart 然后根据文档的介绍,我们可以看到,连接沙盒的代码非常简单,只需要几行代码即可。
TIP这部分可以自由实现,我是使用Bun、TypeScript、Node来实现的。
使用TypeScript实现
// 安装依赖
npm i @e2b/code-interpreter dotenv
沙盒启动
// 启动沙盒
// index.ts
import 'dotenv/config'
import { Sandbox } from '@e2b/code-interpreter'
const sbx = await Sandbox.create() /
const execution = await sbx.runCode('print("hello world")')
console.log(execution.logs)
const files = await sbx.files.list('/')
console.log(files)
执行代码
// 执行代码
// npx tsx ./index.ts
bun run ./index.ts
二. 云端大模型\后端\前端 详细设计
核心功能
1 功能模块
- 主控制台 (Console):包含左右分栏布局。左侧为VNC桌面流媒体显示区域,右侧为Agent对话控制台。
- Agent交互模块:用户输入指令,后台大模型结合屏幕截图进行推理,并调用E2B Desktop SDK执行相应的鼠标/键盘操作。
2. 核心流程
用户在聊天框输入指令 -> 后端创建/获取E2B Desktop沙盒 -> 获取沙盒屏幕截图并发送给大模型 (如Claude/OpenAI) -> 大模型返回具体的UI交互动作 (坐标点击、键盘输入等) -> 后端通过E2B SDK执行动作 -> 循环直至任务完成。
graph TD
A["用户输入指令"] --> B["前端发送请求到后端 API"]
B --> C{"沙盒是否已创建?"}
C -- 否 --> D["调用 @e2b/desktop 创建 Sandbox"]
D --> E["启动 VNC Stream 并返回 Stream URL 给前端"]
C -- 是 --> F["获取当前沙盒状态"]
E --> F
F --> G["循环: Agent获取屏幕截图"]
G --> H["大模型(LLM)分析截图并决策动作"]
H --> I{"任务是否完成?"}
I -- 是 --> J["返回最终结果给用户"]
I -- 否 --> K["执行具体动作(点击/输入等)"]
K --> G
实现及优化
效果展示

简单的实现大概就是这些。下一期我将带你实现指令操作沙盒,agent设计及协调,最终实现类似trae的solo功能。敬请期待
