VercelServerlessSandbox
コマンドを Vercel サーバーレス関数として実行します。自動スケーリングに対応した、グローバル分散型のインフラ管理不要な実行環境を提供します。インターフェースの詳細は、WorkspaceSandbox インターフェースを参照してください。
警告
VercelServerlessSandbox はステートレスです。永続 Filesystem、対話型シェル、長時間実行するバックグラウンドプロセスは提供しません。書き込み可能なのは /tmp のみで、その内容は呼び出し間で保持されません。
注記
永続 Filesystem、sudo アクセス、公開ポート、バックグラウンドプロセスを備えた完全な Linux MicroVM が必要な場合は、VercelSandbox を使用してください。これは Vercel Sandbox 製品を基盤とします。
インストールインストールへの直接リンク
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/vercel
pnpm add @mastra/vercel
yarn add @mastra/vercel
bun add @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秒)によって制限されます。
関連項目関連項目への直接リンク
- WorkspaceSandbox インターフェース
- Workspace クラス
- E2BSandbox:永続 Filesystem とプロセス管理を備えた高機能なクラウド Sandbox