> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # mountAgentControllerOnMastra() > **Beta:** Le package `@mastra/code-sdk` est expérimental et susceptible de subir des changements incompatibles dans les versions mineures. La fonction `mountAgentControllerOnMastra()` construit le contrôleur d'Agent Mastra Code (l'Agent de programmation sur lequel repose la CLI [`mastracode`](https://www.npmjs.com/package/mastracode), avec ses modes, ses Tools, sa mémoire et sa gestion des threads) et l'enregistre sur une instance [Mastra](https://mastra.zisheng.pro/fr/reference/core/mastra-class) appartenant au serveur. Utilisez-la pour mettre l'Agent Mastra Code à la disposition de votre propre interface utilisateur (application web, éditeur ou bot) : chaque client crée ou reprend sa propre session isolée au moyen de l'[`AgentController`](https://mastra.zisheng.pro/fr/reference/agent-controller/agent-controller-class) renvoyé. Pour construire vous-même l'instance `Mastra` (par exemple dans un fichier d'entrée déployable), utilisez `prepareAgentControllerMount()` du même package. Cette fonction renvoie les arguments du constructeur ainsi qu'une fonction de rappel `finalize()`. ## Exemple d'utilisation ```typescript import { mountAgentControllerOnMastra } from '@mastra/code-sdk' const { mastra, controller } = await mountAgentControllerOnMastra({ cwd: process.cwd(), }) // Each client drives its own session const session = await controller.createSession({ resourceId: 'user-123' }) ``` Transmettez un objet `mastra` existant pour monter le contrôleur sur une instance Mastra qui héberge déjà d'autres primitives : ```typescript import { Mastra } from '@mastra/core/mastra' import { mountAgentControllerOnMastra } from '@mastra/code-sdk' const mastra = new Mastra({/* ... */}) const { controller } = await mountAgentControllerOnMastra({ mastra }) ``` ## Paramètres **cwd** (`string`): Répertoire de travail utilisé pour détecter le projet. (Default: `process.cwd()`) **mastra** (`Mastra`): Instance Mastra existante sur laquelle effectuer le montage. Lorsqu'elle est omise, une instance Mastra propriétaire du stockage du contrôleur est créée. **controllerId** (`string`): Identifiant sous lequel le contrôleur est enregistré sur l'instance Mastra. **modes** (`AgentControllerMode[]`): Remplace les modes de l'Agent (identifiants des modèles, couleurs et modes disponibles). (Default: `build/plan/fast`) **subagents** (`AgentControllerSubagent[]`): Remplace ou étend les définitions des sous-Agents. (Default: `explore/plan/execute`) **extraTools** (`Record | (ctx) => Record`): Tools supplémentaires fusionnés dans l'ensemble dynamique de Tools. **postToolObserver** (`(context: ToolAfterHookContext) => void | Promise`): Observe les appels de Tool terminés sans remplacer le Tool ni modifier le comportement du gestionnaire de hooks. Les erreurs de l'observateur sont consignées et ne font pas échouer les appels de Tool réussis. **inputProcessors** (`InputProcessor[]`): Processors d'entrée sans état ajoutés avant les Processors obligatoires de sécurité et de compatibilité de Mastra Code. Les Processors personnalisés étendent le pipeline, mais ne peuvent pas remplacer les Processors intégrés. **disabledTools** (`string[]`): Tools retirés de l'ensemble dynamique de Tools avant son exposition au modèle. **storage** (`StorageConfig`): Configuration de stockage personnalisée utilisée à la place de la configuration par défaut détectée automatiquement. **workspace** (`AgentControllerConfig["workspace"]`): Remplace le Workspace. (Default: `système de fichiers local + Sandbox local basé sur le projet détecté`) **configDir** (`string`): Remplace le nom du répertoire de configuration utilisé pour tous les chemins de configuration globaux et propres au projet (MCP, hooks, commandes, base de données, Skills et instructions de l'Agent). (Default: `'.mastracode'`) **mcpServers** (`Record`): Configurations programmatiques des serveurs MCP, fusionnées avec les configurations basées sur des fichiers et prioritaires sur celles-ci. **buildApiRoutes** (`(deps: { controller, authStorage }) => ApiRoute[]`): Routes d'API supplémentaires enregistrées sur l'instance Mastra construite. Ignorées lorsque mastra est fourni. **buildServerConfig** (`(deps: { controller, authStorage }) => ServerConfig`): Configuration supplémentaire du serveur (middleware, CORS) intégrée à l'instance Mastra construite. Ignorée lorsque mastra est fourni. ## Valeur renvoyée **mastra** (`Mastra`): Instance Mastra sur laquelle le contrôleur est monté (créée ou transmise en entrée). **controller** (`AgentController`): Contrôleur d'Agent Mastra Code initialisé. Créez des sessions avec controller.createSession(). **authStorage** (`AuthStorage`): Stockage des identifiants utilisé par la passerelle de modèles intégrée. ## Voir aussi - [Classe AgentController](https://mastra.zisheng.pro/fr/reference/agent-controller/agent-controller-class) - [Classe Session](https://mastra.zisheng.pro/fr/reference/agent-controller/session)