> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # FilesystemProvider `FilesystemProvider` est l’interface qu’un package implémente pour enregistrer un système de fichiers auprès de [`MastraEditor`](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor). L’Editor appelle `createFilesystem(config)` lors de l’hydratation du Workspace et utilise comme clé de recherche l’ID `provider` de la configuration du système de fichiers enregistrée dans [`StorageWorkspaceRef`](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref). Le fournisseur de système de fichiers `local` intégré est enregistré automatiquement. Les fournisseurs externes, tels que S3 ou GCS, sont transmis au moyen de `MastraEditorConfig.filesystems`. ## Exemple d’utilisation ```typescript import { MastraEditor } from '@mastra/editor' import { s3FilesystemProvider } from '@mastra/s3' new MastraEditor({ filesystems: { [s3FilesystemProvider.id]: s3FilesystemProvider, }, }) ``` ## Propriétés **id** (`string`): Identifiant unique du fournisseur (par exemple, "local" ou "s3"). Il doit correspondre à StorageFilesystemConfig.provider dans chaque Workspace enregistré qui utilise ce fournisseur. **name** (`string`): Nom lisible affiché dans l’interface utilisateur. **description** (`string`): Courte description affichée dans le sélecteur de système de fichiers du Workspace. **configSchema** (`Record`): JSON Schema décrivant la configuration propre au fournisseur. Utilisé par l’interface utilisateur pour afficher les formulaires de configuration. **createFilesystem** (`(config: TConfig) => WorkspaceFilesystem | Promise`): Crée une instance WorkspaceFilesystem à l’exécution à partir de la configuration enregistrée. Appelé lors de l’hydratation du Workspace. ## Implémenter un fournisseur ```typescript import type { FilesystemProvider, WorkspaceFilesystem } from '@mastra/core/editor' export const myFilesystemProvider: FilesystemProvider<{ bucket: string; region: string }> = { id: 'my-fs', name: 'My Filesystem', description: 'Object-store-backed filesystem.', configSchema: { type: 'object', required: ['bucket', 'region'], properties: { bucket: { type: 'string' }, region: { type: 'string' }, }, }, async createFilesystem(config): Promise { return createMyFilesystem({ bucket: config.bucket, region: config.region }) }, } ``` Une fois le fournisseur enregistré, les administrateurs peuvent le référencer depuis une configuration de Workspace intégrée ou un objet [`StorageWorkspaceRef`](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref) enregistré. ## Voir aussi - [Workspace](https://agent-builder.mastra.ai/workspace) : concept et exemples détaillés. - [StorageWorkspaceRef](https://mastra.zisheng.pro/fr/reference/editor/storage-workspace-ref) : configuration enregistrée utilisée par `createFilesystem`. - [SandboxProvider](https://mastra.zisheng.pro/fr/reference/editor/sandbox-provider) : fournisseur analogue pour l’exécution de commandes. - [Classe MastraEditor](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor) : registre des fournisseurs.