SuperAPI AI 工具集

sandbox-v2-lifecycle

部署与运维

查看项目

更新于 10-16 06:09

技能介绍

Sandbox v2 Lifecycle 是 vercel-openclaw 项目中的一项技能,专注于 Vercel Sandbox v2 的生命周期管理,涵盖沙箱的创建、恢复、停止、重置、热备、worker 沙箱以及调试时序相关工作。

用途 该技能用于处理 vercel-openclaw 的沙箱生命周期、恢复、停止、重置、热备、worker 沙箱和调试时序任务。其权威依据是官方 Vercel Sandbox v2 文档;仓库文档或智能体指引若假设 v1 或手动快照恢复,则视为过时,除非已更新。

核心模型 主 OpenClaw 运行时是一个具名持久化沙箱。持久化 stop() 会自动保存文件系统状态,正常停止无需手动 snapshot()。正常唤醒通过仓库控制器以 Sandbox.get({ name, resume: true }) 按名称恢复。resume 默认为 false;观察或状态对账时应使用 resume:false。命令可能自动恢复已停止的持久化沙箱;stop() 与 update() 不会。手动 snapshot() 仅用于显式调试或检查点,它会关闭沙箱,之后不应再调用 stop()。delete() 会永久移除持久化沙箱及其会话与快照。worker/调试沙箱为短生命周期,需传入 persistent:false。

仓库不变量 需保留一个持久化 OpenClaw 沙箱、Redis 元数据、通道唤醒/恢复以及短生命周期 worker。除文档化的原始 SDK 调试路由外,SDK 访问应保持在 src/server/sandbox/controller.ts 之后。需区分主机元数据状态、SDK 状态/会话、网关就绪状态、持久化自动保存状态与手动 Snapshot API。不得将手动 snapshotId 用作正常恢复门控。在快照或停止观察期间应保留 resume:false。需保持生命周期锁与故障关闭防火墙行为。

使用方式 按需加载参考文档:references/vercel-sandbox-v2-persistent.md(持久化沙箱自动保存/恢复/名称/会话模型)、references/vercel-sandbox-v2-sdk.md(SDK 调用、恢复标志、删除、命令行为与网络策略说明)、references/vercel-sandbox-v2-snapshots.md(手动 Snapshot API 语义)、references/vercel-openclaw-lifecycle-map.md(仓库特定不变量与归属文件)。

工作流程 阅读 lat.md/sandbox-lifecycle.md、docs/lifecycle-and-restore.md 及本技能相关参考。检查 src/server/sandbox/lifecycle.ts、controller.ts、restore-attestation.ts、hot-spare.ts 与 worker 沙箱代码。判断变更影响的是持久化恢复、手动快照、重置/删除、worker 还是调试诊断。以最小改动面修复 v2 事实模型。在广泛验证前先添加或调整针对性测试。

验证 先运行覆盖范围最窄的测试,再对生命周期变更运行更广的门控:node --import tsx --test src/server/sandbox/restore-attestation.test.ts、pnpm run test:lifecycle、pnpm run typecheck、pnpm run lint、lat check。当涉及启动验证或预检时,还需运行 pnpm run verify:observability-pass。

适用场景与限制 该技能适用于 vercel-openclaw 仓库内与 Vercel Sandbox v2 生命周期相关的开发、调试与维护工作。其限制在于:必须以官方 Vercel Sandbox v2 文档为准,仓库内假设 v1 或手动快照恢复的指引视为过时;手动 snapshot() 仅限显式调试或检查点,不能作为正常恢复门控;SDK 访问需保持在 controller.ts 之后(文档化的原始 SDK 调试路由除外)。关于收费、价格、平台支持范围等具体信息,资料中暂未提供。