About this project
Spacedrive is an open-source, cross-platform file manager and data platform. Its core is a Virtual Distributed File System (VDFS) written in Rust, with apps for macOS, Windows, Linux, iOS and Android, plus CLI, headless server and web clients.
Key capabilities described in the README:
- Content identity: every file receives a BLAKE3 content hash, enabling deduplication and redundancy tracking across machines.
- Cross-device view: files from all devices appear in one index; disconnected devices show as offline.
- P2P sync: devices connect directly via Iroh/QUIC without central servers; metadata syncs while files stay in place.
- Cloud volumes: S3, Google Drive, Dropbox, OneDrive, Azure and GCS can be indexed as first-class volumes.
- Nine views: grid, list, columns, media, size, recents, search, knowledge and splat, with QuickPreview for video, audio, code, documents, 3D and images.
- Local-first design: processing runs on the user's machine, with optional self-hosted relay and no telemetry.
Data archival adapters index external sources such as Gmail, Apple Notes, Chrome bookmarks/history, Safari history, Obsidian, Slack, GitHub, contacts and calendars. Adapters are folders with an adapter.toml manifest and a sync script in any language that reads stdin and prints lines.
Spacebot integration provides an optional AI agent runtime. Spacedrive supplies the data, permission and execution layer; each agent pairs with one node and operations proxy through the permission system to target devices. A safety pipeline can screen indexed records with Prompt Guard 2, trust tiers, quarantine and content fencing before exposure to agents.
Architecture highlights: Rust with Tokio, SQLite via SeaORM/sqlx, Iroh for P2P, BLAKE3 hashing, LanceDB and FastEmbed for vector search, OpenDAL for cloud storage, Tauri 2 for desktop, React Native/Expo for mobile, and React 19/Vite/TanStack Query/Tailwind for the frontend. The core uses CQRS/DDD with registered actions and queries that auto-generate TypeScript types.
Getting started requires Rust 1.81+, Bun 1.3+, just and Python 3.9+; commands include just setup, just dev-desktop and just test. The project is licensed under FSL-1.1-ALv2, converting to Apache 2.0 after two years.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.