nightly 二进制未签名,macOS 下载后需用 xattr -d com.apple.quarantine 去掉隔离属性才能运行;nightly 跟随 main 分支可能破坏或变更 schema 且无迁移,需备份库;从源码构建需 Rust 1.95+、Bun 1.3.4、Node 20 和 just,并依赖宿主机的 FFmpeg 开发库与 libclang,否则首次 cargo build 会在 ffmpeg-sys-next 报 libavutil.pc not found。

spacedrive
spacedriveappApache-2.0活跃维护用 Rust 写的跨平台开源文件管理器,底层是虚拟分布式文件系统,能把多台设备上的文件统一管理,像访问本地一样浏览和整理。
Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.
shasum -a 256 -c sd-macos-aarch64.sha256 sd-daemon-macos-aarch64.sha256
chmod +x sd-macos-aarch64 sd-daemon-macos-aarch64
mv sd-macos-aarch64 ~/.local/bin/sd
mv sd-daemon-macos-aarch64 ~/.local/bin/sd-daemon
sd daemon installREADME 未说明显存或 GPU 要求;提供 macOS ARM64、Linux x86-64、Windows x86-64 的 nightly 二进制,macOS 与 Linux 为受支持平台,Windows 仅为预览。
用 Rust 写的跨平台文件浏览器,把本地盘、NAS、服务器和云存储统一成一个私有文件系统
用 Rust 写的跨平台开源文件管理器,底层是虚拟分布式文件系统,能把多台设备上的文件统一管理,像访问本地一样浏览和整理。
核心能力
- 用虚拟分布式文件系统统一管理本地、NAS、服务器和云来源
- 实时索引监听文件变化,打开文件夹无需重新扫描磁盘
- 用 BLAKE3 内容标识跨设备识别同一份数据并快速查重
- 操作执行前基于索引预览结果并校验权限与容量
- 冻结来源到某一时间点,可浏览离线快照并追溯变更
容易踩的坑
- nightlyNightly 11523b224d14pre-release2026-10-08 · 2026-10-08 07:25 UTC
查看更新说明
Rolling nightly build of the CLI and daemon from
mainat 11523b224d1422d98def9a1c0f99e89fafada00d.Unsigned, may break, replaced on every push. This release is edited in place: its tag moves to the commit above and the assets are replaced, so watching the repository for releases does not notify on nightly builds. Opt in with
sd config set update.channel nightlyand runsd update; see docs/core/releases.mdx. - v2.0.0-alpha.2pre-release2026-02-07 · 2026-02-07 07:44 UTC
查看更新说明
NEW: Windows and server builds, many features are NOT working so test with caution. macOS is the most stable, ffmpeg is not yet bundled with Windows, Linux or Server so thumbnails won't work, this is purely for testing. Pairing and sync work pretty well though. I will ship alpha builds more frequently now all versions are building reliably in CI.
What's Changed
- feat(core): implement bidirectional remote file copy (PULL support) by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2940
- fix(security): prevent path traversal in P2P file transfers and deletions by @slvnlrt in https://github.com/spacedriveapp/spacedrive/pull/2944
- File inspector feature flags by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2946
- HLC Time Source by @Brendonovich in https://github.com/spacedriveapp/spacedrive/pull/2949
- Windows NTFS support by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2947
- Fix Dropbox OAuth configuration by @SinanGncgl in https://github.com/spacedriveapp/spacedrive/pull/2952
- Space item UUID migration by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2951
- Refactor: Replace device_id with volume_id in entries and locations by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2956
- Refactor interface package structure by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2960
- Refactor TopBar with overflow handling and macOS support by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2961
- Refactor entry ownership to use volumes by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2965
- fix(sync): include directory paths in realtime sync and batch messages by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2966
- feat(copy): add real-time speed tracking and expandable job progress by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2967
- Fix Connection Watcher Stale Entry by @tembo[bot] in https://github.com/spacedriveapp/spacedrive/pull/2973
- Enhanced Size View with Per-Tab Persistence and Dynamic Controls by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2971
- feat(device): Add connection status to device cards by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2970
- Better search by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2975
- Improved volume indexing by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2976
- Stable volume fingerprint by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2977
- fix(setup): update GitHub connectivity check to use HTTPS port 443 by @nicofishman in https://github.com/spacedriveapp/spacedrive/pull/2982
- Settings screen implementation by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2934
- iOS Volume Detection by @tembo[bot] in https://github.com/spacedriveapp/spacedrive/pull/2980
- Mobile Explorer + Sync Event Emission Fixes by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2985
- UseNormalizedQuery direct query input by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2992
- feat(pairing): enhance proxy pairing functionality and add tests by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2994
- fix: add node-gyp as a dev dep by @okunamayanad in https://github.com/spacedriveapp/spacedrive/pull/2996
- fix: install cmake on setup by @okunamayanad in https://github.com/spacedriveapp/spacedrive/pull/2998
- fix: handle config changes in summarize_event by @okunamayanad in https://github.com/spacedriveapp/spacedrive/pull/3000
- Convert device to shared by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/3001
- Proxy pairing by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2987
- Upgrade Iroh to v0.95.1 by @tembo[bot] in https://github.com/spacedriveapp/spacedrive/pull/3002
- .github/workflows: Migrate workflows to Blacksmith runner
- v2.0.0-alpha.1pre-release2025-12-26 · 2025-12-26 21:36 UTC
查看更新说明
Spacedrive v2.0.0-alpha.1
The complete ground-up rewrite is here. Six months of development, built in Rust for seamless multi-device computing without cloud lock-in. Read v2.spacedrive.com for the full story on this rewrite!
Available Now: macOS + Linux (windows coming next release)
What You Can Try
Multi-Device Sync
- Peer-to-peer library sync (no servers, no cloud required)
- Device pairing with mnemonic codes
- Automatic local network discovery + relay fallback
- Offline-first with leaderless sync
File Management
- Fast indexing persistent and ephemeral
- Content-aware deduplication across devices
- Cross-device file management actions and transfer
- Resumable jobs with progress tracking
Cloud Integration
- Index S3, Google Drive, OneDrive, Dropbox as native volumes
- 12+ cloud services supported
- Cross-storage operations (local → cloud, cloud → cloud)
Organization
- Semantic tagging with hierarchies
- Spaces for custom layouts
- Collections for grouping files
- Thumbnail generation + OCR text extraction
CLI & Automation
- Full-featured
sd-clifor scripting workflows - Daemon management
- Library and location operations
Coming Soon
- Windows support (alpha.2)
- iOS app
- Android app
- Server edition for headless deployments
Full docs: v2.spacedrive.com
This is an alpha release. Expect bugs. Report them on Discord or GitHub Issues. Your testing helps us ship a stable 2.0.
- 0.4.3最新正式版2025-03-24 · 2025-03-24 14:16 UTC
[!IMPORTANT] We regret to inform our valued Spacedrive community that we must temporarily pause our development roadmap beyond our latest update. Due to current funding constraints and related challenges, we cannot deliver new features or updates for the foreseeable future.
While this was a tough decision, our team remains committed to Spacedrive's vision and will explore options to resume development when circumstances allow. We deeply appreciate your understanding and continued support during this challenging period.
The Spacedrive Team
What's Changed
- Added Windows Control buttons to the TopBar on "Peer" tab by @artsiom-voitas in https://github.com/spacedriveapp/spacedrive/pull/2674
- [ENG-1860] News banner with latest alpha version & changelog link by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2675
- [ENG-1866] Overview: fix storage progress device value by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2678
- Added translation keys for FileKindStats, general (settings) and StarfieldEffect components by @artsiom-voitas in https://github.com/spacedriveapp/spacedrive/pull/2673
- [MOB-101] Improve object renaming UX by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2683
- [ENG-1694] Dialogs visual improvements by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2684
- Fix typos in introduction.mdx by @SBobbe in https://github.com/spacedriveapp/spacedrive/pull/2685
- [MOB-116] Fix Drawer appearing & visual improvements by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2691
- [ENG-1874] Always show windows top bar options by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2692
- Add "Duplicate current tab" keybind by @MadisonKonig in https://github.com/spacedriveapp/spacedrive/pull/2679
- Update appearance Czech language.tsx by @markrieder in https://github.com/spacedriveapp/spacedrive/pull/2699
- Fix "open with" list ordering by @MadisonKonig in https://github.com/spacedriveapp/spacedrive/pull/2697
- [ENG-1840, ENG-1842] Add native dependencies for iOS by @HeavenVolkoff in https://github.com/spacedriveapp/spacedrive/pull/2693
- Update pdfium-render version by @matheus-consoli in https://github.com/spacedriveapp/spacedrive/pull/2701
- fix windows multiple tab spacing by @MadisonKonig in https://github.com/spacedriveapp/spacedrive/pull/2713
- Add SQLite pragmas to optimize performace by @jamiepine in https://github.com/spacedriveapp/spacedrive/pull/2715
- [MOB-123,122,121] Fix & improve navigation issues by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2718
- [ENG-1897,1900,1901] Quick add tag fix & more by @ameer2468 in https://github.com/spacedriveapp/spacedrive/pull/2720
- Use mimalloc as the global memory allocator by @matheus-consoli in https://github.com/spacedriveapp/spacedrive/pull/2723
- Close file handle after getting its index (windows) by @matheus-consoli in https://github.com/spacedriveapp/spacedrive/pull/2728
- Typo for: accesible by @majal in https://github.com/spacedriveapp/spacedrive/pull/2724
- Update spelling in
features.mdxby @daUnknownCoder in https://github.com/spacedriveapp/spacedrive/pull/2730 - Update bundle size with average 0.4.2 size by @iLynxcat in https://github.com/spacedriveapp/spacedrive/pull/2738
- Add typo issue template & update others for consistency by @iLynxcat in https://github.com/spacedriveapp/spacedrive/pull/2737
- Organize and clean up internationalization file keys by @iLynxcat in https://github.com/spacedriveapp/spacedrive/pull/2741
- Handle thumbnail encoder error by @matheus-consoli in https://github.com/spacedriveapp/spacedrive/pull/2745
- Remove dependency on
once_celland usestdtypes by @matheus-consoli in https://github.com/spacedriveapp/spacedrive/pull/2746 - Fix Inspector notes by @jamiepine in https://github.com/spac
- 0.4.2Alpha 0.4.22024-08-18 · 2024-08-18 03:46 UTC
查看更新说明
This release brings UI improvements, package updates, platform migrations, and bug fixes to improve stability. More Chinese translations have also been added.
🔧 Core Updates
- Spacedrive now runs on a more stable version of Tauri v2 - by @Rocky43007 in #2654
🪐 App Updates
🖥️ Desktop
- Dimmed the text color on dark mode and increased the text size for keybinds - by @PineappleRind in #2643
(Before/After)
- Job Manager now shows progress when copying files - by @matheus-consoli in #2538
🐞 Bug Fixes
🖥️ Desktop
- Fixed a bug where pressing Esc would exit both the Quick Preview and app search simultaneously - by @myung03 in #2646
- Fixed a bug causing "zombie" jobs to appear in the job manager - by @myung03 in #2653
- Fixed a bug with PDF thumbnails failing to render - by @HeavenVolkoff in #2666
- Fixed a bug with opening Spacedrive on Debian Linux - by @HeavenVolkoff in #2648
- Fixed a bug preventing Spacedrive from launching - by @HeavenVolkoff in #2670
🛠️ General/Development Updates
- Added additional Chinese translations - by @Lkhsss in #2656
- Updated the
Vitedependency to 5.2.0 - by @Rocky43007 in #2645 - Removed a number of unused code modules - by @fogodev (#2660) and @HeavenVolkoff (#2662)
- Updated various build/release tools and server scripts - by @HeavenVolkoff in #2642, #2663, #2668
- Updated a number of Rust, Prisma, and Windows dependencies - by @HeavenVolkoff in #2662, #2663
- Miscellaneous updates to documentation, code style, and version references - by @iLynxcat (#2639) and @HeavenVolkoff ([
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!IMPORTANT] Spacedrive 2.0 Beta is planned for November 15, 2026.
Beta commits to Spacedrive's data model and to preserving your library as it evolves. The release makes self-owned storage practical across your devices. It brings portable source indexes, private remote access, mounts, history, extensions, and one API for people and software.
Nightly CLI and daemon builds are available now from the nightly release. They are unsigned, move with every push to
main, and can break, so keep backups of any library you point them at. See Install a nightly. The beta will appear on the releases page when it ships.
Spacedrive is open personal data infrastructure. It turns the storage you control into one private filesystem across your devices, drives, servers, and the clouds you choose.
Bring your data home without giving up search, protection, intelligence, sharing, or access from anywhere. No hosted account, no vendor control plane, no telemetry.
Own where your data lives
Cloud services made it feel normal for your files to live on someone else's computer. Personal files and behavioral data piled up on infrastructure whose security, policies, and future you do not control. Automated attacks increase the scale of that exposure. AI increases the value of accumulated data for training, inference, and profiling.
Owning the drive is the easy part. You still need to find files, reach them from another device, know what is backed up, recover earlier states, share on your terms, and notice when something changes.
Spacedrive does all of that while you decide where the bytes and metadata live. Local disks, removable media, NAS datasets, private servers, and offline archives are first-class homes. Cloud services remain optional sources and destinations.
Read the Product Direction for the complete product boundary.
One filesystem, every source
A source can be a folder, a complete drive, a dataset on your NAS, another Spacedrive node, a cloud bucket, or an external service. Every source uses the same record shape and the same operations.
Each source has a portable store with two kinds of knowledge: a generation that can be refreshed while the origin is available, and durable assertions that cannot be reconstructed from the files alone. Disconnect a drive and its catalog remains searchable. Move a source to another machine and its metadata can travel with it.
- A live index. Watchers keep names, sizes, timestamps, and content state current, so opening a folder never rescans the disk.
- Search across boundaries. One search runs across local, remote, cloud, and adapter sources.
- Stable identity. Records survive moves. BLAKE3 content identities connect copies of the same bytes across sources and devices.
- Fast duplicate detection. Sampled hashes find candidates quickly. Full-byte verification confirms equality before destructive cleanup.
- History that stays useful. Freeze a source at a point in time, browse an offline snapshot, and inspect which operation changed it.
- Provider exit. Move data away from a service without losing the organization, tags, history, and knowledge built around it.
Protection is part of the filesystem
Keeping files safe is filesystem work.
- Track integrity, redundancy, backup state, capacity, and unexpected changes.
- Distinguish independent copies using physical drives, pools, and failure domains.
- Keep an inventory of drives that are offline, archived, lost, or retired.
- Preserve unreadable records with their error instead of omitting them.
- Run indexing, metadata extraction, previews, and search on infrastructure you control by default.
- Name every external recipient before file content or derived metadata leaves your devices.
An index snapshot preserves evidence about the filesystem. Provider versions and backups preserve the bytes. Spacedrive connects the two so you can understand what existed, where it lived, and how to recover it.
See every change before it happens
The everyday threat to your files is an operation: a copy that overwrites the wrong folder, a cleanup that deletes the last copy, a merge that lands somewhere unintended. A durable filesystem protects your files from its own operations.
Every operation that changes files answers two questions before it runs. Validation answers whether it may run and how: permissions, capacity, safety rules, and the exact strategy, enforced by the daemon rather than the dialog. Preview answers what will exist afterward, projected from the index without touching a file.
- Browse the result before it exists. A preview serves the same listings as the present filesystem, so you walk the outcome folder by folder before a byte moves.
- Plan against offline storage. The index answers for a drive sitting in a drawer, so you can prepare a merge before you plug anything in.
- Get warnings only an indexed filesystem can give. Three of these files are the last copy of their content anywhere in your library.
- Skip duplicates on proof. A file is treated as a copy only after full-byte verification, never on a sampled hash.
- Trust the execution. The daemon re-validates at dispatch, applies the same policy against the live filesystem, and reports any divergence from the plan.
Access anything from anywhere
Pair Spacedrive nodes to browse and operate their authorized sources through the same interface. A live node serves queries, snapshots, byte ranges, jobs, and logs. Other nodes can cache projections and content without claiming authority over the source.
Share a source or subtree with another person, device, or agent without merging libraries. The host decides what the recipient can see and do. The grant stays visible and revocable, while the recipient sees the shared data beside their own sources.
Mount any source or subtree into macOS, Windows, or Linux. Files stream on demand from a local disk, another device, or a cloud provider through one byte plane. Range reads power mounts, transfers, previews, media playback, and video scrubbing without copying the whole file first.
Peer connections use Iroh and QUIC with end-to-end encryption. Devices connect directly when they can and fall back to relays when they must.
One API for people and software
The desktop app, web interface, mobile clients, CLI, generated SDKs, skills, and MCP server all call the same registered operations. A copy has the same input, progress, conflicts, and result whether a person clicks it or software invokes it.
- Operations return structured data and stable identifiers.
- Validate, preview, and execute are the same three verbs for every operation and every client.
- Long-running work becomes a durable job with progress, cancellation, restart recovery, and logs.
- Remote clients can inspect the same job state through an authorized session.
- Capabilities are explicit, scoped, visible, and revocable.
Spacedrive does not bundle an agent or choose a model for you. Use the CLI, skill, SDK, or MCP server with the agent you trust. Your agent gains a consistent filesystem interface without becoming the owner of your data. An agent validates first, shows you the plan, and commits the exact input it previewed. That is what makes destructive file operations safe to delegate.
Extend the filesystem
The default installation stays small. Extensions add specialized support only when you need it.
An extension can contribute:
- A source adapter or storage backend.
- File recognition through extensions, MIME types, UTTypes, magic bytes, and provider metadata.
- Typed metadata and search fields.
- Preview renderers, thumbnails, proxies, video thumbstrips, and persistent sidecars.
- Registered jobs, actions, menus, settings, and focused views.
Platform bridges can discover handlers already registered with macOS, Windows, and Linux. Heavy codecs, provider SDKs, and models remain outside the default binary. Extensions install from explicit packages and declare the access they need.
Architecture
flowchart TB
people[Desktop, web, mobile, CLI]
software[SDKs, skills, MCP]
operations[Typed operation registry]
daemon[Spacedrive daemon]
stores[Source stores, history, jobs]
local[Local drives and NAS]
remote[Remote Spacedrive nodes]
cloud[Cloud providers]
adapters[Adapters and extensions]
people --> operations
software --> operations
operations --> daemon
daemon --> stores
daemon --> local
daemon --> remote
daemon --> cloud
daemon --> adapters
The Rust daemon owns filesystem identity, indexing, operations, policy, and durable work. Clients connect through JSON-RPC over local sockets or WebSockets. Network protocols use Iroh and QUIC. OpenDAL provides cloud storage backends. SQLite gives each source a portable store and FTS5 index.
Core operations are registered at compile time with type-safe inputs and outputs. Specta generates the TypeScript and Swift clients from those Rust types, so every interface shares one contract.
Install a nightly
The nightly release
carries sd and sd-daemon for macOS ARM64 (macos-aarch64), Linux
x86-64 (linux-x86_64) and Windows x86-64 (windows-x86_64, as .exe
files), each with a .sha256 file. macOS and Linux are the supported
platforms. Windows is a preview: the CLI and daemon build and pass their unit
tests there, but the file operation, source and drive acceptance suites have
not run on Windows, there is no desktop app, and sd daemon install does not
set up auto-start, so run sd-daemon yourself. Download both binaries for
your platform, verify them, and put them in a directory on your PATH:
shasum -a 256 -c sd-macos-aarch64.sha256 sd-daemon-macos-aarch64.sha256 # sha256sum -c on Linux
chmod +x sd-macos-aarch64 sd-daemon-macos-aarch64
mv sd-macos-aarch64 ~/.local/bin/sd
mv sd-daemon-macos-aarch64 ~/.local/bin/sd-daemon
sd daemon install
To let sd keep itself on the latest nightly:
sd config set update.channel nightly
sd update --yes
sd update install-timer
The binaries are not signed with a Developer ID. On macOS, a browser download
carries the quarantine attribute and Gatekeeper refuses to run it until you
remove it with xattr -d com.apple.quarantine sd sd-daemon. Nightly builds
follow main and can break or change schemas without migrations, so keep
backups of any library you point them at.
Build from source
You need Rust 1.95 or newer (rust-toolchain.toml pins 1.97.1),
Bun 1.3.4 (the version package.json and CI pin; a newer
Bun rewrites bun.lockb), Node 20, and
just.
git clone https://github.com/spacedriveapp/spacedrive
cd spacedrive
# Installs system dependencies on macOS, Linux, or Windows.
./scripts/setup.sh # .\scripts\setup.ps1 on Windows
bun install
cargo run -p xtask -- setup
Run the daemon and your preferred client:
just dev-daemon # Rust daemon
just dev-desktop # Desktop client
just dev-server # Headless server and web interface
just dev-mobile # Mobile client
The sd-ffmpeg crate is a default workspace member and links the FFmpeg
development libraries installed on the host (libavutil, libavformat,
libavcodec, libavfilter, libavdevice, libswscale, libswresample) and
uses libclang to generate its bindings. scripts/setup.sh installs them
(libav*-dev and libclang-dev on Debian and Ubuntu, ffmpeg on Homebrew).
Without them the first cargo build fails in ffmpeg-sys-next with
libavutil.pc not found.
The default build can use FFmpeg installed on the host for video thumbnails and thumbstrips. Install the native codec bundle only when developing code that links the optional FFmpeg, libheif, or Pdfium libraries:
cargo run -p xtask -- setup --native-deps
Run the checks before submitting a change:
just test
just check
See the documentation for deployment, source, extension, and architecture guides.
Project history
Spacedrive began in 2021 as one interface over files scattered across devices and cloud accounts. The first public version proved the demand and exposed the cost of carrying two file models, fragile transfers, and too much product in the default build.
V2 rebuilds the project around sources, portable stores, durable jobs, and one typed operation surface. Read the project history for the full account.
Contributing
- Read the Contributing Guide.
- Join the Discord community.
- Build a source adapter with the Archive and Adapters guide.
- Contribute to the shared interface system in SpaceUI.
License
Releases before 2026-03-24 were published under AGPL-3.0 and remain available under that license.