跳转到内容

在 Vercel 沙箱上自托管

Vercel 把每个 Session 作为一个持久命名沙箱运行,通过官方 @vercel/sandbox SDK 创建(动态导入,因此必须已安装)。驱动在就绪前重新应用默认拒绝的防火墙策略,支持提供商侧的凭证变换与转发,并做属主校验的硬删除。

Terminal window
VERCEL_TOKEN= # 必需
VERCEL_TEAM_ID= # 必需
VERCEL_PROJECT_ID= # 必需

Vercel 通过运行时宿主组合接入,而不是 SANDBOX_PROVIDER。使用 @open-managed-agents/managed-runtime-vercel 提供的 createVercelProvider、createVercelManagedRuntime 或 createVercelManagedRuntimeDriver:

const driver = createVercelManagedRuntimeDriver({
leaseTtlMs: 90_000,
credentials: {
token: process.env.VERCEL_TOKEN!,
teamId: process.env.VERCEL_TEAM_ID!,
projectId: process.env.VERCEL_PROJECT_ID!,
},
networkPolicy: () => ({
// 就绪前重新应用的默认拒绝规则集
}),
});

createOptions 接收分配上下文并返回任意 VercelCreateOptions(镜像、资源、超时、端口、环境变量)。networkPolicy 返回 VercelNetworkPolicy——提供商的默认拒绝匹配器集,包括路径作用域的请求头变换和转发代理规则。工厂还接受 client、runtimeEnvironment、outputStore、outputKeyPrefix、credentialEgress、sessionInputs 和 readiness。

Harness 通道仅 ama_worker
suspendResume支持(持久文件系统 + 快照恢复)
工作区retained_runtime,持久
输出final_collect,持久
进程检查点无
凭证出口默认 unsupported/snapshot