Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,6 @@ The OpenAI Agents API, open source and self-hosted. Run Codex, Claude Code or Mi
- **Compute that sleeps, workspaces that stay.** On microsandbox, which keeps every workspace on independent storage, idle sandboxes release compute and resume on a compatible node with their files intact. E2B pauses idle sandboxes in place. Docker and your own Linux, macOS or Windows machine also run Sessions. See [Sandbox Provider protocol](https://openagentcore.dev/docs/sandbox-provider).
- **Replaceable parts.** Sandbox Providers, workspace filesystems, Harnesses and model providers plug in through [defined protocols](AGENTS.md#protocols-at-every-boundary).

## Performance

The sandbox lifecycle on one microsandbox node, with E2B's create, pause and resume for comparison. Medians of 7 to 30 samples on 2026-10-25; each row links to its method and raw records, and [`scripts/benchmark.py`](scripts/benchmark.py) reproduces them.

| Operation | OpenAgentCore on microsandbox | E2B | Records |
| --- | --- | --- | --- |
| [Create a sandbox](https://openagentcore.dev/docs/performance#sandbox-start) | 1.22 s | 0.63 s | [core](docs/performance/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [Sandbox created → initialization starts](https://openagentcore.dev/docs/performance#sandbox-start) | 0.98 s | — | [core](docs/performance/core.jsonl) |
| [Environment ready, preparation cache hit / miss](https://openagentcore.dev/docs/performance#environment-ready) | 2.50 s / 7.35 s | — | [sessions](docs/performance/sessions.jsonl) |
| [Environment ready on a full node](https://openagentcore.dev/docs/performance#environment-ready) | 5.90 s | — | [sessions](docs/performance/sessions.jsonl), [core](docs/performance/core.jsonl) |
| [Suspend an idle sandbox](https://openagentcore.dev/docs/performance#suspend-and-resume) | 3.33 s | 1.04 s | [core](docs/performance/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [Resume it; after dropping the node's page cache](https://openagentcore.dev/docs/performance#suspend-and-resume) | 1.75 s / 1.99 s | 0.64 s | [core](docs/performance/core.jsonl), [cold](docs/performance/cold/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [First text of a Turn, suspended / running Session](https://openagentcore.dev/docs/performance#suspend-and-resume) | 3.51 s / 1.26 s | — | [sessions](docs/performance/sessions.jsonl) |

E2B times are SDK calls on the client, each with at least one 0.20 s API round trip; a resume makes two calls. OpenAgentCore's sandbox times are Core's own, over a 0.2 ms local network; Environment ready and first text are timed by an application on the Core host from its event stream, which Core sends in 100 ms steps. [Setup](https://openagentcore.dev/docs/performance#setup) lists the hosts and versions, and [E2B](https://openagentcore.dev/docs/performance#e2b) how the two sides differ.

## Limits

- **Docker is a compatibility backend**, for trusted workloads and hosts without KVM. Containers share the node's kernel, idle sandboxes never suspend, and files stay on the node's disk. See [Choose a sandbox backend](https://openagentcore.dev/docs/getting-started/sandbox-backends).
- **One writer per workspace.** A workspace is attached to one sandbox at a time, and storage keeps only its current files: no file history or forks. See [Workspace filesystem protocol](https://openagentcore.dev/docs/workspace-provider).
- **Workspace storage needs Linux.** The NFS adapter uses a kernel NFS mount on the Core host and on every node. See [Set up workspace storage](https://openagentcore.dev/docs/getting-started/workspace-storage).
- **Suspend is slower than E2B's pause**: 3.33 s against 1.04 s. A Session that starts on a node already running its maximum number of sandboxes waits for an idle one to suspend, as *Environment ready on a full node* above shows. See [Suspension](https://openagentcore.dev/docs/sandbox-provider#suspension).

![Deployment overview](docs/assets/console-overview-en.webp)

## Quickstart
Expand Down
23 changes: 0 additions & 23 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,6 @@
- **计算会休眠,工作区会保留。** 在 microsandbox 上(每个工作区都保存在独立存储中),空闲沙箱释放计算资源,并在兼容节点上带着文件恢复。E2B 会就地暂停空闲沙箱。Docker 以及你自己的 Linux、macOS 或 Windows 机器同样可以运行 Session。详见[沙箱提供商协议](https://openagentcore.dev/zh/docs/sandbox-provider)。
- **部件可替换。** 沙箱提供商、工作区文件系统、Harness 和模型提供商都通过[既定协议](AGENTS.md#protocols-at-every-boundary)接入。

## 性能

单个 microsandbox 节点上的沙箱生命周期,并以 E2B 的创建、暂停和恢复作为对照。2026-10-25 测得,每项为 7 到 30 个样本的中位数;每一行都链接到测量方法和原始记录,[`scripts/benchmark.py`](scripts/benchmark.py) 可以复现这些数据。

| 操作 | OpenAgentCore(microsandbox) | E2B | 原始记录 |
| --- | --- | --- | --- |
| [创建沙箱](https://openagentcore.dev/zh/docs/performance#sandbox-start) | 1.22 s | 0.63 s | [core](docs/performance/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [沙箱创建完成 → 开始初始化](https://openagentcore.dev/zh/docs/performance#sandbox-start) | 0.98 s | — | [core](docs/performance/core.jsonl) |
| [Environment 就绪,准备缓存命中 / 未命中](https://openagentcore.dev/zh/docs/performance#environment-ready) | 2.50 s / 7.35 s | — | [sessions](docs/performance/sessions.jsonl) |
| [满载节点上 Environment 就绪](https://openagentcore.dev/zh/docs/performance#environment-ready) | 5.90 s | — | [sessions](docs/performance/sessions.jsonl), [core](docs/performance/core.jsonl) |
| [挂起空闲沙箱](https://openagentcore.dev/zh/docs/performance#suspend-and-resume) | 3.33 s | 1.04 s | [core](docs/performance/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [恢复沙箱;清空节点页缓存后恢复](https://openagentcore.dev/zh/docs/performance#suspend-and-resume) | 1.75 s / 1.99 s | 0.64 s | [core](docs/performance/core.jsonl), [cold](docs/performance/cold/core.jsonl), [e2b](docs/performance/e2b.jsonl) |
| [Turn 的首个文本,已挂起 / 运行中的 Session](https://openagentcore.dev/zh/docs/performance#suspend-and-resume) | 3.51 s / 1.26 s | — | [sessions](docs/performance/sessions.jsonl) |

E2B 时间为客户端上 SDK 调用的耗时,每次调用至少含一次 0.20 s 的 API 往返;恢复包含两次调用。OpenAgentCore 的沙箱时间由 Core 自己测量,经过 0.2 ms 的本地网络;Environment 就绪和首个文本由 Core 主机上的应用根据事件流计时,Core 以 100 ms 为间隔推送事件流。主机和版本见[测试环境](https://openagentcore.dev/zh/docs/performance#setup),两边的差异见 [E2B](https://openagentcore.dev/zh/docs/performance#e2b)。

## 适用边界

- **Docker 是兼容选项**,用于可信负载和没有 KVM 的主机。容器共享节点内核,空闲沙箱不会挂起,文件保存在节点磁盘上。详见[选择沙箱提供商](https://openagentcore.dev/zh/docs/getting-started/sandbox-backends)。
- **每个工作区只有一个写入者。** 工作区同一时间只挂载到一个沙箱,存储只保留当前文件,没有文件历史或分叉。详见[工作区文件系统协议](https://openagentcore.dev/zh/docs/workspace-provider)。
- **工作区存储需要 Linux。** NFS 适配器使用 Core 主机和每个节点上的内核 NFS 挂载。详见[设置工作区存储](https://openagentcore.dev/zh/docs/getting-started/workspace-storage)。
- **挂起比 E2B 的暂停慢**:3.33 s 对 1.04 s。节点运行的沙箱已达上限时,新 Session 要等一个空闲沙箱挂起,见上表的“满载节点上 Environment 就绪”。详见[暂停](https://openagentcore.dev/zh/docs/sandbox-provider#suspension)。

![部署概览](docs/assets/console-overview-zh.webp)

## 快速开始
Expand Down
Loading