À propos du projet

Spacedrive est un gestionnaire de fichiers open source, multiplateforme et une plateforme de données. Son cœur est un système de fichiers distribué virtuel (VDFS) écrit en Rust, avec des applications pour macOS, Windows, Linux, iOS et Android, ainsi que des clients CLI, serveur headless et web. Principales capacités décrites dans le README : - Identité de contenu : chaque fichier reçoit un hachage de contenu BLAKE3, permettant la déduplication et le suivi de la redondance entre les machines. - Vue multi-appareils : les fichiers de tous les appareils apparaissent dans un seul index ; les appareils déconnectés sont affichés comme hors ligne. - Synchronisation P2P : les appareils se connectent directement via Iroh/QUIC sans serveurs centraux ; les métadonnées sont synchronisées tandis que les fichiers restent en place. - Volumes cloud : S3, Google Drive, Dropbox, OneDrive, Azure et GCS peuvent être indexés comme des volumes de premier ordre. - Neuf vues : grille, liste, colonnes, média, taille, récents, recherche, connaissances et splat, avec QuickPreview pour la vidéo, l'audio, le code, les documents, la 3D et les images. - Conception locale-first : le traitement s'exécute sur la machine de l'utilisateur, avec un relais auto-hébergé optionnel et aucune télémétrie. Les adaptateurs d'archivage de données indexent des sources externes telles que Gmail, Apple Notes, les marque-pages/historique Chrome, l'historique Safari, Obsidian, Slack, GitHub, les contacts et les calendriers. Les adaptateurs sont des dossiers avec un manifeste adapter.toml et un script de synchronisation dans n'importe quel langage qui lit stdin et imprime des lignes. L'intégration de Spacebot fournit un runtime d'agent IA optionnel. Spacedrive fournit la couche d'accès aux données, de permission et d'exécution ; chaque agent est associé à un nœud et les opérations passent par le système de permissions vers les appareils cibles. Un pipeline de sécurité peut filtrer les enregistrements indexés avec Prompt Guard 2, des niveaux de confiance, une mise en quarantaine et un cloisonnement de contenu avant leur exposition aux agents. Points forts de l'architecture : Rust avec Tokio, SQLite via SeaORM/sqlx, Iroh pour le P2P, hachage BLAKE3, LanceDB et FastEmbed pour la recherche vectorielle, OpenDAL pour le stockage cloud, Tauri 2 pour le bureau, React Native/Expo pour le mobile, et React 19/Vite/TanStack Query/Tailwind pour le frontend. Le cœur utilise CQRS/DDD avec des actions et requêtes enregistrées qui génèrent automatiquement des types TypeScript. Pour commencer, il faut Rust 1.81+, Bun 1.3+, just et Python 3.9+ ; les commandes incluent just setup, just dev-desktop et just test. Le projet est sous licence FSL-1.1-ALv2, convertie en Apache 2.0 après deux ans.