> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # VercelServerlessSandbox Exécute des commandes sous forme de fonctions serverless [Vercel](https://vercel.com). Fournit une exécution distribuée à l’échelle mondiale, sans infrastructure et avec mise à l’échelle automatique. Pour en savoir plus sur l’interface, consultez l’[interface WorkspaceSandbox](https://mastra.zisheng.pro/fr/reference/workspace/sandbox). > **Attention:** VercelServerlessSandbox est sans état. Il ne fournit ni système de fichiers persistant, ni shell interactif, ni processus d’arrière-plan de longue durée. Seul `/tmp` est accessible en écriture et son contenu est éphémère entre les appels. > **Remarque:** Pour disposer d’une MicroVM Linux complète avec un système de fichiers persistant, un accès `sudo`, des ports exposés et des processus d’arrière-plan, utilisez [`VercelSandbox`](https://mastra.zisheng.pro/fr/reference/workspace/vercel-sandbox), qui repose sur le produit [Vercel Sandbox](https://vercel.com/docs/vercel-sandbox). ## Installation **npm**: ```bash npm install @mastra/vercel ``` **pnpm**: ```bash pnpm add @mastra/vercel ``` **Yarn**: ```bash yarn add @mastra/vercel ``` **Bun**: ```bash bun add @mastra/vercel ``` ## Utilisation Ajoutez un `VercelServerlessSandbox` à un Workspace et attribuez-le à un Agent : ```typescript 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, }) ``` ### Déploiement limité à une équipe avec des ressources personnalisées ```typescript 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', }, }), }) ``` ## Paramètres du constructeur **token** (`string`): Token d’API Vercel. Utilise par défaut la variable d’environnement VERCEL\_TOKEN. **teamId** (`string`): ID de l’équipe Vercel pour les déploiements limités à une équipe. **projectName** (`string`): Nom d’un projet Vercel existant. Généré automatiquement s’il est omis. **regions** (`string[]`): Régions de déploiement. (Default: `['iad1']`) **maxDuration** (`number`): Durée maximale de la fonction, en secondes. (Default: `60`) **memory** (`number`): Mémoire de la fonction, en Mo. (Default: `1024`) **env** (`Record`): Variables d’environnement intégrées au code source de la fonction déployée. Elles sont incorporées au moment du déploiement et ne sont pas définies dynamiquement. **commandTimeout** (`number`): Délai d’expiration des commandes pour chaque appel, en millisecondes. (Default: `55000`) **instructions** (`string | ((opts) => string)`): Instructions personnalisées qui remplacent les instructions par défaut renvoyées par getInstructions(). Transmettez une chaîne pour les remplacer entièrement, ou une fonction pour compléter les valeurs par défaut. **onStart** (`SandboxLifecycleHook`): Hook de cycle de vie appelé une fois que le Sandbox atteint l’état running. **onStop** (`SandboxLifecycleHook`): Hook de cycle de vie appelé avant l’arrêt du Sandbox. **onDestroy** (`SandboxLifecycleHook`): Hook de cycle de vie appelé avant la destruction du Sandbox. ## Propriétés **id** (`string`): Identifiant unique de cette instance de Sandbox. **name** (`'VercelServerlessSandbox'`): Nom lisible. **provider** (`'vercel-serverless'`): Identifiant du type de Provider. **status** (`ProviderStatus`): État actuel du cycle de vie : 'pending', 'starting', 'running', 'stopping', 'stopped', 'destroying', 'destroyed' ou 'error'. ## Limites VercelServerlessSandbox utilise des fonctions serverless en interne, ce qui implique les limites suivantes : - **Aucun système de fichiers persistant** : les fichiers écrits dans `/tmp` sont éphémères et supprimés entre les appels. - **Aucun shell interactif** : les commandes sont exécutées au moyen de `/bin/sh -c`, sans streaming de stdin. - **Aucun processus d’arrière-plan** : aucun gestionnaire de processus, PID ou tâche de longue durée. - **Aucun montage** : le montage de stockages cloud (S3, GCS) n’est pas pris en charge. - **Limites de délai d’expiration** : la durée maximale d’exécution est limitée par `maxDuration` (60 s par défaut). ## Voir aussi - [Interface WorkspaceSandbox](https://mastra.zisheng.pro/fr/reference/workspace/sandbox) - [Classe Workspace](https://mastra.zisheng.pro/fr/reference/workspace/workspace-class) - [E2BSandbox](https://mastra.zisheng.pro/fr/reference/workspace/e2b-sandbox) : Sandbox cloud complet avec système de fichiers persistant et gestion des processus