代码执行器
使用安全的沙箱执行或高性能的本地执行来运行代码片段。执行器类型
内置代码执行器(沙箱模式)
在隔离的E2B容器中安全执行,支持完整功能集。非安全本地代码执行器
在本地系统直接执行,功能集完全相同。通用功能
两种执行器支持相同功能:| 功能 | 内置(沙箱) | 非安全本地 |
|---|---|---|
| 安全性 | ✅ 隔离环境 | ⚠️ 完全系统访问 |
| 性能 | 存在网络开销 | ✅ 最高速度 |
| 上下文持久化 | ✅ 支持 | ✅ 支持 |
| 实时输出 | ✅ onStdout/onStderr | ✅ onStdout/onStderr |
| 环境变量 | ✅ envs | ✅ envs |
| 超时控制 | ✅ timeoutMs | ✅ timeoutMs |
| 多语言支持 | ✅ Python/JS/TS/Java/R/Bash | ✅ Python/JS/TS/Bash |
基础用法
高级功能
持久化上下文
两种执行器均支持跨执行保留变量:实时输出流
环境变量配置
超时设置
安装指南
内置执行器配置
本地执行器准备
确保已安装解释器:API参考
通用接口
构造函数签名
执行结果
语言支持
| 语言 | 内置支持 | 本地支持 | 备注 |
|---|---|---|---|
| Python | ✅ | ✅ | 完整支持 |
| JavaScript | ✅ | ✅ | 完整支持 |
| TypeScript | ✅ | ✅ | 完整支持 |
| Bash | ✅ | ✅ | 完整支持 |
| Java | ✅ | ❌ | 仅限沙箱 |
| R | ✅ | ❌ | 仅限沙箱 |
环境变量选择
错误处理
安全考量
内置执行器
- ✅ 可安全执行不可信代码
- ✅ 网络隔离
- ✅ 文件系统限制
- ✅ 资源限制
本地执行器
- ⚠️ 完全系统访问权限
- ⚠️ 可修改文件
- ⚠️ 可发起网络请求
- ⚠️ 可执行系统命令
- 对不可信代码使用内置执行器
- 本地执行前验证输入
- 尽可能在受限环境中运行
- 监控资源使用情况
性能优化
内置执行器
- 复用沙箱实例
- 批量执行操作
- 使用连接池
本地执行器
- 利用持久化上下文
- 对长时操作使用实时回调
- 优化解释器启动时间
清理操作
故障排查
内置执行器
- 沙箱创建失败:检查AG_KIT_SANDBOX_API_KEY
- 网络超时:增加超时时间或检查网络连接
本地执行器
- 解释器未找到:安装所需解释器
- 权限拒绝:检查文件/目录权限
- 上下文丢失:会话可能已终止,需重启执行器