spacedriveapp/ spacedrive
View on GitHubSpacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.
Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.
Spacedrive is a cross-device data platform. Index files, emails, notes, and external sources. Search everything. Sync via P2P. Keep AI agents safe with built-in screening.
No. Spacedrive sits above your OS file manager and adds capabilities Finder/Explorer lack:
You still use your OS for low-level file interactions. Spacedrive adds the cross-platform, cross-device, cloud-aware, and automation-friendly layer on top.
Spacedrive indexes external data sources via script-based adapters: Gmail, Apple Notes, Chrome bookmarks, Obsidian, Slack, GitHub, calendar events, contacts. Each source becomes a searchable repository alongside your files.
Adapters are a folder with an adapter.toml manifest and a sync script in any language. If it reads stdin and prints lines, it works.
Shipped adapters: Gmail, Apple Notes, Chrome Bookmarks, Chrome History, Safari History, Obsidian, OpenCode, Slack, macOS Contacts, macOS Calendar, GitHub.
Spacedrive integrates with Spacebot, an open source AI agent runtime. Spacebot runs as an optional separate process. Spacedrive provides the data, permission, and execution layer. Spacebot provides the intelligence.
Each Spacebot instance pairs with one Spacedrive node as its home device. That node authenticates the agent, maintains the device graph, resolves permissions, and forwards operations to peer devices. Every device in your library can reach Spacebot through the paired node over P2P (Iroh/QUIC) without direct network access. One agent runtime serves your entire device fleet.
When Spacebot spawns a worker, that worker can target any device in the library. File reads, shell commands, and operations proxy through Spacedrive to the target device. Talk to the agent from your phone while work executes on a server. Read files from a NAS, run commands on a workstation, report to a laptop — all in one task.
Every operation passes through Spacedrive's permission system: which devices the agent can access, which paths are readable or writable, which operations are allowed, and which require human confirmation. The paired node resolves effective policy before forwarding. One security model, one audit surface across all devices and clouds.
Spacedrive adds intelligence to your filesystem by combining three layers:
When an agent navigates through Spacedrive, it receives the file listing, subtree context, effective permissions, and summaries. Users can explain how they organize their system. Agents can add attributed notes. Jobs generate summaries from structure and activity. The intelligence stays attached to the filesystem, not buried in temporary session memory.
When enabled, every record passes through a safety pipeline before becoming searchable:
No other local data tool screens indexed content before exposing it to AI.
The core is built on four principles:
Virtual Distributed Filesystem (VDFS) — files and folders become first-class objects with rich metadata, independent of physical location. Every file gets a universal address (SdPath) that works across devices.
Content Identity System — adaptive hashing (BLAKE3 with strategic sampling for large files) creates a unique fingerprint for every piece of content. Enables deduplication, redundancy tracking, and content-based operations.
Transactional Actions — every file operation can be previewed before execution. See space savings, conflicts, and estimated time, then approve or cancel. Operations become durable jobs that survive network interruptions and device restarts.
Leaderless Sync — peer-to-peer synchronization without central coordinators. Device-specific data uses state replication. Shared metadata uses an HLC-ordered log with deterministic conflict resolution.
The implementation is a single Rust crate with CQRS/DDD architecture. Every operation (file copy, tag create, search query) is a registered action or query with type-safe input/output that auto-generates TypeScript types for the frontend.
| Component | Technology | | --------------- | -------------------------------------------- | | Language | Rust | | Async runtime | Tokio | | Database | SQLite (SeaORM + sqlx) | | P2P | Iroh (QUIC, hole-punching, local discovery) | | Content hashing | BLAKE3 | | Vector search | LanceDB + FastEmbed | | Cloud storage | OpenDAL | | Cryptography | Ed25519, X25519, ChaCha20-Poly1305, AES-GCM | | Media | FFmpeg, libheif, Pdfium, Whisper | | Desktop | Tauri 2 | | Mobile | React Native + Expo | | Frontend | React 19, Vite, TanStack Query, Tailwind CSS v4 | | Design system | SpaceUI (shared component library) | | Type generation | Specta |
spacedrive/
├── core/ # Rust engine (CQRS/DDD)
├── apps/
│ ├── tauri/ # Desktop app (macOS, Windows, Linux)
│ ├── mobile/ # React Native (iOS, Android)
│ ├── cli/ # CLI and daemon
│ ├── server/ # Headless server
│ └── web/ # Browser client
├── packages/
│ ├── interface/ # Shared React UI
│ ├── ts-client/ # Auto-generated TypeScript client
│ ├── ui/ # Component library
│ └── assets/ # Icons, images, SVGs
├── crates/ # Standalone Rust crates (ffmpeg, crypto, etc.)
├── adapters/ # Script-based data source adapters
└── schemas/ # TOML data type schemas
Requires Rust 1.81+, Bun 1.3+, just, and Python 3.9+ (for adapters).
git clone https://github.com/spacedriveapp/spacedrive
cd spacedrive
just setup # bun install + native deps + cargo config
just dev-desktop # launch the desktop app (auto-starts daemon)
just test # run all workspace tests
Spacedrive is local-first. Your data stays on your devices.
Optional cloud integration is available for backup and remote access, but it's never required. The cloud service runs unmodified Spacedrive core as a standard P2P device—no special privileges.
FSL-1.1-ALv2 — Functional Source License, converting to Apache 2.0 after two years.
No comments yet. Set the tone — say what you would want to know.