Skip to content

参考

基于 codesandbox.io/docs 2025–2026 现状编写

SDK 方法速查

@codesandbox/sdk,先 const sdk = new CodeSandbox(process.env.CSB_API_KEY)

方法 / 成员返回行为
new CodeSandbox(CSB_API_KEY)SDK 实例用 API key 初始化 SDK
sdk.sandboxes.create()Promise<Sandbox>从默认 / 自定义模板 fork 出新沙箱(1–3s)
sdk.sandboxes.get(id)Promise<Sandbox>按 ID 高效取单个沙箱(优于 list 过滤)
sdk.sandboxes.list()Promise<Sandbox[]>列举沙箱
sandbox.connect()Promise<Client>连接进入沙箱,拿到 client
client.commands.run(cmd)Promise<string>在沙箱内执行命令并返回输出
sandbox.title / sandbox.tags数据沙箱元信息

生命周期动作(由 SDK 触发):创建 / 连接 / 暴露 host / hibernate(休眠) / resume(恢复) / delete(删除)。鉴权环境变量为 CSB_API_KEY,token 在 https://codesandbox.io/t/api 创建。

沙箱生命周期与恢复速度

阶段时间 / 说明
从模板 fork 创建1–3 秒就绪
克隆 VM 与快照< 2 秒
Resume(内存/磁盘快照)0.5–2 秒(快照恢复 < 1s)
Resume(磁盘快照)5–20 秒
Resume(归档)20–60 秒
休眠快照磁盘保留至多 7 天,超时 / 紧张则归档到长期存储

VM Sandbox vs Browser Sandbox

维度VM Sandboxes(核心)Browser Sandboxes
运行位置服务端 Firecracker microVM浏览器内执行环境(client-side)
能跑什么任意语言 / 任意 Dockerfile / 原生二进制 / 真实数据库各框架专用 bundler,镜像其默认行为
网络任意出站,连真实 Postgres·Redis·Mongo受浏览器限制
自定义构建完整(真 Linux 用户态)不支持自定义 webpack / eject
断网断网即断断网仍可继续打包
持久化跨会话持久化 + 内存快照休眠/恢复适合临时原型 / 分享
计费VM credits不耗 credits
由谁创建SDK / 网页 / 导入仓库网页新建
编辑器VS Code for the webVS Code for the web

CodeSandbox VM vs StackBlitz WebContainers

维度CodeSandbox(VM / SDK)StackBlitz(WebContainers)
执行位置服务端 microVM客户端浏览器(WASM)
数据库连真实 Postgres·Redis·Mongo连不上外部 DB(需原始 TCP)
原生二进制支持需先移植到 WASM
算力 / 计费云端服务器 / 按 VM 时长本地 CPU / 无服务器成本
冷启动fork 1–3s,快照 resume 0.5–2s毫秒级 boot
离线断网即断(Browser Sandbox 例外)可离线

Sandpack 常用 prop

@codesandbox/sandpack-react,开箱组件 <Sandpack />(浏览器内运行)。

Prop作用
template选内置模板(自带 files + dependencies),最小起步
customSetup加依赖 / 改文件结构
options切内置 UI(showNavigator / showLineNumbers / showTabs / closableTabs
theme预设或自定义主题

底层可拆组件:SandpackProvider / SandpackThemeProvider / SandpackCodeEditor / SandpackTranspiledCode;编辑器底层 CodeMirror;浏览器内 Node 运行时 Nodebox(内置支持 Next.js / Remix / Vite / Astro);框架无关封装 sandpack-client

套餐功能对照

计费骨架 = VM credits(仅 VM Sandboxes 耗用,把 VM 运行时长换算成成本;Browser Sandboxes 不耗 credits)。所有金额以官网 https://codesandbox.io/pricing 为准,可能随时调整。

档位定位VM credits / 并发 / SDK金额(以官网为准)
Build(免费)学习与试验每月一定额度 VM credits;SDK lite(限并发 VM Sandboxes,约 10);无限 Browser & VM Sandboxes;私有沙箱;较小 VM 规格免费
Scale(付费起步)按量订阅,规模化使用更多每月 VM credits + 可买 on-demand credits;完整 SDK(非 lite);更高每小时新建沙箱 / 并发 VM / 请求上限;更多 VM 档位约 $170 / 月起,credit 约 $0.015(以官网为准
Enterprise大规模 / 合规自定义并发 / 请求上限;批量 credit 折扣;最高 VM 规格;SOC 2 Type II;可选 SSO / 专属集群联系销售(Custom)

档位结构与金额会变,别写死

KB 抓取时底部对比表里多出一列 "Pro"(页面卡片只有 Build / Scale / Enterprise 三档),疑为遗留 / 过渡列。写作 / 答题以三档卡片为准,且所有金额、credit 单价、并发数都以官网实时数据为准——CodeSandbox 收购后定价重构频繁,老数字极易过时。

易错点

  • 当前 taxonomy 是「VM Sandboxes + Browser Sandboxes」两类,不是「Sandboxes / Devboxes / CDE 三产品线」——后者是历史营销叙事。
  • CodeSandbox ≠ 浏览器内运行:核心 VM Sandboxes / SDK 是服务端 Firecracker microVM,只有 Browser Sandboxes 与 Sandpack 是浏览器内;别把「整体」说成 client-side。
  • WebContainers 也能跑 Python(2023 起经 WASI),但仍是浏览器内 WASM、连不上外部数据库;别说它「只能跑 JS」。
  • SDK 与 Sandpack 是两个层:SDK 拉起服务端真 VM 执行代码;Sandpack 在浏览器内嵌入实时示例。
  • credit 单价 ~$0.015/credit 与 on-demand ~$0.15/小时是两个不同数字,别混;所有金额以官网为准。