James Pine aff09bb087 init
2026-03-24 14:23:55 -07:00
2026-03-24 14:23:55 -07:00
2026-03-24 14:23:55 -07:00
2026-03-24 14:23:55 -07:00
2026-01-31 19:12:52 -05:00
2026-03-24 14:23:55 -07:00
2025-10-11 13:14:01 -07:00
2026-01-23 08:51:27 +03:00
2023-04-27 07:32:15 +00:00
2025-12-02 13:17:28 -05:00
2025-11-06 05:25:15 -08:00
2025-11-06 02:20:34 -08:00
2025-12-10 20:31:10 -08:00
2022-06-14 13:13:09 -07:00
2026-03-24 14:23:55 -07:00
2022-07-02 14:26:00 -07:00
2026-03-24 14:23:55 -07:00

Spacedrive

Spacedrive

An open source cross-platform file manager.
Powered by a virtual distributed filesystem written in Rust.

spacedrive.comDiscordGetting Started


What is Spacedrive?

Spacedrive is a file manager that treats files as first-class objects with content identity, not paths. A photo on your laptop and the same photo on your NAS are recognized as one piece of content. Organize files across multiple devices, clouds, and platforms from a single interface.

  • Content identity — every file gets a BLAKE3 content hash. Same file on two devices produces the same hash. Spacedrive tracks redundancy and deduplication across all your machines.
  • Cross-device — see all your files across all your devices in one place. Files on disconnected devices stay in the index and appear as offline.
  • P2P sync — devices connect directly via Iroh/QUIC. No servers, no cloud, no single point of failure. Metadata syncs between devices. Files stay where they are.
  • Cloud volumes — index S3, Google Drive, Dropbox, OneDrive, Azure, and GCS as first-class volumes alongside local storage.
  • Nine views — grid, list, columns, media, size, recents, search, knowledge, and splat. QuickPreview for video, audio, code, documents, 3D, and images.
  • Local-first — everything runs on your machine. No data leaves your device unless you choose to sync between your own devices.

Data Archival

Beyond files, Spacedrive can index and archive data from external sources via script-based adapters. Gmail, Apple Notes, Chrome bookmarks, Obsidian, Slack, GitHub, calendar events, contacts. Each data source becomes a searchable repository. Search fans out across files and archived data together.

Adapters are simple: a folder with an adapter.toml manifest and a sync script in any language. If it can read stdin and print lines, it can be an adapter.

Shipped adapters: Gmail, Apple Notes, Chrome Bookmarks, Chrome History, Safari History, Obsidian, OpenCode, Slack, macOS Contacts, macOS Calendar, GitHub.

Spacebot

Spacedrive integrates with Spacebot, an open source AI agent runtime. Spacebot runs as a separate process alongside Spacedrive, communicating over APIs. Spacedrive provides the data layer. Spacebot provides the intelligence layer. Neither depends on the other. Together, they form an operating surface where humans and agents work side by side.


Architecture

The core 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
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

Getting Started

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-daemon   # start the daemon
just dev-desktop  # launch the desktop app (connects to daemon)
just dev-server   # headless server (alternative to desktop)
just test         # run all workspace tests
just cli -- help  # run the CLI

Contributing


License

FSL-1.1-ALv2 — Functional Source License, converting to Apache 2.0 after two years.

Description
No description provided
Readme 375 MiB
Languages
Rust 76.8%
TypeScript 19.7%
Python 1.2%
Swift 1%
Shell 0.4%
Other 0.7%