メインコンテンツへ移動

VercelServerlessSandbox

コマンドを Vercel サーバーレス関数として実行します。自動スケーリングに対応した、グローバル分散型のインフラ管理不要な実行環境を提供します。インターフェースの詳細は、WorkspaceSandbox インターフェースを参照してください。

警告

VercelServerlessSandbox はステートレスです。永続 Filesystem、対話型シェル、長時間実行するバックグラウンドプロセスは提供しません。書き込み可能なのは /tmp のみで、その内容は呼び出し間で保持されません。

注記

永続 Filesystem、sudo アクセス、公開ポート、バックグラウンドプロセスを備えた完全な Linux MicroVM が必要な場合は、VercelSandbox を使用してください。これは Vercel Sandbox 製品を基盤とします。

インストール
インストールへの直接リンク

npm install @mastra/vercel

使用方法
使用方法への直接リンク

Workspace に VercelServerlessSandbox を追加して Agent に割り当てます。

import { Agent } from '@mastra/core/agent'
import { Workspace } from '@mastra/core/workspace'
import { VercelServerlessSandbox } from '@mastra/vercel'

const workspace = new Workspace({
sandbox: new VercelServerlessSandbox({
token: process.env.VERCEL_TOKEN,
}),
})

const agent = new Agent({
id: 'dev-agent',
name: 'dev-agent',
instructions: 'You are a coding assistant working in this workspace.',
model: 'anthropic/claude-sonnet-4-6',
workspace,
})

カスタムリソースを使用したチームスコープのデプロイ
カスタムリソースを使用したチームスコープのデプロイへの直接リンク

const workspace = new Workspace({
sandbox: new VercelServerlessSandbox({
token: process.env.VERCEL_TOKEN,
teamId: 'team_abc123',
regions: ['iad1', 'sfo1'],
maxDuration: 120,
memory: 3008,
env: {
NODE_ENV: 'production',
},
}),
})

コンストラクターパラメーター
コンストラクターパラメーターへの直接リンク

token?:

string
Vercel API トークン。未指定の場合は環境変数 VERCEL_TOKEN を使用します。

teamId?:

string
チームスコープのデプロイに使用する Vercel チーム ID。

projectName?:

string
既存の Vercel プロジェクト名。省略すると自動生成されます。

regions?:

string[]
= ['iad1']
デプロイ先のリージョン。

maxDuration?:

number
= 60
関数の最大実行時間(秒)。

memory?:

number
= 1024
関数のメモリ容量(MB)。

env?:

Record<string, string>
デプロイする関数のソースに組み込む環境変数。動的に設定されるのではなく、デプロイ時に埋め込まれます。

commandTimeout?:

number
= 55000
呼び出しごとのコマンドタイムアウト(ミリ秒)。

instructions?:

string | ((opts) => string)
getInstructions() が返すデフォルトの指示を上書きするカスタム指示。完全に置き換えるには文字列を、デフォルトを拡張するには関数を渡します。

onStart?:

SandboxLifecycleHook
Sandbox が running ステータスになった後に呼び出されるライフサイクルフック。

onStop?:

SandboxLifecycleHook
Sandbox が停止する前に呼び出されるライフサイクルフック。

onDestroy?:

SandboxLifecycleHook
Sandbox が破棄される前に呼び出されるライフサイクルフック。

プロパティ
プロパティへの直接リンク

id:

string
この Sandbox インスタンスの一意な識別子。

name:

'VercelServerlessSandbox'
人が読みやすい名前。

provider:

'vercel-serverless'
Provider の種類を表す識別子。

status:

ProviderStatus
現在のライフサイクルステータス:'pending''starting''running''stopping''stopped''destroying''destroyed''error'

制限事項
制限事項への直接リンク

VercelServerlessSandbox は内部でサーバーレス関数を使用するため、次の制限があります。

  • 永続 Filesystem なし/tmp に書き込まれたファイルは一時的なもので、呼び出し間で消去されます。
  • 対話型シェルなし:コマンドは /bin/sh -c で実行され、stdin ストリーミングはありません。
  • バックグラウンドプロセスなし:プロセスマネージャー、PID、長時間実行タスクは利用できません。
  • マウントなし:クラウドストレージ(S3、GCS)のマウントには対応していません。
  • タイムアウト制限:最大実行時間は maxDuration(デフォルト60秒)によって制限されます。