Vercel 沙箱刚刚上线了一项能大幅简化环境复用的能力——沙箱分叉。通过 Sandbox.fork() 这一新接口,开发者可以像给代码仓库开分支一样,从已有沙箱的快照中快速派生出一个独立、可定制的副本。这项功能直接命中多租户模板分发、并行实验等高频场景,让沙箱不再是一次性的临时容器,而成为可继承、可复用的基础设施单元。
分叉的操作逻辑非常直接:它会从源沙箱的当前快照开始,并自动继承其全部配置和环境变量。如果源沙箱正在运行,分叉取的是最新一次保存的持久化状态,而不是实时内存中的数据。当源沙箱从未创建过快照时,系统会降级为一次全新的创建,但仍会沿用源沙箱的运行时和基础配置。开发者还可以在分叉时传入自己的参数,这些指定的值会覆盖继承而来的默认项,让副本在继承与定制之间保持平衡。
性能方面,分叉的耗时和资源限制与直接创建沙箱保持一致。使用场景则非常多样:比如从一个共享的基础代理环境拉出独立分支;为每个租户快速提供完全一致的模板副本;或者并排运行同一套设置的多个变体,进行对比测试。这些需求以往要靠重复配置或快照手动还原来实现,现在只需一次分叉调用。
实际使用同样简单。在 SDK 中,分叉一个沙箱只需指定源沙箱标识:const fork = await Sandbox.fork({ sourceSandbox: 'prod-agent' }),所有字段都会从快照继承。如果想覆盖部分设置,比如重命名或调整计算资源,也只需要在调用中追加对应参数:name: 'forked-prod-agent', resources: { vcpus: 4 }。命令行工具也给出了一致的体验,用 sandbox fork prod-agent --name forked-prod-agent --vcpus 4 即可完成同样操作。所有未被显式覆盖的配置,都会保持与源快照一致。
想要尝试这一功能,只需将 SDK 升级到 @vercel/sandbox@latest,CLI 也可以通过 pnpm install -g sandbox@latest 获得更新。更多细节可查阅 Vercel Sandbox 官方文档。对需要在沙箱之间快速复制状态、派生独立环境的团队来说,这一更新让沙箱的复用效率往前迈了一大步。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.