SuperAPI AI 工具集

sandbox-migrate-to-next

部署与运维

查看项目

更新于 10-16 09:31

技能介绍

用途:把现有 Cloudflare Sandbox 应用从稳定版 @cloudflare/sandbox 迁移到 @next(1.0 预览版)。新项目应直接用 sandbox-next,日常稳定工作用 sandbox-stable;仅在用户明确要求时执行本迁移,且不得在用户未同意时强制生产切换。

主要能力:按顺序执行迁移流程——审查硬性规则与替换映射、审计代码库、与用户确认(切换、桥接、Python 镜像、未覆盖调用点)、升级包与镜像及代码、验证。硬性规则包括:Worker 包与容器镜像必须同一 @next 线;生产切换用立即容器滚动(--containers-rollout=immediate),稳定版与 @next 控制协议双向不兼容,渐进滚动会留下混合故障窗口;切换后 await sandbox.exec(...) 仅表示进程已启动而非命令完成;argv 原样传递,无隐式 shell;进程句柄无 stdin,交互输入用终端;观察超时/AbortSignal 只取消等待不取消进程;不要为所有错误写单一重试循环;不要臆造 API。

替换映射要点:移除 SANDBOX_TRANSPORT/transport/setTransport(仅 RPC);exec 改为 argv 句柄加 output/等待;execStream/startProcess 统一为句柄;默认/命名会话移除,改为每次启动的 cwd/env 或单个 shell 脚本;sandbox.terminal 改为 createTerminal + terminal.connect;sessionId 改为 terminalId;解释器方法改为 sandbox.interpreter.*;gitCheckout 改为 argv git;kill 信号仅数字;文件、挂载、备份、端口、隧道、proxyToSandbox 基本不变。

使用方式:审计用 rg 搜索相关 API;升级执行 npm install @cloudflare/sandbox@next,镜像 FROM cloudflare/sandbox:next(Python 用 next-python);部署用 npx wrangler deploy --containers-rollout=immediate,rollout_active_grace_period 保持默认 0;验证锁文件与 Dockerfile 同线、类型检查、冒烟测试 argv exec 与 output({ encoding: "utf8" })、长进程/终端/解释器、错误区分、无实时密钥、再次 grep 已移除 API。

适用场景:需要为 1.0 稳定版发布做准备的现有应用迁移。限制:自部署桥接仍留在稳定版;切换后旧进程/终端 ID 失效;不得在用户未同意时强制生产切换;资料未提供具体收费、价格或效果信息。