# @agentproto/sandbox-e2b 中文文档

规范地址：https://npmcn.com/package/%40agentproto/sandbox-e2b/

版本：0\.11\.2
npm 元数据更新时间：2026-11-05T17:47:18.136Z
中文译文更新时间：2026-11-06T03:31:48.295Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40agentproto/sandbox-e2b
原文对照：https://npmcn.com/package/%40agentproto/sandbox-e2b/?lang=original
项目主页：https://agentproto.sh/docs/aip-36
源码仓库：https://github.com/agentproto/ts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：160 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-07-08T14:51:22.806Z
- 最新版本发布：2026-11-05T17:47:17.779Z
- 近 30 天下载量：5539（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：45（近 12 个月 45 个）

## 中文简介

@ agentproto/ sandbox-e2b — e2b (英语) `SandboxProvider` 用于 @ agentprto/ sandbox 。 脚被钉住 `agentproto-workstation` e2b 模板( baked @ agentproto/cli 1. 31. 0),在其内部启动代理 proto 守护进程,并将其 MCP 端点作为 URL 曝光, 因此任何代理 Sessi 都可用

## 安装

```sh
npm install @agentproto/sandbox-e2b
```

也可以使用：`pnpm add @agentproto/sandbox-e2b`、`yarn add @agentproto/sandbox-e2b`、`bun add @agentproto/sandbox-e2b`

## README

# @ agentproto/ sandbox-e2b 页面存档备份,存于互联网档案馆

页:1 `SandboxProvider` 页:1 `@agentproto/sandbox`。启动预建 `agentproto-workstation` e2b 模板, 在内部启动代理程序守护进程 它,并暴露它的MCP端点作为一个URL——所以 `createSandboxAgentSessionHost` 可以直接交给 `connectDaemonAgentSessionHost` (单位:千美元)`@agentproto/worktree`运行任何 `AgentStep` 沙盒里面,没有变化.

## 使用量

```ts
import { createSandboxAgentSessionHost } from "@agentproto/sandbox"
import { e2bSandboxProvider } from "@agentproto/sandbox-e2b"
import { runWorkflow } from "@agentproto/workflow-runtime"
import { worktreeAgentWorkflow } from "@agentproto/worktree"

const host = await createSandboxAgentSessionHost({
  provider: e2bSandboxProvider,
  spec: { provider: "e2b", config: {} },
  secrets: { slugs: ["OPENROUTER_API_KEY"] },
})
try {
  await runWorkflow({ workflow: worktreeAgentWorkflow, input, agents: host })
} finally {
  await host.stop()
}
```

要求数 `E2B_API_KEY` 在主机进程环境中.

## 大小

选择每个产卵的盒子大小 `config.size`。每个大小都是自己出版的 模板 (`agentproto-workstation-<size>`,在 `templates/workstation/versions.json`:

```ts
agent_start({ sandbox: { provider: "e2b", config: { size: "large" } } })
```

| 大小 | 五氯联苯 | 内存( MB) | e2b别名 | 状态 |
| --- | --- | --- | --- | --- |
| `nano` | 1个 | 第1024号 | `agentproto-workstation-nano` | 已出版 |
| `small` | 2个 | 2048 (英语) | `agentproto-workstation-small` | 已出版 |
| `medium` | 2个 | 4096 (英语) | `agentproto-workstation-medium` | 已出版 |
| `large` (默认) | 页:1 | 8192 (韩语) | `agentproto-workstation-large` | 已出版 |
| `x-large` | 第8条 | 16384 (英语) | `agentproto-workstation-x-large` | **无** e2b拒绝: `400: Memory can't be higher than 8192 MiB (if you need to increase this limit, please contact support)` |
| `xx-large` | 16个 | 32768 (英语) | `agentproto-workstation-xx-large` | **无** e2b拒绝: `400: CPU count can't be higher than 8 (if you need to increase this limit, please contact support)` |

赤裸裸的 `agentproto-workstation` 化名(和 `agentproto-workstation-dev`) 建造于 默认大小, `large` (4 vCPU / 8192 MB) (中文(简体) ).

-   **满 `pnpm build` + 键 `pnpm test` 用于满足代理原生物需求 `large` 或者说 大一点.** 更小的盒子 OOM - 杀死会话中建和工作丢失 拿着盒子.
-   没有 `size` 没有 `template` 赤裸出头 `agentproto-workstation` 模板, 默认大小。 明确 `config.template` 总是赢 结束 `config.size`。 。 。 .
-   未知大小的启动失败 。 标记大小 不可用, 准确错误 e2b 在模板时返回 拒绝(今天:计划封装了8 vCPU / 8192 MB),而不是 开个小盒子.
-   e2b没有GPU沙盒,因此没有GPU大小.

## 建设环境

在4 GiB 交换文件旁边, 它可以在新靴子上, 提供商大小 节点建到框中: pnpm默认每个 vCPU 运行一个软件包构建 每个Tsup DTS工人 都拿Node的默认堆积,所以一个平地 `pnpm build` 死亡 与 `JavaScript heap out of memory` 很久以前,RAM就不见了。 在每一个 它从预设的解决大小中获得预算 `concurrency = max(1, min(cpu, floor(ram MB / 3072)))` 财务报告和审定财务报表 `heap = clamp(floor(ram MB * 0.6 / concurrency), 768, 4096)` (默认) 4 vCPU / 8192 MB 盒 → 2 在2457 MB 堆积地上建起)—— 并把它作为 `NODE_OPTIONS=--max-old-space-size=…`, (中文(简体) ), `npm_config_workspace_concurrency` 财务报告和审定财务报表 `TURBO_CONCURRENCY` 两种方式: 在守护进程启动时,守护进程 它所产的每一个适配者,都会继承它 `/etc/profile.d/agentproto-build.sh`,所以每个登录贝壳命令在框中 (代理的击打工具,任何 `exec`来源也。 明确 `config.template` 没有记录大小,所以盒子在靴子被探测一次 (单位:千美元)`nproc`, (中文(简体) ), `free -m`) (中文(简体) ). 来电者自身的价值总是赢:通过 `NODE_OPTIONS` 与 `--max-old-space-size` 一个没有 得到盒子堆成附件。 以 `config.buildEnv: { concurrency, heapMb }`,或以 `config.buildEnv: false`。 。 。 .

## 从盒子里推开公关

工作站模板会烤出 GitHub CLI(`gh`,钉入 `templates/workstation/versions.json` → `tools.gh`) (中文(简体) ). 当产卵时 工作空间有一个已注册的远程( o)`agentproto workspace remote set <slug> --url <https-url> --token-stdin`),守护进程向盒子中注入此符号 两次: `AGENTPROTO_GIT_TOKEN`,由 git 证书助手读取,作为 `GH_TOKEN`,读取 `gh`。这样,代理可以 `git push` 财务报告和审定财务报表 `gh pr create` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}只要这个标志 **目录: 写入** 财务报告和审定财务报表 **拉开 请求: 写入** 在存储器上 (一个精细的 PAT 范围到那个) repo是合适的形状).

两个名字都保留下来。 它们只是从守护神那里得到的 工作空间自己的钥匙链 并且他们被剥离 任何呼叫者宣布 `env.passthrough`, (中文(简体) ), `env.auth.state.env` 或者说 `join.tokenEnv`因此,一个打电话者可以 既不遮住标志 也不拉守护魔自己的 `GH_TOKEN` 进入一个盒子. 该符号从未出现在命令、 URL 或 argv 中 。 还是个普通的地洞 var 在盒子里,所以代理可以读取它: 范围到一个仓库 并且当工作完成时撤销它.

## 港口接触

每个靴子的沙盒都暴露出一个 `expose(port)` 返回公众的方法 任何移植的沙盒进程的 URL 听取 :

```ts
const host = await createSandboxAgentSessionHost({ provider: e2bSandboxProvider, spec, secrets })
// After booting, expose any app port the sandboxed process is listening on:
const { url } = await host.expose!(3210)
// url → "https://3210-<sandboxId>.e2b.app"
```

要在启动时预览端口, 请声明 `extraPorts` 在谱中。 这个 已返回 `BootedSandbox.ports` 映射(和会话描述器) `sandboxPorts` 字段)即刻被覆盖,因此管弦乐手可以读取URL而无需读取 单独 `expose()` 电话 :

```ts
const host = await createSandboxAgentSessionHost({
  provider: e2bSandboxProvider,
  spec: { provider: "e2b", config: {}, extraPorts: [3210] },
  secrets: { slugs: ["E2B_API_KEY"] },
})
console.log(host.ports) // { 3210: "https://3210-<sandboxId>.e2b.app" }
```

环背捆绑在VM内部足够了——e2b的边缘手柄转发. 见 `SandboxPortExposureUnsupportedError` 内 `@agentproto/sandbox` 错误 呼叫时抛出 `exposePort()` 对于不支持接触的提供者.

## 页:1

-   守护进程本身的来源允许列表默认为 `localhost:*`; 此提供者 打开它供沙盒自己的公共主机(`--allow-origin https://<getHost>`) 这样,主机进程就可以到达它了 `https://<getHost>/mcp`。 。 。 .

-   默认 `agentproto-workstation` 模板在 `templates/workstation/versions.json`数字 : `@agentproto/cli@1.31.0`, (中文(简体) ), `@agentproto/adapter-claude-code@2.6.0`, (中文(简体) ), `@agentproto/adapter-hermes@0.5.7`, (中文(简体) ), `@agentproto/adapter-mastra-agent@0.7.45`, (中文(简体) ), `@agentproto/adapter-openclaw@0.1.39`, (中文(简体) ), `@agentproto/adapter-opencode@1.9.4`, (中文(简体) ), `@anthropic-ai/claude-code@2.1.316`, (中文(简体) ), `opencode-ai@1.19.5`, (中文(简体) ), `gh@2.102.0`启动 `npm i -g` 默认仅在模板录入后跳出 `baked` 块 显示图像已带有请求的接角; 直至 遗留的靴子安装继续.

-   自定义( 非封存的) 模板可以滞后: 提供者运行 `npm i -g @agentproto/cli@<cliVersion>` 在他们身上启动守护进程之前( a)`cliVersion` 默认为 `@latest`把它插进去 `spec.config` 为可复制的靴子。 设定 `updateCliOnBoot: false` 内 `spec.config` 完全跳过安装.

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/package/%40agentproto/sandbox-e2b/LICENSE)。 。 。 .

## 常见问题

### @agentproto/sandbox-e2b 是什么？

@ agentproto/ sandbox-e2b — e2b \(英语\) SandboxProvider 用于 @ agentprto/ sandbox 。 脚被钉住 agentproto-workstation e2b 模板\( baked @ agentproto/cli 1\. 31\. 0\),在其内部启动代理 proto 守护进程,并将其 MCP 端点作为 URL 曝光, 因此任何代理 Sessi 都可用

### 如何安装 @agentproto/sandbox-e2b？

在项目目录运行 npm install @agentproto/sandbox-e2b，或使用 pnpm add / yarn add / bun add。

### @agentproto/sandbox-e2b 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @agentproto/sandbox-e2b 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @agentproto/sandbox-e2b 可以商用吗？

@agentproto/sandbox-e2b 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @agentproto/sandbox-e2b 的下载量有多少？

根据 npm 官方下载统计，@agentproto/sandbox-e2b 在 2026/10/05 – 2026/11/03 这 30 天内被下载 5,539 次，日均约 185 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @agentproto/sandbox-e2b 还在维护吗？

最新版本 0\.11\.2 发布于 2026/11/06（今天）；至今共发布 45 个版本，其中过去 12 个月发布了 45 个；首次发布于 2026/07/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

