模板市场调研(2026-10)
View on GitHub ↗模板市场调研(2026-10)
English summary
Survey date 2026-10-15, deepened the same day. Express base was probed with abx create --template base and then deleted. Verified: non-root user can sudo -n to uid 0, but mount is still denied; no KVM, FUSE, Docker socket, or GPU; 2 vCPU, ~2GB RAM, ~10G disk; Python 3.13.13 and Node 20.20.2; egress works; Xvfb + xdotool + scrot produced a PNG after apt install. Every OpenSandbox example, the E2B cookbook, CubeSandbox examples, and the Daytona/Modal/Vercel/Cloudflare galleries are mapped in the coverage matrix. Candidate templates: see docs/template-backlog.json. Wave 1 is CLI/service wrappers that fit Express. Wave 2 is a useful slice with a stated gap. Wave 3 needs another provider for the actual workload. Do not copy OpenSandbox or E2B Dockerfiles into this repo.
极速版探针
2026-10-15 在极速版模板 base 上实测(沙箱已删除):用户 user uid 1000,sudo -n 可变成 uid 0,但 sudo mount 仍 permission denied;CapBnd/root CapEff = 00000000a80425fb(没有足够的 SYS_ADMIN 去做挂载);无 /dev/kvm、无 /dev/fuse、无 /dev/dri、无 docker、无 docker.sock;2 vCPU,MemTotal 2143808 kB,rootfs 9.9G 可用约 9.3G;Debian 13,Python 3.13.13,Node v20.20.2,npm 10.8.2,git 2.47.3,gcc 与 make 在,没有 go/rust/java/ffmpeg/tesseract/pandoc/psql/Xvfb;/dev/shm 64M;出网访问 pypi.org 与 github.com 返回 HTTP 200;用户可以 bind 0.0.0.0:18080;sudo apt-get install xvfb xdotool scrot openbox 成功,Xvfb :99 + xdotool + scrot /tmp/s.png 写出 2774 字节 PNG。未启动 openbox,所以窗口管理器会话未验证。未探测模板 code-interpreter-v1。
AK/SK 换票失败(FCSandbox InvalidAction.NotFound)。随后用 CLI .env 里的 E2B_API_KEY 作为 ABX_SANDBOX_API_KEY,基址是 api.cn-hangzhou.e2b.fc.aliyuncs.com,创建成功。密钥没有写入本文。
覆盖矩阵
状态:exists 目录已在 catalog;new 建议新建或已有 issue 但还没目录;catalog-only 只有平台/厂商 id,不在本仓库建 Dockerfile;not-a-template 不是模板。
| 来源 | 示例 | 模板 | 状态 | 备注 |
|---|---|---|---|---|
| OpenSandbox examples/ | claude-code | claude-code |
exists | |
| OpenSandbox examples/ | gemini-cli | gemini |
exists | |
| OpenSandbox examples/ | codex-cli | codex |
exists | |
| OpenSandbox examples/ | opencode | opencode |
exists | |
| OpenSandbox examples/ | qwen-code | qwen-code |
exists | |
| OpenSandbox examples/ | kimi-cli | kimi-code |
new | |
| OpenSandbox examples/ | langgraph | not-a-template |
not-a-template | 图在宿主进程,沙箱只是工具后端。 |
| OpenSandbox examples/ | deep-agents | deepagents |
new | |
| OpenSandbox examples/ | google-adk | not-a-template |
not-a-template | ADK 在宿主,工具进沙箱。 |
| OpenSandbox examples/ | openclaw | openclaw |
exists | |
| OpenSandbox examples/ | deer-flow | not-a-template |
not-a-template | DeerFlow 2.1.0 自带 OpenSandboxProvider,编排在宿主。 |
| OpenSandbox examples/ | chrome | chrome |
new | |
| OpenSandbox examples/ | playwright | browser-automation |
exists | |
| OpenSandbox examples/ | desktop | osworld |
new | 极速版切片是 osworld;E2B 的 desktop id 另记。 |
| OpenSandbox examples/ | vscode | code-server |
new | |
| OpenSandbox examples/ | code-interpreter | opensandbox-code-interpreter |
catalog-only | 镜像短名由 OpenSandbox SDK 解析,不拷 Dockerfile。 |
| OpenSandbox examples/ | client-pool-schedule | not-a-template |
not-a-template | 控制面 Resize API,不是镜像。 |
| OpenSandbox examples/ | aio-sandbox | not-a-template |
not-a-template | 未钉的 ghcr.io/agent-infra/sandbox:latest,能力被 code-interpreter、osworld、code-server 拆开。 |
| OpenSandbox examples/ | agent-sandbox | not-a-template |
not-a-template | kubernetes-sigs/agent-sandbox 是集群 CRD。 |
| OpenSandbox examples/ | aks-kata | not-a-template |
not-a-template | 要 AKS 和 Kata VM。 |
| OpenSandbox examples/ | windows | waa |
new | KVM/QEMU。极速版只保留远程客户端,见 waa。 |
| OpenSandbox examples/ | harbor-evaluation | not-a-template |
not-a-template | 一个 trial 一个沙箱的编排器,试用现有模板,不单独做镜像。 |
| OpenSandbox examples/ | host-volume-mount | not-a-template |
not-a-template | 极速版无宿主目录挂载。等价物是 files API 上传/下载。探针无 /dev/fuse,sudo mount 失败。 |
| OpenSandbox examples/ | docker-pvc-volume-mount | not-a-template |
not-a-template | Docker named volume。极速版无 Docker。 |
| OpenSandbox examples/ | docker-ossfs-volume-mount | not-a-template |
not-a-template | OSS FUSE。无 fuse 设备。对象存储要走 HTTPS SDK,不是挂载。 |
| OpenSandbox examples/ | rclone-volume-mount | not-a-template |
not-a-template | 同样依赖 FUSE 或 CSI。 |
| OpenSandbox examples/ | kubernetes-pvc-volume-mount | not-a-template |
not-a-template | PVC 是 Kubernetes 提供方的能力,不是模板。 |
| OpenSandbox examples/ | github-copilot-cli-sandbox | copilot-cli |
new | |
| OpenSandbox examples/ | microsoft-agent-framework | not-a-template |
not-a-template | 宿主框架。 |
| OpenSandbox docs | apply-patch(文档页,examples/ 无目录) | apply-patch |
new | CODEX_REF 仍是占位符。 |
| e2b-cookbook/examples | agentkit-coding-agent | code-interpreter-v1 |
catalog-only | 宿主 AgentKit + 解释器 |
| e2b-cookbook/examples | anthropic-claude-code-in-sandbox-js | claude-code |
exists | |
| e2b-cookbook/examples | anthropic-claude-code-in-sandbox-python | claude-code |
exists | |
| e2b-cookbook/examples | anthropic-computer-use-orangehrm-js | osworld |
new | 桌面加浏览器 |
| e2b-cookbook/examples | anthropic-managed-agents | not-a-template |
not-a-template | E2B webhook 模板,控制面不在极速版 |
| e2b-cookbook/examples | brainbase-universal-harness-bakeoff | not-a-template |
not-a-template | 宿主 bake-off |
| e2b-cookbook/examples | claude-code-interpreter-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | claude-code-interpreter-python | code-interpreter-v1 |
catalog-only | README 404,按目录名归类 |
| e2b-cookbook/examples | claude-visualize-website-topics | browser-automation |
exists | README 404,按目录名归类 |
| e2b-cookbook/examples | cleanup-paused-sandboxes | not-a-template |
not-a-template | 生命周期 API |
| e2b-cookbook/examples | codestral-code-interpreter-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | codestral-code-interpreter-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | crabbox-e2b-python | not-a-template |
not-a-template | 宿主测试循环 |
| e2b-cookbook/examples | crewai-python | not-a-template |
not-a-template | CrewAI 在宿主 |
| e2b-cookbook/examples | custom-sandbox-domain-proxy | not-a-template |
not-a-template | 自定义域名是 provider 网络 |
| e2b-cookbook/examples | docker-in-e2b | not-a-template |
not-a-template | 探针无 docker socket 且 mount 失败 |
| e2b-cookbook/examples | dspy-rlms-python | code-interpreter-v1 |
catalog-only | 宿主 DSPy |
| e2b-cookbook/examples | firecrawl-scrape-and-analyze-airbnb-data | browser-automation |
exists | 抓取在浏览器或 HTTP,分析用解释器 |
| e2b-cookbook/examples | fireworks-code-interpreter-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | flue-feedback-analyst-js | not-a-template |
not-a-template | 宿主 Flue |
| e2b-cookbook/examples | groq-code-interpreter-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | groq-code-interpreter-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | hello-world-js | python-hello |
exists | JS 你好用 node-web 或 python-hello 的命令通道 |
| e2b-cookbook/examples | hello-world-python | python-hello |
exists | |
| e2b-cookbook/examples | hermes-incident-playbook-python | hermes-agent |
exists | |
| e2b-cookbook/examples | langchain-python | code-interpreter-v1 |
catalog-only | LangChain 在宿主 |
| e2b-cookbook/examples | langgraph-plan-and-execute-python | not-a-template |
not-a-template | LangGraph 在宿主 |
| e2b-cookbook/examples | langgraph-python | not-a-template |
not-a-template | 同上 |
| e2b-cookbook/examples | mcp-browserbase-js | playwright-mcp |
new | 云浏览器不是本地 MCP |
| e2b-cookbook/examples | mcp-claude-code-js | claude-code |
exists | MCP 客户端在 CLI 里 |
| e2b-cookbook/examples | mcp-client-js | not-a-template |
not-a-template | 宿主 MCP 客户端 |
| e2b-cookbook/examples | mcp-custom-server-js | not-a-template |
not-a-template | 示例服务器,不是产品模板 |
| e2b-cookbook/examples | mcp-custom-template-js | not-a-template |
not-a-template | 教人建 E2B 模板 |
| e2b-cookbook/examples | mcp-groq-exa-js | not-a-template |
not-a-template | 宿主 Groq + Exa |
| e2b-cookbook/examples | mcp-research-agent-js | not-a-template |
not-a-template | 宿主研究 agent |
| e2b-cookbook/examples | muse-execution-backend-python | muse |
new | |
| e2b-cookbook/examples | nextjs-code-interpreter | next-app |
new | 同时用 code-interpreter-v1 |
| e2b-cookbook/examples | openai-agents-api-python-sdk-webhook-managed | codex-agent-api |
exists | webhook 形态相近但不是同一控制面 |
| e2b-cookbook/examples | openai-agents-api-python-sdk | codex-agent-api |
exists | |
| e2b-cookbook/examples | openai-agents-sdk | not-a-template |
not-a-template | 宿主 Agents SDK |
| e2b-cookbook/examples | openai-codex-in-sandbox-js | codex |
exists | |
| e2b-cookbook/examples | openai-codex-in-sandbox-python | codex |
exists | |
| e2b-cookbook/examples | openai-image-analysis-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | openai-image-analysis-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | openai-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | openai-ml-dataset-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | openai-ml-dataset-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | openai-python | code-interpreter-v1 |
catalog-only | README 404 |
| e2b-cookbook/examples | opencode-e2b-workspace-js | opencode |
exists | |
| e2b-cookbook/examples | openenv-terminus-python | swe |
new | 多轮修代码,不跑 Docker 评测 |
| e2b-cookbook/examples | pi-code-interpreter-js | pi |
new | |
| e2b-cookbook/examples | playwright-in-e2b | browser-automation |
exists | |
| e2b-cookbook/examples | pydantic-ai-python | not-a-template |
not-a-template | 宿主 Pydantic AI |
| e2b-cookbook/examples | pydantic-ai-temporal-python | not-a-template |
not-a-template | 宿主恢复逻辑 |
| e2b-cookbook/examples | sandbox-agent-sdk-js | not-a-template |
not-a-template | 宿主 SDK |
| e2b-cookbook/examples | stirrup-python | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | tailcat-e2b | not-a-template |
not-a-template | 宿主 Tailcat |
| e2b-cookbook/examples | together-ai-code-interpreter-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | together-ai-code-interpreter-python | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | trl-grpo-python | not-a-template |
not-a-template | 训练循环要 GPU,极速版无 GPU |
| e2b-cookbook/examples | upload-dataset-code-interpreter | code-interpreter-v1 |
catalog-only | README 404,文件上传是 files API |
| e2b-cookbook/examples | vercel-ai-sdk-sandbox-js | not-a-template |
not-a-template | 宿主 AI SDK,沙箱用 base |
| e2b-cookbook/examples | vercel-eve-feedback-analyst-js | not-a-template |
not-a-template | 宿主 Eve |
| e2b-cookbook/examples | veris-e2b-js | not-a-template |
not-a-template | 模拟服务在宿主编排 |
| e2b-cookbook/examples | watsonx-ai-code-interpreter-js | code-interpreter-v1 |
catalog-only | |
| e2b-cookbook/examples | watsonx-ai-code-interpreter-python | code-interpreter-v1 |
catalog-only | |
| E2B docs / repos | surf | osworld |
new | 计算机使用示例,跑在 desktop 上 |
| E2B docs / repos | fragments | next-app |
new | Next 应用脚手架,不是沙箱镜像 |
| E2B docs / repos | desktop repo | desktop |
catalog-only | E2B Desktop SDK |
| E2B docs / repos | code-interpreter repo | code-interpreter-v1 |
catalog-only | |
| E2B docs / repos | docs alias base | base |
catalog-only | |
| E2B docs / repos | docs alias code-interpreter-v1 | code-interpreter-v1 |
catalog-only | |
| E2B docs / repos | docs alias desktop | desktop |
catalog-only | |
| E2B docs / repos | docs alias claude | claude-code |
exists | |
| E2B docs / repos | docs alias codex | codex |
exists | |
| E2B docs / repos | docs alias amp | amp |
exists | |
| E2B docs / repos | docs alias opencode | opencode |
exists | |
| E2B docs / repos | docs alias openclaw | openclaw |
exists | |
| E2B docs / repos | docs alias droid | droid |
exists | |
| E2B docs / repos | docs alias grok | grok |
new | |
| E2B docs / repos | docs alias pi | pi |
new | |
| E2B docs / repos | docs alias hermes | hermes-agent |
exists | |
| E2B docs / repos | docs alias devin | devin |
new | |
| E2B docs / repos | docs alias muse | muse |
new | |
| E2B docs / repos | docs alias prime | prime-agent |
new | |
| E2B docs / repos | docs alias kernel-browser | browser-use |
new | 浏览器在 Kernel,不在沙箱 |
| E2B docs / repos | docs alias e2b/k3s | k3s |
new | |
| E2B docs / repos | docs alias android-16 | android-world |
new | redroid,要 microVM |
| E2B docs / repos | docs alias cursor-agents | cursor-agent |
new | 那是调度器,CLI 是另一件事 |
| E2B docs / repos | docs alias devin-outposts | devin |
new | 企业调度器 |
| E2B docs / repos | docs alias E2B/claude-managed-agents-webhooks | not-a-template |
not-a-template | webhook 控制面 |
| E2B docs / repos | docs recipe docker | not-a-template |
not-a-template | 用户自己 build,极速版跑不了 |
| E2B docs / repos | docs recipe nextjs | next-app |
new | 配方不是公开别名 |
| CubeSandbox | code-sandbox-quickstart | code-interpreter-v1 |
catalog-only | 用 sandbox-code:latest |
| CubeSandbox | browser-sandbox | browser-automation |
exists | CDP 9000 |
| CubeSandbox | cubesandbox-base-nginx | node-web |
exists | nginx 演示,服务形态相同 |
| CubeSandbox | ubuntu-desktop | osworld |
new | GNOME+noVNC,要 MicroVM |
| CubeSandbox | claude-code-integration | claude-code |
exists | |
| CubeSandbox | openclaw-integration | openclaw |
exists | |
| CubeSandbox | opencode-plugin-sandbox | opencode |
exists | 插件把 bash 送进沙箱 |
| CubeSandbox | pi-agent-integration | pi |
new | |
| CubeSandbox | langchain-integration | not-a-template |
not-a-template | 宿主 |
| CubeSandbox | openai-agents-example | not-a-template |
not-a-template | 宿主 Agents SDK |
| CubeSandbox | openai-agents-code-interpreter | code-interpreter-v1 |
catalog-only | |
| CubeSandbox | mcp-gateway | playwright-mcp |
new | 网关本身是控制面;浏览器 MCP 才是模板 |
| CubeSandbox | mini-rl-training | swe |
new | RL 训练循环要 GPU/集群,评测切片归 swe |
| CubeSandbox | snapshot-rollback-clone | not-a-template |
not-a-template | 平台快照 API |
| CubeSandbox | host-mount | not-a-template |
not-a-template | 同 OpenSandbox host volume |
| CubeSandbox | volume | not-a-template |
not-a-template | README 404,按目录名是卷插件 |
| CubeSandbox | network-policy | not-a-template |
not-a-template | provider 网络 |
| CubeSandbox | route-aware-egress | not-a-template |
not-a-template | provider 出口 |
| CubeSandbox | grpc-ingress | not-a-template |
not-a-template | 入口 |
| CubeSandbox | ivshmem | not-a-template |
not-a-template | 要 hypervisor 共享内存 |
| CubeSandbox | e2b-dev-sidecar | not-a-template |
not-a-template | 开发边车 |
| CubeSandbox | cube-bench | not-a-template |
not-a-template | 平台性能,不是应用模板 |
| CubeSandbox | run-code-env-inheritance | code-interpreter-v1 |
catalog-only | 解释器继承环境变量 |
| CubeSandbox | image sandbox-code:latest | opensandbox-code-interpreter |
catalog-only | Cube 与 OpenSandbox 是不同镜像,都记在解释器行旁 |
| CubeSandbox | image sandbox-browser:latest | browser-automation |
exists | |
| CubeSandbox | image cubesandbox-base | base |
catalog-only | 带 envd 的根文件系统 |
| Other galleries | daytona-small/medium/large | base |
catalog-only | 规格档,不是 agent 名 |
| Other galleries | daytona default image agents | claude-code |
exists | 镜像 README 还预装 codex、openclaw、opencode |
| Other galleries | daytona-gpu / windows / macos VM | not-a-template |
not-a-template | 要 GPU、Windows 或 Apple 硬件 |
| Other galleries | modal Sandbox.create + Image | code-interpreter-v1 |
catalog-only | 没有公开 agent 目录 |
| Other galleries | modal Jupyter example | code-interpreter-v1 |
catalog-only | |
| Other galleries | vercel universal image | pi |
new | 同时还预装 claude-code、codex、opencode |
| Other galleries | vercel node/python/ubuntu/arch images | base |
catalog-only | 滚动 tag,不能当 pin |
| Other galleries | vercel platform template | next-app |
new | 预览服务器 |
| Other galleries | cloudflare examples/minimal | python-hello |
exists | |
| Other galleries | cloudflare examples/coding-agents/claude-code | claude-code |
exists | |
| Other galleries | cloudflare examples/coding-agents/codex | codex |
exists | |
| Other galleries | cloudflare examples/coding-agents/opencode | opencode |
exists | |
| Other galleries | cloudflare examples/coding-agents/pi | pi |
new | README 指向 earendil-works/pi |
| Other galleries | cloudflare workspace/backup/checkpoint/s3 | not-a-template |
not-a-template | 他们的持久化和对象存储;极速版用 files API,不能 FUSE |
| Other galleries | cloudflare terminal/process/preview | node-web |
exists | 进程和预览端口 |
存储在 Agent Sandbox 里对应什么
OpenSandbox 的 host volume、Docker PVC、OSSFS、rclone、Kubernetes PVC,以及 Cube 的 host-mount、volume、Cloudflare 的 S3/checkpoint,都是提供方的卷,不是模板。极速版等价物是 SDK/CLI 的文件上传和下载。探针里没有 /dev/fuse,root 执行 mount 也被拒绝,所以不能在沙箱里做 FUSE 或绑定宿主目录。对象存储如果要做,应该是带密钥的 HTTPS 客户端命令,而不是挂载。快照、回滚、克隆、暂停是平台 API,同样不是模板目录。
并入说明
第一轮里单独列出的三个名字并进已有分析,没有丢掉:linux-desktop 的 Xvfb 切片就是 osworld;mini-swe-agent 是 swe 的 agent,不另开目录;code-interpreter 的瘦身实现记在 code-interpreter-v1,OpenSandbox 镜像记在 opensandbox-code-interpreter。
构建顺序
第一波是纯 CLI 或服务包装,极速版可以整份跑。第二波只能跑文中写明的子集。第三波的工作负载要别的 provider,极速版最多做远程客户端。other 是已有目录或厂商 id 的复核,不进这三波。
第一波。 claude-code、codex、codex-agent-api、opencode、amp、droid、gemini、qwen-code、deepseek-harness、openclaw、node-web、browser-automation、kimi-code、goose、pi、aider、browser-use、playwright-mcp、code-server、next-app、document-tools、dev-services、ocr、media-tools、tau2-bench。
第二波。 hermes-agent、code-interpreter-v1、apply-patch、osworld、chrome、swe、polyglot-toolchain、cursor-agent、grok、copilot-cli、crush、cline、deepagents、stagehand、prime-agent、appworld、muse、devin。
第三波。 waa、phone-sandbox、android-world、k3s、omarchy、qm、qm-sandbox。
Issue 对照
新模板 issue(#48–#72)正文是对应分析块。本环境的 token 能建 issue,不能给 #15–#45 写评论(HTTP 403,issues=write 不够)。对照以本表为准。
| issue | 模板 |
|---|---|
| #15 | claude-code |
| #16 | codex |
| #17 | opencode |
| #18 | amp |
| #19 | droid |
| #20 | openclaw |
| #21 | python-hello |
| #22 | browser-automation |
| #23 | codex-agent-api |
| #24 | qoder |
| #25 | agents-cli |
| #26 | qwen-code |
| #27 | deepseek-harness |
| #28 | hermes-agent |
| #29 | node-web |
| #30 | gemini |
| #31 | base |
| #32 | code-interpreter-v1 |
| #33 | desktop |
| #34 | opensandbox-code-interpreter |
| #35 | swe |
| #36 | osworld |
| #37 | waa |
| #38 | phone-sandbox |
| #39 | android-world |
| #40 | grok |
| #41 | pi |
| #42 | k3s |
| #43 | omarchy |
| #44 | qm |
| #45 | qm-sandbox |
| #48 | kimi-code |
| #49 | goose |
| #50 | aider |
| #51 | browser-use |
| #52 | playwright-mcp |
| #53 | code-server |
| #54 | next-app |
| #55 | document-tools |
| #56 | dev-services |
| #57 | ocr |
| #58 | media-tools |
| #59 | tau2-bench |
| #60 | apply-patch |
| #61 | chrome |
| #62 | polyglot-toolchain |
| #63 | cursor-agent |
| #64 | copilot-cli |
| #65 | crush |
| #66 | cline |
| #67 | deepagents |
| #68 | stagehand |
| #69 | prime-agent |
| #70 | appworld |
| #71 | muse |
| #72 | devin |
逐模板分析
锚点是二级标题的模板名。实施时以 docs/template-backlog.json 的字段为准,下面是同一份内容的说明。
python-hello
目的与用户。 目录里最小的 Python 模板,用来验证 server、文件和命令通道,不是产品。
能力。 hello() 返回纯文本问候。 端口:9000(agent-sandbox-server)。 文件与产物:无。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不安装上游 CLI。保持目录,按现行基础镜像改 Dockerfile,不要再写 CMD。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:1–2 vCPU,512MB 足够。 SDK:Sandbox.create 之后调用命名命令(hello)。依赖模板:无。
需要。 无密钥、无 GPU、无 KVM、无 Docker、无显示器。
极速版。 yes。限制因素:没有产品限制。 能跑的子集:整份模板都能在极速版跑。 其余:不需要别的 provider。
上游与调用。 本仓库。 无头形态:hello。
结论。 状态 exists,批次 other,优先级 P2,issue #21。验收用的最小模板,已经存在。 来源:catalog。
base
目的与用户。 平台模板 id base,也是 E2B 不传 template 时的默认沙箱。给所有别的模板当参照,不在本仓库里再做一个同名目录。
能力。 没有命名命令。调用方用 abx exec 或 SDK commands.run。 端口:49983(envd,创建时返回的 URL 带这个端口)。 文件与产物:空的 /home/user。 流式:exec 支持流式 stdout。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要新建目录。文档写清如何 abx create --template base。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:实测 2 vCPU,约 2GB 内存,约 10G rootfs。 SDK:Sandbox.create 之后调用命名命令(exec)。依赖模板:无。
需要。 极速版 API key。无 GPU/KVM/Docker。
极速版。 yes。限制因素:这是平台镜像,本仓库 Dockerfile 改变不了它。 能跑的子集:实测内容见文首探针。 其余:E2B 的 base 是另一块 Debian 镜像(带 gh、Yarn),不要写成同一份软件清单。
上游与调用。 平台镜像;E2B 文档 base image,Dockerfile templates/base/e2b.Dockerfile。 无头形态:abx exec
结论。 状态 catalog-only,批次 other,优先级 P1,issue #31。目录外的平台模板,issue #31 只做文档和核实。 来源:express-probe, e2b-docs。
claude-code
目的与用户。 Anthropic 的编码 CLI。用户是要在沙箱里改仓库的 agent 调用方。
能力。 claude(prompt, resume='', output_format='text') -> {stdout, stderr, exit_code}。对应 claude --dangerously-skip-permissions -p。 端口:9000。 文件与产物:工作区 diff,可用 files API 取出。 流式:--output-format stream-json 时需要流式 stdout。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉死 @anthropic-ai/claude-code@<version>(以目录里已有 pin 为准,升级要改 pin 并写进构建日志)。Node 20 够用则不要另装 Node 22。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(claude)。依赖模板:无。
需要。 ANTHROPIC_API_KEY。无 GPU/KVM/Docker/显示器。
极速版。 yes。限制因素:本环境没有 Anthropic key,L3 不能在这里宣称通过。 能跑的子集:整条 CLI 都适合极速版。 其余:E2B 公开别名 claude。OpenSandbox 示例是在 code-interpreter 里 npm i -g @latest,不要学未钉版本。
上游与调用。 E2B docs/agents/claude-code.md(2026-10-15);目录已有。 无头形态:claude --dangerously-skip-permissions -p "
结论。 状态 exists,批次 1,优先级 P0,issue #15。已有目录。这一波只按 spec 复核,不新建。 来源:opensandbox:claude-code, e2b:claude, cloudflare:coding-agents/claude-code, cookbook:anthropic-claude-code-*。
codex
目的与用户。 OpenAI Codex 编码 CLI。
能力。 codex(prompt) -> {stdout, stderr, exit_code},调用 codex exec --full-auto。 端口:9000。 文件与产物:git diff。 流式:JSONL 事件需要流式。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 @openai/codex@<已有 pin>。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(codex)。依赖模板:无。
需要。 CODEX_API_KEY 或 OPENAI_API_KEY(以已有 template.yaml 为准)。
极速版。 yes。限制因素:无平台限制。 能跑的子集:整条 CLI。 其余:E2B 别名 codex;Cloudflare examples/coding-agents/codex;Cube 没有单独镜像。
上游与调用。 https://docs.e2b.dev/agents/codex.md 无头形态:codex exec --full-auto "
结论。 状态 exists,批次 1,优先级 P0,issue #16。已有。 来源:opensandbox:codex-cli, e2b:codex, cloudflare:codex, cookbook:openai-codex-*。
codex-agent-api
目的与用户。 用 Codex CLI 提供一个兼容 OpenAI Agents API 的本地服务。
能力。 serve_start() -> {port, url},然后 HTTP 创建 session。 端口:服务端口加 9000。 文件与产物:session 日志。 流式:Agents API 流式响应。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。沿用目录里的 pin。start_cmd 只启动 agent-sandbox-server;Agents 服务由命名命令拉起。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(serve_start)。依赖模板:codex。
需要。 OpenAI/Codex key。
极速版。 yes。限制因素:无。 能跑的子集:整个服务都能在单容器里跑。 其余:E2B cookbook 的 openai-agents-api 是控制面示例,不是另一块镜像。
上游与调用。 本仓库目录。 无头形态:命名命令启动后 curl 健康检查。
结论。 状态 exists,批次 1,优先级 P1,issue #23。已有服务型模板。 来源:cookbook:openai-agents-api-*, catalog。
opencode
目的与用户。 多模型编码 CLI。
能力。 opencode(prompt, model='') -> {stdout, stderr, exit_code},即 opencode run。可选 opencode_serve() 监听 4096。 端口:4096 仅在 serve 模式。 文件与产物:diff。 流式:serve 是 HTTP,不是必须。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。目录钉 opencode-ai@1.19.0。升级版本另开变更,不要在本次调研里改 pin。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(opencode)。依赖模板:无。
需要。 ANTHROPIC_API_KEY 或其他 provider key。
极速版。 yes。限制因素:experimental,缺密钥 e2e。 能跑的子集:整条 CLI。 其余:E2B 别名 opencode;Cloudflare examples/coding-agents/opencode。
上游与调用。 https://docs.e2b.dev/agents/opencode.md 无头形态:opencode run "
结论。 状态 exists,批次 1,优先级 P0,issue #17。已有 experimental。 来源:opensandbox:opencode, e2b:opencode, cloudflare:opencode, cube:opencode-plugin-sandbox。
amp
目的与用户。 Sourcegraph Amp 编码 CLI。
能力。 amp(prompt) -> {stdout, stderr, exit_code},amp --dangerously-allow-all -x。 端口:9000。 文件与产物:diff。 流式:--stream-json。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。保持目录中的 npm pin。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(amp)。依赖模板:无。
需要。 AMP_API_KEY。
极速版。 yes。限制因素:无平台限制,缺密钥。 能跑的子集:整条 CLI。 其余:E2B 别名 amp。
上游与调用。 https://docs.e2b.dev/agents/amp.md 无头形态:amp --dangerously-allow-all -x "
结论。 状态 exists,批次 1,优先级 P1,issue #18。已有 experimental。 来源:e2b:amp, catalog。
droid
目的与用户。 Factory 的编码 CLI。
能力。 droid(prompt) -> {stdout, stderr, exit_code},droid exec。 端口:9000。 文件与产物:diff。 流式:可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。目录钉 @factory/cli@0.241.1。E2B 文档用 --auto low,和目录里的 flag 是否一致要在复核时对 --help。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(droid)。依赖模板:无。
需要。 FACTORY_API_KEY。
极速版。 yes。限制因素:无。 能跑的子集:整条 CLI。 其余:E2B 别名 droid。
上游与调用。 https://docs.e2b.dev/agents/droid.md 无头形态:droid exec --auto low "
结论。 状态 exists,批次 1,优先级 P1,issue #19。已有 experimental。 来源:e2b:droid, catalog。
gemini
目的与用户。 Google Gemini 终端编码 CLI。
能力。 gemini(prompt, model='') -> str,gemini -p --yolo。 端口:9000。 文件与产物:diff。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。已钉 @google/gemini-cli@0.64.0。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(gemini)。依赖模板:无。
需要。 GEMINI_API_KEY。
极速版。 yes。限制因素:缺带 ABX_E2E_OK 的密钥记录,不能标 official。 能跑的子集:整条 CLI。 其余:OpenSandbox gemini-cli 示例未钉版本。
上游与调用。 本仓库 gemini/;OpenSandbox examples/gemini-cli。 无头形态:gemini -p "
结论。 状态 exists,批次 1,优先级 P0,issue #30。已有 experimental。 来源:opensandbox:gemini-cli, catalog。
qwen-code
目的与用户。 通义千问编码 CLI,DashScope 兼容。
能力。 qwen(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。保持目录 pin。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(qwen)。依赖模板:无。
需要。 DASHSCOPE_API_KEY 或目录里声明的变量。本环境有 OpenAI 兼容端点时可做 L3,是否被该 CLI 接受要在实现时试。
极速版。 yes。限制因素:无平台限制。 能跑的子集:整条 CLI。 其余:OpenSandbox qwen-code 示例。
上游与调用。 本仓库。 无头形态:qwen 的无头参数以目录 commands.py 为准。
结论。 状态 exists,批次 1,优先级 P0,issue #26。已有。 来源:opensandbox:qwen-code, catalog。
deepseek-harness
目的与用户。 用 DeepSeek 兼容端点做编码回合。
能力。 以目录 commands.py 为准,返回 stdout。 端口:9000。 文件与产物:工作区。 流式:可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。保持 pin。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(deepseek)。依赖模板:无。
需要。 DeepSeek 或兼容 key。
极速版。 yes。限制因素:无。 能跑的子集:整份。 其余:无对应 E2B 别名。
上游与调用。 本仓库。 无头形态:见 commands.py。
结论。 状态 exists,批次 1,优先级 P1,issue #27。已有。 来源:catalog。
openclaw
目的与用户。 OpenClaw 网关,给浏览器或频道接一个常驻 agent。
能力。 gateway_start(token, port=18789) -> {url}。不是单次 -p。 端口:18789。 文件与产物:~/.openclaw 配置。 流式:WebSocket,不是命令 stdout。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 openclaw 版本,不要 ghcr.io/openclaw/openclaw:latest。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(gateway_start)。依赖模板:无。
需要。 模型 key。token 来自环境变量。
极速版。 yes。限制因素:常驻进程必须由命名命令拉起,不能写 ENTRYPOINT。 能跑的子集:gateway 本身可以在极速版跑。 其余:E2B 别名 openclaw;OpenSandbox 用未钉的 ghcr 镜像。
上游与调用。 https://docs.e2b.dev/agents/openclaw/openclaw-gateway.md 无头形态:openclaw gateway --allow-unconfigured --bind lan --auth token --port 18789。
结论。 状态 exists,批次 1,优先级 P0,issue #20。已有。 来源:opensandbox:openclaw, e2b:openclaw, cube:openclaw-integration。
hermes-agent
目的与用户。 Nous Research 的可成长 agent。目录描述写明当前只做聊天补全、不注册工具。升级目标是真 CLI。
能力。 升级后 hermes(prompt, provider, model) -> {stdout, stderr, exit_code},即 hermes chat -Q --yolo -q。 端口:9000。 文件与产物:~/.hermes/skills 与 memories。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 GitHub release v0.22.1(2026-10-14,MIT)。安装命令以该 tag 的 README 为准,本次未打开 README,安装行 unverified。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(hermes)。依赖模板:无。
需要。 provider key,E2B 示例是 OPENROUTER_API_KEY。
极速版。 partial。限制因素:现行目录没有 CLI。 能跑的子集:先把 v0.22.1 的 hermes 二进制放进现有目录,不要新建名字。 其余:E2B 别名 hermes。cookbook hermes-incident-playbook 是宿主脚本。
上游与调用。 https://github.com/NousResearch/hermes-agent v0.22.1;https://docs.e2b.dev/agents/hermes.md 无头形态:hermes chat -Q --yolo -q "
结论。 状态 exists,批次 2,优先级 P0,issue #28。升级已有模板,不是新目录。 来源:e2b:hermes, cookbook:hermes-incident-playbook-python, catalog。
qoder
目的与用户。 目录描述写明只执行本地脚本,没有安装 Qoder CLI。
能力。 qoder_run 跑本地脚本。若上游给出可钉的无头 CLI,再加 qoder(prompt)。 端口:9000。 文件与产物:脚本输出。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。没有可钉的 Qoder 安装物之前不要假装装了 CLI。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(qoder_run)。依赖模板:无。
需要。 CLI 出现后才需要 key。
极速版。 partial。限制因素:上游安装 unverified。 能跑的子集:现在只能跑本地脚本。 其余:无。
上游与调用。 本仓库描述。 无头形态:qoder_run。
结论。 状态 exists,批次 other,优先级 P2,issue #24。已有,但是空 CLI。 来源:catalog。
agents-cli
目的与用户。 给 Codex 和 Qwen 的 Agents API 占位。镜像里没有这两个 CLI。
能力。 保持现有命令。真正要跑 CLI 时用 codex 和 qwen-code。 端口:9000。 文件与产物:无。 流式:无。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要在这个目录里再装一份未钉的 CLI。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(agents)。依赖模板:codex, qwen-code。
需要。 无,直到它真的调用 CLI。
极速版。 partial。限制因素:名不副实。 能跑的子集:健康检查可以过。产品调用走另外两个模板。 其余:无。
上游与调用。 本仓库。 无头形态:见 commands.py。
结论。 状态 exists,批次 other,优先级 P2,issue #25。已有占位。 来源:catalog。
node-web
目的与用户。 跑 Express/Fastify 一类 Node 服务。不是 Next/Vite 开发服务器。
能力。 start(script) 拉起用户进程并返回端口。 端口:由参数指定,外加 9000。 文件与产物:应用目录。 流式:服务日志。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。Node 20 已在基础镜像里。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(start)。依赖模板:无。
需要。 无密钥。
极速版。 yes。限制因素:无。 能跑的子集:整份。 其余:Vercel 的 Next 脚手架见 next-app。
上游与调用。 本仓库。 无头形态:node server.js。
结论。 状态 exists,批次 1,优先级 P1,issue #29。已有。 来源:catalog, cloudflare:minimal。
browser-automation
目的与用户。 无头 Chromium,给抓取和 UI 检查用。
能力。 已有 Playwright 命令。返回标题、正文或截图路径。 端口:9000。CDP 若暴露,用独立端口。 文件与产物:截图 PNG。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 Playwright 与对应 Chromium。/dev/shm 实测只有 64M,启动参数加 --disable-dev-shm-usage。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(browse)。依赖模板:无。
需要。 无模型密钥。无 GPU/KVM/Docker。
极速版。 yes。限制因素:shm 64M 已实测,是浏览器崩溃的常见原因。 能跑的子集:无头 Playwright 可以跑。带 VNC 的 Chrome 归 chrome。 其余:OpenSandbox playwright:latest 未钉;Cube sandbox-browser 是 MicroVM 里的 CDP。
上游与调用。 本仓库;OpenSandbox examples/playwright;Cube examples/browser-sandbox。 无头形态:playwright chromium headless。
结论。 状态 exists,批次 1,优先级 P0,issue #22。已有,浏览器类示例都先落到这里。 来源:opensandbox:playwright, cube:browser-sandbox, cookbook:playwright-in-e2b。
code-interpreter-v1
目的与用户。 平台模板 id,对齐 E2B code-interpreter-v1:在沙箱里执行模型写的代码并拿回 stdout。
能力。 若平台镜像已带解释器,文档化 SDK run_code。若没有,在目录里提供 execute_code(language, code) -> {stdout, stderr, error} 和 list_runtimes()。本次没有对这个 template id 做 exec,镜像里有什么 unverified。 端口:E2B 是 49999。极速版是否同样,unverified。 文件与产物:代码生成的图表写入 /tmp 再由 files API 读出。 流式:长输出要流式。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要复制 E2B 或 OpenSandbox 的 Dockerfile。若要自建,FROM 平台基础镜像,只钉 jupyter-server==2.20.0、ipykernel==6.31.0、pandas==2.2.3、numpy==2.3.5、matplotlib==3.10.9、pillow==12.3.0(2026-10-15 从 e2b-dev/code-interpreter main 的 requirements.txt 读到)。先不要装 spacy/opencv/librosa。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。科学栈容易吃掉 10G 磁盘。 SDK:Sandbox.create 之后调用命名命令(execute_code, list_runtimes)。依赖模板:无。
需要。 执行代码本身不要密钥。
极速版。 partial。限制因素:未探测该 template id;全量 E2B 依赖对 10G 磁盘 unverified。 能跑的子集:瘦身 Python 解释器。Java/Go 多版本不要塞进第一版。 其余:OpenSandbox code-interpreter:v1.1.0 走 issue #34,不要和这个 id 混成一块镜像。
上游与调用。 E2B code-interpreter;OpenSandbox sandbox-images README。 无头形态:execute_code。
结论。 状态 catalog-only,批次 2,优先级 P0,issue #32。每个厂商都有一块执行代码的镜像。先核实平台 id,缺了再自建瘦身版。 来源:e2b:code-interpreter-v1, cookbook:hello-world-, cookbook:openai-, cookbook:groq-, cookbook:langchain-python, cookbook:langgraph-, modal:sandbox, cloudflare:code-interpreter-docs, daytona:default-snapshot。
opensandbox-code-interpreter
目的与用户。 OpenSandbox 发布的镜像,不是极速版目录。
能力。 OpenSandbox Code Interpreter SDK 执行 Python/Java/TS/Go。 端口:Jupyter 127.0.0.1:44771,不映射到宿主机。 文件与产物:内核工作目录。 流式:SDK 结果。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要把 Dockerfile 拷进本仓库。文档写镜像 sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/code-interpreter:v1.1.0。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:由 OpenSandbox 集群决定。 SDK:Sandbox.create 之后调用命名命令(execute_code)。依赖模板:无。
需要。 SANDBOX_DOMAIN、SANDBOX_API_KEY。
极速版。 partial。限制因素:极速版 abx template install 不会把这块镜像注册成 OpenSandbox 的短名。 能跑的子集:同一能力在极速版用 code-interpreter-v1 的瘦身实现。 其余:只有 OpenSandbox provider。
上游与调用。 examples/code-interpreter/main.py 默认镜像 v1.1.0;sandbox-images README。 无头形态:CodeInterpreter SDK。
结论。 状态 catalog-only,批次 other,优先级 P1,issue #34。目录外镜像。 来源:opensandbox:code-interpreter。
desktop
目的与用户。 E2B 公开模板 desktop:Ubuntu 22.04 XFCE、noVNC 6080、LibreOffice、xdotool、scrot。
能力。 Desktop SDK screenshot、鼠标键盘、stream.start()。 端口:6080。 文件与产物:截图。 流式:VNC。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要在本仓库复制 E2B desktop Dockerfile 来冒充这个 id。极速版的桌面切片用 osworld。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:E2B 侧建议高于 base 的 512MB。 SDK:Sandbox.create 之后调用命名命令(screenshot)。依赖模板:无。
需要。 无 KVM。要虚拟显示。
极速版。 partial。限制因素:本仓库没有 E2B key 时不能宣称在 E2B 上跑通。issue 写明了这一点。 能跑的子集:见 osworld。 其余:E2B。Cube 的 ubuntu-desktop 是另一块要自己构建的 GNOME 镜像。
上游与调用。 https://docs.e2b.dev/template/examples/desktop.md 无头形态:sandbox.screenshot()。
结论。 状态 catalog-only,批次 other,优先级 P2,issue #33。只做目录外文档。 来源:e2b:desktop, e2b-dev/desktop, e2b-dev/surf。
kimi-code
目的与用户。 Moonshot 现行编码 CLI。用户是要接 Kimi 模型的编程 agent。
能力。 kimi(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:--output-format stream-json 时要流式,flag 在 2.2.0 上核对。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。基础镜像是 Node 20。另装 Node ≥22.19,再 npm install -g @moonshot-ai/kimi-code@2.2.0(release 2026-10-14,MIT)。不要用 code.kimi.com 的脚本,也不要 pip install kimi-cli(旧仓库已归档)。OpenSandbox README 已改称 Kimi Code CLI,但更早的 main.py 仍是未钉的 pip。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(kimi)。依赖模板:无。
需要。 Moonshot API key,环境变量名在 2.2.0 文档里核对,本次 unverified。无 GPU/KVM/Docker/显示器。
极速版。 yes。限制因素:Node 版本,可在镜像构建时解决。 能跑的子集:整条 CLI。 其余:不需要。
上游与调用。 https://github.com/MoonshotAI/kimi-code @moonshot-ai/kimi-code@2.2.0 无头形态:kimi -p "
结论。 状态 new,批次 1,优先级 P0,issue #48。OpenSandbox 有示例,目录里没有 Moonshot CLI。 来源:opensandbox:kimi-cli。
goose
目的与用户。 AAIF 的终端 agent,也能做非编码任务。
能力。 goose(text) -> {stdout, stderr, exit_code},即 goose run -t。 端口:9000。 文件与产物:工作区改动。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。下载 https://github.com/block/goose/releases/download/v1.54.0/goose-x86_64-unknown-linux-gnu.tar.bz2 (80890920 字节)。不要 vulkan/cuda,不要 stable/download_cli.sh。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。压缩包约 80MB。 SDK:Sandbox.create 之后调用命名命令(goose)。依赖模板:无。
需要。 所选 provider 的 API key。无 GPU。
极速版。 yes。限制因素:无平台限制。 能跑的子集:整条 CLI。 其余:不需要。
上游与调用。 https://github.com/block/goose v1.54.0 Apache-2.0 无头形态:goose run -t "
结论。 状态 new,批次 1,优先级 P0,issue #49。有钉死的 Linux 包和无头命令。 来源:upstream:block/goose。
pi
目的与用户。 小体积终端编码 agent。E2B、Vercel universal、Cloudflare、Cube 都把它当一等公民。
能力。 pi(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:JSON 事件,Cloudflare 说明失败时仍可能 exit 0,调用方要解析事件。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。优先 https://github.com/badlogic/pi-mono/releases/download/v1.2.0/pi-linux-x64.tar.gz (42611136 字节)。是否自带 Node unverified。否则 Node ≥22.19 且 npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.2.0。Cloudflare README 指向 https://github.com/earendil-works/pi ,和 badlogic/pi-mono 是否同一远程 unverified。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(pi)。依赖模板:无。
需要。 ANTHROPIC_API_KEY 或其他 provider。无权限弹窗。
极速版。 yes。限制因素:无 KVM/Docker 需求。本目录不会变成 E2B 别名 pi。 能跑的子集:整条 CLI。 其余:E2B 别名只在 E2B 账号里存在。
上游与调用。 pi-mono v1.2.0 MIT;https://docs.e2b.dev/agents/pi.md;https://pi.dev/docs/latest/cli 无头形态:pi -p "
结论。 状态 new,批次 1,优先级 P0,issue #41。issue #41 已存在,不新建 issue。 来源:e2b:pi, cloudflare:coding-agents/pi, cube:pi-agent-integration, cookbook:pi-code-interpreter-js, vercel:universal。
aider
目的与用户。 在 git 仓库里改完文件就退出的结对编程 CLI。
能力。 aider(prompt) -> {stdout, stderr, exit_code},工作目录必须是 git 仓库。 端口:9000。 文件与产物:git diff。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。pip install aider-chat==0.86.0(release 2025-08-09,Apache-2.0)。仓库 2026-05-22 后无推送。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(aider)。依赖模板:无。
需要。 OPENAI_API_KEY 或 ANTHROPIC_API_KEY。
极速版。 yes。限制因素:上游停更,不是平台限制。 能跑的子集:整条 CLI。 其余:不需要。
上游与调用。 https://github.com/Aider-AI/aider v0.86.0 无头形态:aider --yes --message "
结论。 状态 new,批次 1,优先级 P1,issue #50。安装钉得死,形态和现有 CLI 一样。 来源:upstream:Aider-AI/aider。
browser-use
目的与用户。 在无头 Chromium 上跑浏览器 agent,而不是只暴露 Playwright 原语。
能力。 browser_use(task) -> {result, final_url}。0.13.11 的构造参数从该 tag README 抄,不要凭记忆。 端口:9000。 文件与产物:截图。 流式:步骤日志建议流式。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。pip install browser-use==0.13.11,Chromium 用它依赖的 Playwright 版本,加 --disable-dev-shm-usage。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。shm 64M 已实测。 SDK:Sandbox.create 之后调用命名命令(browser_use)。依赖模板:browser-automation。
需要。 模型 key。无 GPU/KVM/Docker。
极速版。 yes。限制因素:shm。 能跑的子集:本地无头 Chromium。不要依赖 Browser Use Cloud。 其余:E2B kernel-browser 把浏览器放在 Kernel,我们没有 Kernel。
上游与调用。 https://github.com/browser-use/browser-use 0.13.11 MIT 无头形态:Python Agent(task=...)。
结论。 状态 new,批次 1,优先级 P0,issue #51。118k stars,和 browser-automation 互补。 来源:e2b:kernel-browser, upstream:browser-use。
playwright-mcp
目的与用户。 让编码 CLI 通过 MCP 驱动浏览器。
能力。 mcp_start() -> {port}。若 browser-automation 镜像装得下,把命令加进那个目录,不要第二份 Chromium。 端口:默认 8931,以 @playwright/mcp@0.0.83 --help 为准。 文件与产物:无。 流式:MCP 传输。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。npm install -g @playwright/mcp@0.0.83(2026-09-28,Apache-2.0)。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(mcp_start)。依赖模板:browser-automation。
需要。 Chromium。模板内不要模型 key。
极速版。 yes。限制因素:shm 64M。 能跑的子集:无头 MCP。 其余:E2B MCP gateway 是他们的托管目录,不是这块二进制。
上游与调用。 https://github.com/microsoft/playwright-mcp v0.0.83 无头形态:npx @playwright/mcp@0.0.83 --headless --port 8931。
结论。 状态 new,批次 1,优先级 P1,issue #52。目录里的浏览器模板不会说 MCP。 来源:cookbook:mcp-browserbase-js, cookbook:mcp-claude-code-js, upstream:playwright-mcp。
code-server
目的与用户。 浏览器里的 VS Code,给人不想用终端的调试。
能力。 code_server_start() -> {port: 8443}。 端口:8443。 文件与产物:工作区。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。解压 code-server-4.141.0-linux-amd64.tar.gz(239926515 字节,MIT,2026-10-08)。密码来自环境变量。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。压缩包 240MB,加上基础镜像后是否仍低于 10G,构建时看 df。 SDK:Sandbox.create 之后调用命名命令(code_server_start)。依赖模板:无。
需要。 密码。无 GPU/KVM/Docker/显示器。
极速版。 yes。限制因素:体积。 能跑的子集:整个 code-server。 其余:OpenSandbox vscode:latest 未钉,不要 FROM 它。
上游与调用。 https://github.com/coder/code-server v4.141.0 无头形态:code-server --bind-addr 0.0.0.0:8443 --auth password。
结论。 状态 new,批次 1,优先级 P1,issue #53。OpenSandbox 的 vscode 示例在极速版没有对应物。 来源:opensandbox:vscode。
next-app
目的与用户。 给 agent 一个能预览的前端开发服务器。node-web 只是通用 Node 进程,没有脚手架。
能力。 dev_start(kind) -> {port, url},kind 为 next 或 vite。scaffold() 写出最小工程。 端口:3000 或 5173。 文件与产物:应用目录。 流式:dev server 日志。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。npm install -g 不适合。在镜像里 npm install next@<pin> 与 vite@<pin>,pin 取构建当天的 dist-tag 并写进日志,不要用 latest 当永久版本。Node 20 已有。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(dev_start)。依赖模板:node-web。
需要。 无密钥。
极速版。 yes。限制因素:HMR 的 websocket 要平台能转发该端口,转发行为 unverified。 能跑的子集:能起服务并返回端口即可,不保证 HMR。 其余:Vercel 平台模板还会部署上线,那一步不在沙箱里。
上游与调用。 Vercel platform template 文档;E2B template examples/nextjs 是配方不是公开别名;fragments 是应用模板不是沙箱。 无头形态:next dev --port 3000 或 vite --host 0.0.0.0。
结论。 状态 new,批次 1,优先级 P1,issue #54。预览服务器是 Vercel/fragments 一类例子里真正缺的运行时。 来源:e2b:template/examples/nextjs, e2b-dev/fragments, cookbook:nextjs-code-interpreter, vercel:platform-template。
document-tools
目的与用户。 把 markdown/html 转成 docx、pdf、幻灯片。
能力。 convert(input_path, output_format) -> {output_path}。 端口:9000。 文件与产物:输入输出都在 /home/user。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 pandoc 与 libreoffice-writer 的 Debian 13 版本,写进构建日志。soffice 使用独立 HOME。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。LibreOffice 体积要在构建时看 df。 SDK:Sandbox.create 之后调用命名命令(convert)。依赖模板:无。
需要。 无密钥、无显示器。
极速版。 yes。限制因素:非 root 跑 soffice 本次未在极速版执行,只验证了 apt 通道和 Xvfb。 能跑的子集:pandoc 纯文本转换一定能做;soffice 作为第二步。 其余:E2B desktop 带了 LibreOffice 但是 GUI。
上游与调用。 Debian pandoc(GPL-2.0)与 LibreOffice(MPL-2.0)。 无头形态:pandoc 或 soffice --headless --convert-to。
结论。 状态 new,批次 1,优先级 P1,issue #55。文档转换不需要桌面会话。 来源:e2b:desktop。
dev-services
目的与用户。 给应用提供数据库,替代 Docker Compose。
能力。 services_start() -> {postgres:5432, redis:6379},services_stop()。 端口:5432、6379。 文件与产物:数据目录 /home/user/data。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 postgresql 与 redis-server。用 pg_ctl 和 redis-server 以 user 启动。不要用需要 systemd 的脚本。实测 sudo 不能 mount,所以不要尝试把数据目录做成独立挂载。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(services_start, services_stop)。依赖模板:无。
需要。 无密钥。无 Docker。
极速版。 yes。限制因素:非 root 初始化数据库本次没跑,apt 通道已通。 能跑的子集:单机 Postgres + Redis。 其余:Runloop 的 DinD 在这里不可用(无 docker socket,mount 被拒绝)。
上游与调用。 Debian 包。 无头形态:pg_isready 与 redis-cli ping。
结论。 状态 new,批次 1,优先级 P1,issue #56。Express 上唯一可行的数据库形态。 来源:runloop:universal-dnd, modal:sandbox。
ocr
目的与用户。 从图片里读文字。
能力。 ocr(image_path) -> {text}。 端口:9000。 文件与产物:图片入、文本出。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 tesseract-ocr 与 tesseract-ocr-eng。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:1–2 vCPU。 SDK:Sandbox.create 之后调用命名命令(ocr)。依赖模板:无。
需要。 无。
极速版。 yes。限制因素:无。 能跑的子集:整份。 其余:不需要。
上游与调用。 Tesseract Apache-2.0。 无头形态:tesseract stdout。
结论。 状态 new,批次 1,优先级 P2,issue #57。小、可复现。 来源:upstream:tesseract。
media-tools
目的与用户。 CPU 转码。
能力。 transcode(args: list[str]) -> {stdout, stderr, exit_code},参数是列表。 端口:9000。 文件与产物:媒体文件。 流式:进度可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 ffmpeg,不要 CUDA。把包许可证写进 README。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(transcode)。依赖模板:无。
需要。 无 GPU。
极速版。 yes。限制因素:无。 能跑的子集:CPU 编解码。 其余:不需要。
上游与调用。 Debian ffmpeg。E2B desktop 也装了 ffmpeg。 无头形态:ffmpeg -i in -c:v libx264 out。
结论。 状态 new,批次 1,优先级 P2,issue #58。媒体 agent 的基础工具。 来源:e2b:desktop。
tau2-bench
目的与用户。 工具调用评测,任务是模拟域,不是活网站。
能力。 tau2_run(domain) -> {score, log_path}。模块路径从 tag v1.0.1 README 抄。 端口:9000。 文件与产物:评测日志。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 https://github.com/sierra-research/tau2-bench tag v1.0.1(MIT,2026-07-22)。PyPI 名对不上就用 git tag。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(tau2_run)。依赖模板:无。
需要。 模型 key,用户模拟器往往再要一次调用。
极速版。 yes。限制因素:无 VM。 能跑的子集:一个 domain 的官方 runner。 其余:不需要。
上游与调用。 sierra-research/tau2-bench v1.0.1 无头形态:该 tag 的 runner。
结论。 状态 new,批次 1,优先级 P1,issue #59。不需要 Docker 的评测,适合极速版。 来源:upstream:tau2-bench。
apply-patch
目的与用户。 让沙箱看懂 Codex 的 *** Begin Patch 方言。OpenSandbox 的 /files/replace 只做字面替换。
能力。 apply_patch(patch_text) -> {stdout, stderr, exit_code}。补丁写到文件再喂给二进制,不要拼进 shell。 端口:9000。 文件与产物:被修改的工作区。失败可能留下半截改动。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。OpenSandbox 文档从 openai/codex 的某个 commit 编译 codex-apply-patch。文档里的 CODEX_REF 是占位符。先选定一个 commit 再写进 Dockerfile。基础镜像用平台镜像,不要 FROM opensandbox/execd。rust 构建很重,可以在构建阶段完成,运行镜像只留二进制。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:构建要更多内存;运行 2 vCPU 足够。 SDK:Sandbox.create 之后调用命名命令(apply_patch)。依赖模板:无。
需要。 无密钥。
极速版。 partial。限制因素:可复现的 commit 还没选定,所以是 partial。 能跑的子集:选定 commit 之后,二进制本身不需要 Docker 或 KVM。 其余:不需要。
上游与调用。 https://open-sandbox.ai/examples/apply-patch (2026-10-15 抓取)。examples/ 目录里没有这个文件夹,只有文档页。 无头形态:apply_patch < /tmp/change.patch。
结论。 状态 new,批次 2,优先级 P1,issue #60。这是文件工具,不是又一个编码 CLI。 来源:opensandbox:apply-patch。
osworld
目的与用户。 OSWorld 那种看屏幕、点鼠标的计算机使用。用户是 GUI agent。
能力。 desktop_start() -> {display},screenshot() -> png bytes,click(x,y),type(text),hotkey(keys),a11y_tree() -> json(若装了 at-spi,否则返回 unverified 空),run_task_config(path),evaluate(path) -> {score}。 端口:noVNC 6080,可选。 文件与产物:PNG 截图、任务 json。 流式:VNC 是流;截图命令返回字节。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 xvfb、xdotool、scrot、openbox、x11vnc、novnc、websockify。不要写 ENTRYPOINT。命名命令启动 Xvfb :99 -screen 0 1280x720x24 和 openbox。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(desktop_start, screenshot, click, type, hotkey, evaluate)。依赖模板:无。
需要。 无 KVM、无 GPU、无 Docker。虚拟显示即可。
极速版。 partial。限制因素:完整 OSWorld 客户机是一台 VM,任务经常依赖特定 Ubuntu 应用快照。极速版没有 KVM。 能跑的子集:已实测:在 template base 里 apt 安装后,Xvfb :99、xdotool、scrot 写出 /tmp/s.png。openbox 已安装但没启动。所以截图/点击/打字这条 API 可以做。只移植不依赖 VM 快照的 evaluator 纯函数。不要承诺 OSWorld 排行榜分数。 其余:完整 VM 任务用 E2B desktop 或 Cube ubuntu-desktop(MicroVM)。OpenSandbox desktop 也是容器里的 Xvfb,和这个切片同类。
上游与调用。 https://github.com/xlang-ai/OSWorld Apache-2.0。E2B surf 是桌面 agent 示例。 无头形态:screenshot + click + type。
结论。 状态 new,批次 2,优先级 P0,issue #36。issue #36 已覆盖,不新建 linux-desktop issue。探针证明切片不是空话。 来源:opensandbox:desktop, e2b:desktop, e2b-dev/surf, cube:ubuntu-desktop, cookbook:anthropic-computer-use-orangehrm-js。
chrome
目的与用户。 同时给出 DevTools 和 VNC 的 Chrome,方便人看着 agent 点。
能力。 chrome_start() -> {cdp:9222, vnc:6080}。 端口:9222、6080。 文件与产物:用户数据目录。 流式:VNC 与 CDP。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。在 osworld 的 Xvfb 上装钉死版本的 chromium,--remote-debugging-port=9222 --disable-dev-shm-usage。OpenSandbox 镜像名 opensandbox/chrome:latest 未钉,不要 FROM。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(chrome_start)。依赖模板:osworld, browser-automation。
需要。 显示由 Xvfb 提供。shm 64M 已实测。
极速版。 partial。限制因素:本次没在极速版安装 Chromium,只有 Xvfb。Chrome 能否在 2GB 和 64M shm 下稳定,unverified。 能跑的子集:先只做无头 CDP(并入 browser-automation)。VNC 叠在 osworld 上作为第二步。 其余:Cube sandbox-browser 在 MicroVM 里起 CDP,内存更大。
上游与调用。 OpenSandbox examples/chrome。 无头形态:chromium --headless=new --remote-debugging-port=9222。
结论。 状态 new,批次 2,优先级 P1,issue #61。和 Playwright 模板的差别是调试端口加可选画面。 来源:opensandbox:chrome, cube:browser-sandbox。
swe
目的与用户。 在一个仓库的 base commit 上打补丁并跑 FAIL_TO_PASS。
能力。 swe_prepare(instance_id) -> {workdir},swe_run_agent(instance_id, prompt) -> {patch},swe_evaluate(instance_id) -> {fail_to_pass, pass_to_pass},swe_report() -> json。agent 用 mini-swe-agent,不单独再做模板。 端口:9000。 文件与产物:repo checkout、patch、测试日志。 流式:测试输出要流式。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。pip install mini-swe-agent==2.4.6。SWE-bench harness 只取数据集和测试命令,不要启动它的 Docker 后端。每个实例一个 venv:用数据集里的 python 版本若基础镜像没有,就只支持 3.13,并在报告里标明跳过。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB,磁盘是硬限制。 SDK:Sandbox.create 之后调用命名命令(swe_prepare, swe_run_agent, swe_evaluate, swe_report)。依赖模板:polyglot-toolchain。
需要。 模型 key。git。无 Docker。
极速版。 partial。限制因素:官方评测为每个实例拉一个 Docker 镜像。极速版没有 docker,sudo 也不能 mount。 能跑的子集:一个实例:checkout base、打 patch、在 venv 里跑该实例声明的测试命令。不支持依赖系统包或 Docker 的实例。SWE-rebench 同样要预构建镜像,不能跑。 其余:完整分数用 E2B(e2b-dev/swe-bench)或 Cube mini-rl-training 那种带 Docker/MicroVM 的环境。
上游与调用。 SWE-bench v5.0.1 MIT;mini-swe-agent v2.4.6 MIT;SWE-rebench/SWE-bench-fork。 无头形态:mini-swe-agent 本地后端 + pytest。
结论。 状态 new,批次 2,优先级 P0,issue #35。issue #35 已写明这个切片。 来源:cube:mini-rl-training, e2b-dev/swe-bench, upstream:SWE-bench, upstream:mini-swe-agent。
polyglot-toolchain
目的与用户。 基础镜像没有的编译器。
能力。 toolchain_versions() -> {go, rustc, java}。 端口:9000。 文件与产物:无。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。各一个 tarball:Go 1.25.x、一个钉死的 rustup toolchain、Temurin 21。不要多版本切换。构建后 df,超过约 8G 已用就砍掉 Rust。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。磁盘是限制。 SDK:Sandbox.create 之后调用命名命令(toolchain_versions)。依赖模板:无。
需要。 无密钥。
极速版。 partial。限制因素:10G rootfs,探针时空盘可用 9.3G,三个工具链加在一起 unverified。 能跑的子集:先装 Go 和 Temurin 21。 其余:OpenSandbox code-interpreter 预装了多版本,那是他们的镜像。
上游与调用。 官方 tarball。 无头形态:go version && java -version。
结论。 状态 new,批次 2,优先级 P1,issue #62。编码 CLI 遇到 Go/Java 仓库会失败。 来源:opensandbox:sandbox-images。
cursor-agent
目的与用户。 Cursor 的 agent CLI,SWE-rebench 和 Fly Sprites 都在用。
能力。 agent(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:--output-format stream-json。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。文档安装是 curl https://cursor.com/install -fsS | bash,不钉版本。找到带校验和的 URL 之前不要合并目录。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(agent)。依赖模板:无。
需要。 CURSOR_API_KEY。
极速版。 partial。限制因素:安装不可复现。 能跑的子集:命令形状 agent -p 已在 https://cursor.com/docs/cli/headless 写明。二进制能否在 Debian 13 运行,unverified。 其余:E2B cursor-agents 是企业自建机器的调度器,不是这条 CLI。
上游与调用。 https://cursor.com/docs/cli/headless 无头形态:agent -p "
结论。 状态 new,批次 2,优先级 P1,issue #63。需求真实,安装不达标。 来源:cursor-docs, fly-sprites-secondary, e2b:cursor-agents。
grok
目的与用户。 xAI 编码 CLI。
能力。 grok(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。已知安装是 curl -fsSL https://x.ai/cli/install.sh | bash,无版本。xai-org/grok 不是 CLI。钉住二进制之前不要建目录。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(grok)。依赖模板:无。
需要。 XAI_API_KEY。本环境没有。无 GPU。
极速版。 partial。限制因素:安装不可复现。 能跑的子集:命令 grok --always-approve -p 来自 E2B 文档。运行时不需要 KVM。 其余:E2B 别名 grok 已经预装。
上游与调用。 https://docs.e2b.dev/agents/grok.md 无头形态:grok --always-approve -p "
结论。 状态 new,批次 2,优先级 P1,issue #40。issue #40 已存在。 来源:e2b:grok。
copilot-cli
目的与用户。 GitHub Copilot 终端 agent。
能力。 copilot(prompt) -> {stdout, stderr, exit_code}。 端口:9000。 文件与产物:diff。 流式:unverified。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。2026-10-15 GitHub 最新 release 是预发布 v1.0.99-0,许可证 SPDX NOASSERTION。无头 flag 只在二手页面出现(copilot -p、--allow-all-tools),未在上游文档核实。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(copilot)。依赖模板:无。
需要。 Copilot token,变量名 unverified。
极速版。 partial。限制因素:没有稳定 pin,也没有核实过的 argv。 能跑的子集:等非预发布资产。 其余:OpenSandbox 有 github-copilot-cli-sandbox 示例。
上游与调用。 https://github.com/github/copilot-cli 无头形态:unverified。
结论。 状态 new,批次 2,优先级 P1,issue #64。示例存在,安装不达标。 来源:opensandbox:github-copilot-cli-sandbox。
crush
目的与用户。 Charm 的终端编码 agent。
能力。 crush(prompt)。 端口:9000。 文件与产物:diff。 流式:unverified。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。可见 release 只有 nightly。npm @charmland/crush 与 crush --yolo 来自二手页面,unverified。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(crush)。依赖模板:无。
需要。 模型 key。
极速版。 partial。限制因素:无稳定 pin。 能跑的子集:有稳定 tag 之后就是一条普通 CLI,不需要 Docker。 其余:不需要。
上游与调用。 https://github.com/charmbracelet/crush 无头形态:unverified。
结论。 状态 new,批次 2,优先级 P1,issue #65。仓库活跃,安装不够格。 来源:upstream:charmbracelet/crush。
cline
目的与用户。 Cline 的 CLI 形态,不是 VS Code 扩展。
能力。 cline(prompt)。 端口:9000。 文件与产物:diff。 流式:unverified。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。release v4.1.24(2026-10-13,Apache-2.0)。npm 包名和 --yolo 未在该 tag 核实。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(cline)。依赖模板:无。
需要。 模型 key。
极速版。 partial。限制因素:argv unverified。 能跑的子集:读完 tag 之后若是单二进制,就进极速版。 其余:不需要。
上游与调用。 https://github.com/cline/cline v4.1.24 无头形态:unverified。
结论。 状态 new,批次 2,优先级 P1,issue #66。70k stars,CLI 入口还没读到。 来源:upstream:cline/cline。
deepagents
目的与用户。 LangChain Deep Agents 的文件和 shell 工具跑在沙箱里面。
能力。 deepagents(task) -> {stdout}。0.7.25 是否自带控制台脚本 unverified。没有的话用短 Python 驱动,工具只打本地文件系统。 端口:9000。 文件与产物:工作区。 流式:可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。pip install deepagents==0.7.25(2026-10-14,MIT)。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU,2GB。 SDK:Sandbox.create 之后调用命名命令(deepagents)。依赖模板:无。
需要。 模型 key。
极速版。 partial。限制因素:入口 unverified。 能跑的子集:进程内 agent,不要再去创建 E2B/OpenSandbox。 其余:OpenSandbox 示例是宿主进程加他们的后端。E2B 没有公开别名。
上游与调用。 https://github.com/langchain-ai/deepagents deepagents==0.7.25 无头形态:unverified。
结论。 状态 new,批次 2,优先级 P1,issue #67。两边都有集成文档。 来源:opensandbox:deep-agents, e2b:agents/deep-agents。
stagehand
目的与用户。 Browserbase 的 Node 浏览器 SDK。
能力。 stagehand(instruction) -> {result}。 端口:9000。 文件与产物:截图。 流式:可选。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。release 名 stagehand-server-v3/v3.7.6(2026-08-28)。npm 版本未核对。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。shm 64M。 SDK:Sandbox.create 之后调用命名命令(stagehand)。依赖模板:browser-automation。
需要。 模型 key,或 BROWSERBASE_API_KEY。
极速版。 partial。限制因素:API 未钉,且和 browser-use 重叠。 能跑的子集:本地 Chromium。云浏览器不是这个模板。 其余:Browserbase 云。
上游与调用。 https://github.com/browserbase/stagehand 无头形态:unverified。
结论。 状态 new,批次 2,优先级 P2,issue #68。只有调用方坚持要 Node SDK 时再做。 来源:cookbook:mcp-browserbase-js。
prime-agent
目的与用户。 Prime Intellect 的长程 agent。
能力。 prime_agent(prompt)。 端口:9000。 文件与产物:工作区,可能有 IPython 状态。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。可见 release 只有 nightly。不要用浮动安装脚本。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(prime_agent)。依赖模板:无。
需要。 ANTHROPIC_API_KEY。
极速版。 partial。限制因素:无稳定 pin。IPython 额外依赖 unverified。 能跑的子集:E2B 文档的 prime-agent -p 不需要 KVM。 其余:E2B 别名 prime。
上游与调用。 https://github.com/PrimeIntellect-ai/prime-agent;https://docs.e2b.dev/agents/prime.md 无头形态:prime-agent -p "
结论。 状态 new,批次 2,优先级 P2,issue #69。命令已知,发布通道不够。 来源:e2b:prime。
appworld
目的与用户。 可控应用世界里的函数调用评测。
能力。 appworld_run(task) -> {score}。 端口:9000。 文件与产物:任务日志。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。tag v0.1.3.post1(2026-02-17,Apache-2.0)。是否调用 Docker unverified。若 README 要求 Docker 就停。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(appworld_run)。依赖模板:无。
需要。 模型 key。
极速版。 partial。限制因素:Docker 依赖未核实。 能跑的子集:纯 Python 任务可以跑。 其余:若必须 Docker,用 Cube 或 E2B 的 Docker 配方,不是极速版。
上游与调用。 https://github.com/stonybrooknlp/appworld 无头形态:该 tag 的 runner。
结论。 状态 new,批次 2,优先级 P2,issue #70。比 tau2 旧,放后面。 来源:upstream:appworld。
muse
目的与用户。 Meta 的终端/CI 编码 agent。
能力。 muse(prompt)。 端口:9000。 文件与产物:diff。 流式:--json。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。E2B 预装了它。公开安装 pin 本次没找到,GitHub 上没有 facebook/muse 或 meta-llama/muse。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(muse)。依赖模板:无。
需要。 META_API_KEY。
极速版。 partial。限制因素:没有可复现安装物。 能跑的子集:muse exec --yolo 不需要 KVM,前提是二进制存在。 其余:E2B 别名 muse。cookbook muse-execution-backend 是宿主示例。
上游与调用。 https://docs.e2b.dev/agents/muse.md;https://dev.meta.ai/docs/muse-code 无头形态:muse exec --yolo "
结论。 状态 new,批次 2,优先级 P2,issue #71。E2B 有,我们没有安装物。 来源:e2b:muse, cookbook:muse-execution-backend-python。
devin
目的与用户。 Cognition 的终端编码 agent。
能力。 devin(prompt),devin --permission-mode dangerous -p。 端口:9000。 文件与产物:diff。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。E2B 别名 devin。首次要交互登录。无头安装 pin unverified。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(devin)。依赖模板:无。
需要。 Devin 账号。
极速版。 partial。限制因素:登录是交互的。 能跑的子集:若能用 token 跳过登录,命令本身不需要 KVM。未验证。 其余:E2B devin 与 devin-outposts(企业调度器)。
上游与调用。 https://docs.e2b.dev/agents/devin.md 无头形态:devin --permission-mode dangerous -p "
结论。 状态 new,批次 2,优先级 P2,issue #72。登录挡住了可复现安装。 来源:e2b:devin, e2b:devin-outposts。
waa
目的与用户。 Windows 上的计算机使用评测。
能力。 rdp_open(host) -> {status},winrm_run(command) -> {stdout}。不在沙箱里跑 Windows。 端口:出站 3389/5985,不在沙箱内监听 Windows。 文件与产物:截图若远程桌面客户端能抓。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。安装钉死版本的 freerdp 客户端或 pywinrm。不要装 QEMU。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(winrm_run)。依赖模板:无。
需要。 一台调用方提供的 Windows 目标。无 KVM 也变不出 Windows。
极速版。 partial。限制因素:极速版是 Linux 容器。OpenSandbox 的 dockurr/windows 要 KVM/QEMU。探针没有 /dev/kvm,sudo mount 失败。 能跑的子集:作为远程 RDP/WinRM 客户端,连一台已经存在的 Windows。评测脚本里的 Windows 应用仍在那台机器上。 其余:Windows 客户机用 Cube MicroVM(他们的桌面示例是 Linux)、OpenSandbox windows 示例(dockurr/windows,要 KVM)、Daytona windows-* 快照、E2B 不提供 Windows。
上游与调用。 https://github.com/microsoft/WindowsAgentArena v0.0.4 MIT。 无头形态:xfreerdp 或 WinRM。
结论。 状态 new,批次 3,优先级 P2,issue #37。issue #37。不要写裸的 no。 来源:opensandbox:windows, daytona:windows-snapshots, upstream:WAA。
phone-sandbox
目的与用户。 一台手机或模拟器:屏幕和触摸。
能力。 adb_connect(addr) -> {serial},adb_screencap() -> png,adb_input(cmd)。 端口:出站 5555。 文件与产物:截图。 流式:scrcpy 可选,未验证。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。apt 钉 android-tools-adb 或官方 platform-tools 的版本化 zip。不要装模拟器系统镜像。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:客户端 2 vCPU 足够。 SDK:Sandbox.create 之后调用命名命令(adb_connect, adb_screencap, adb_input)。依赖模板:android-world。
需要。 调用方提供的设备或远程模拟器。沙箱 API 没有手机资源。
极速版。 partial。限制因素:没有 /dev/kvm,也没有设备节点。 能跑的子集:adb 客户端连 host:5555。屏幕和触摸发生在远端。 其余:模拟器本身用带 KVM 的 OpenSandbox/Cube/E2B android-16(redroid)。
上游与调用。 没有单一上游。E2B android-16 是相邻能力。 无头形态:adb connect && adb exec-out screencap -p。
结论。 状态 new,批次 3,优先级 P2,issue #38。issue #38。 来源:e2b:android-16。
android-world
目的与用户。 在 Android 模拟器里跑 116 个动态任务。
能力。 android_eval(task) -> {score} 只有在 adb 已连上时才有意义。 端口:adb 5555,gRPC 8554 是模拟器侧。 文件与产物:任务日志。 流式:不强制。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。pip 钉 android_world 的某个 commit(仓库无 release)。不要下载 AVD 系统镜像。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:客户端 2 vCPU。模拟器要 KVM 和数 GB。 SDK:Sandbox.create 之后调用命名命令(adb_connect, android_eval)。依赖模板:phone-sandbox。
需要。 远端模拟器。无本地 GPU 需求。
极速版。 partial。限制因素:官方启动是 emulator -avd AndroidWorldAvd -grpc 8554。探针无 /dev/kvm。 能跑的子集:把环境变量指到远程 adb。accessibility 转发若绑在本地 gRPC,则只有命令通道能用,任务复位 unverified。 其余:E2B android-16 在他们的 microVM 里跑 redroid。Cube/OpenSandbox 若给 KVM 也能跑模拟器。
上游与调用。 https://github.com/google-research/android_world Apache-2.0。 无头形态:python run.py 指向远程 adb。
结论。 状态 new,批次 3,优先级 P2,issue #39。issue #39。 来源:e2b:android-16, upstream:android_world。
k3s
目的与用户。 一次性 Kubernetes。E2B e2b/k3s 是单节点集群。
能力。 kubectl_apply(manifest) -> {stdout},kubeconfig 由调用方传入。 端口:出站 6443。 文件与产物:kubeconfig 只从环境变量读,不写进镜像。 流式:不需要。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。安装钉死版本的 kubectl 静态二进制。不要装 k3s、containerd 或 CNI。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:客户端可忽略。 SDK:Sandbox.create 之后调用命名命令(kubectl_apply)。依赖模板:无。
需要。 一台外部 apiserver。
极速版。 partial。限制因素:探针:无 docker socket,sudo mount 失败,无 fuse。k3s 要 cgroup 和容器运行时。E2B 能跑是因为 microVM,且他们自己的文档也写了没有 BPF JIT、不能 Kata/KubeVirt。 能跑的子集:kubectl 客户端。集群不在这个沙箱里。 其余:真集群用 E2B e2b/k3s,或 OpenSandbox 的 AKS+Kata / kubernetes-sigs agent-sandbox。Cube 也是 MicroVM,不是在容器里套 k3s。
上游与调用。 https://docs.e2b.dev/use-cases/k3s.md 无头形态:kubectl get nodes。
结论。 状态 new,批次 3,优先级 P2,issue #42。issue #42。 来源:e2b:e2b/k3s, opensandbox:agent-sandbox, opensandbox:aks-kata。
omarchy
目的与用户。 basecamp/omarchy 是一套 Arch + Hyprland 桌面意见。它不是编码 CLI。
能力。 没有提示词命令。不要发明一个。若只是想要主题字体,那不是这个模板的目的。 端口:无。 文件与产物:无。 流式:无。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要在 Debian 13 上安装 Arch/Hyprland。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:不适用。 SDK:Sandbox.create 之后调用命名命令((无))。依赖模板:osworld。
需要。 真实座位和 Wayland。Xvfb 不能满足 Hyprland。
极速版。 partial。限制因素:发行版和显示栈都不是极速版。 能跑的子集:没有任何 Hyprland 会话可跑。要桌面用 osworld 的 Xvfb+openbox。Omarchy 的 CLI 工具若将来单独发布,再单独立项。 其余:一台 Arch 虚拟机(Cube/E2B 自定义镜像),不是 Express。
上游与调用。 https://github.com/basecamp/omarchy v4.0.4 MIT。 无头形态:无。
结论。 状态 new,批次 3,优先级 P2,issue #43。issue #43。切片是承认它没有无头入口,并把桌面需求指到 osworld。 来源:upstream:omarchy。
qm
目的与用户。 yc-software/qm 是带可插拔沙箱后端的 agent harness。
能力。 qm_run(task) -> {stdout} 仅当存在不外出的 local shell 后端。 端口:9000。 文件与产物:qm 工作区。 流式:unverified。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。钉 tag desktop-v0.1.2 只是预发布。先读该 tag 是否有 local 后端。不要把 Docker/E2B/Modal 后端编进镜像。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:2 vCPU。 SDK:Sandbox.create 之后调用命名命令(qm_run)。依赖模板:无。
需要。 模型 key。后端租约不在我们的 server 里。
极速版。 partial。限制因素:产品价值在后端路由。极速版提供不了那些后端。 能跑的子集:若代码能把 shell 打到本容器,就只暴露这一条。远程后端不做。本次未读源码确认 local 后端,标 unverified。 其余:E2B、Modal、MicroVM 后端由那些平台自己提供。
上游与调用。 https://github.com/yc-software/qm MIT。 无头形态:unverified。
结论。 状态 new,批次 3,优先级 P2,issue #44。issue #44。 来源:upstream:qm。
qm-sandbox
目的与用户。 QM 的沙箱层。文档里的一种接法是 Superserve 模板 qm-agent-0.1.0。
能力。 不在极速版注册 Superserve 模板。最多 qm_sandbox_status() 打印“需要外部后端”。 端口:无。 文件与产物:无。 流式:无。
构建。 FROM fc-e2b-registry.<region>.cr.aliyuncs.com/runtime/base:<tag>。不要 COPY 后端控制面。 平台 generation 2 的 start_cmd 固定为 agent-sandbox-server serve --port 9000 --commands /home/user/app/commands.py,ready_cmd 为 agent-sandbox-server healthcheck --port 9000。不要写镜像 CMD/ENTRYPOINT。资源:无。 SDK:Sandbox.create 之后调用命名命令((无))。依赖模板:qm。
需要。 SUPERSERVE_API_KEY 与外部模板。
极速版。 partial。限制因素:abx template install 不会创建 qm-agent-0.1.0。 能跑的子集:没有可执行的沙箱实现。调用方应直接使用本目录里的 CLI 模板,而不是绕到 QM。 其余:Superserve、E2B、Modal、Cube MicroVM。
上游与调用。 QM 文档中的 SUPERSERVE_TEMPLATE。 无头形态:无。
结论。 状态 new,批次 3,优先级 P2,issue #45。issue #45。 来源:upstream:qm-sandbox。