description: "E2B 文件与命令工作的共享远程 Linux 沙箱:配置、生命周期,以及启动与关闭时会发生什么。"
English | 中文
dsh-e2b 让 agent(智能体)的文件操作、shell 命令与终端在一个共享的远程 Linux 沙箱内运行,而不是在你的机器上。应用启动时会创建沙箱,并在配置的生命周期到期或应用关闭时删除它,因此其中保存的一切都是短暂的。请配置 API 密钥、绝对远程工作目录与沙箱生命周期。请与 dsh-fs-e2b、dsh-subprocess-e2b 一起使用;单独使用它不会带来任何用户可见的能力。它不会向模型发送任何内容,而且任何已发布的组合都不会默认启用 E2B。
当你希望 agent 的文件操作与命令执行在远程 Linux 沙箱而非你的机器上进行时,使用本包。它是 E2B 家族的基础:挂载文件系统与子进程包之后,所有这些工作都会共享同一个远程工作目录与进程环境。
当工作应与宿主机器隔离时——例如你希望 agent 的文件编辑与命令运行发生在某个可丢弃的环境中——选择 E2B 家族。当在宿主上运行没有问题的时候,选择本地的文件系统与子进程包。本包对模型不可见,也不增加任何请求成本。
三个设置很重要:API 密钥(或 E2B_API_KEY 环境变量)、绝对远程工作目录与沙箱生命周期。密钥错误、相对工作目录或无效生命周期都会在任何远程工作开始前拒绝启动。
- name: '@deepseek-ai/dsh-e2b'
config:
apiKey: <E2B API key>
cwd: /home/user/workspace
timeoutMs: 300000
- name: '@deepseek-ai/dsh-subprocess-e2b'
- name: '@deepseek-ai/dsh-fs-e2b'
| 字段 | 默认值 | 含义 |
|---|---|---|
apiKey |
E2B_API_KEY |
宿主 SDK 连接的 API 密钥;绝不会安装进沙箱 |
cwd |
/home/user/workspace |
家族共享的远程工作目录;必须是绝对 POSIX 路径 |
timeoutMs |
300,000 |
沙箱生命周期(毫秒);到期后沙箱被删除 |
生成的配置目录完整列出了每个受支持字段及其 JSDoc,是这些信息的真源。
挂载本包后,文件读写、shell 命令与终端都会在沙箱的工作目录内运行,因此 agent 看到的是一个一致的远程世界:它用文件功能写入的内容,正是它的命令能够读取的内容,反之亦然。远程工作目录若不存在,会自动创建。
加载插件会在后台启动沙箱;文件系统与子进程功能在其就绪后即可使用。沙箱存活时间为配置的生命周期(默认五分钟),除非应用先停止——两种情况下沙箱都会被删除,因此请在此之前保存你仍需要的内容。如果运行期间沙箱消失(到期或被别处删除),家族会将其视为正常终止,而不是错误。
当包级约定不够用时阅读以下页面。它们从家族组合逐步进入子进程 seam 表面,以及远程执行世界背后的决策证据。
ctx.e2b。ctx.fs 与 ctx.subprocess,以及留在宿主中的内容。无。本共享远程运行时所有者不注册任何模型上下文;提供方适配器与消费方拥有所有渲染效果。
不会直接失效:所有者不贡献任何请求 token,也从不改变请求前缀,因此提供方缓存复用不受影响。
这些限制说明 E2B 家族何时不合适,或何时需要特别的运维注意。它们是当前包约束,不是任务积压。
cwd 是解析约定,而不是包含边界:适配器与命令可以访问沙箱中的其他路径;E2B 网络访问也继续采用基础镜像的策略。