Spacedrive - penjelajah file lintas platform berbasis open source
(github.com/spacedriveapp)- Spacedrive adalah cross-device data platform yang menangani file dari berbagai perangkat dan cloud di satu tempat, dengan mengindeks dan mencari file, email, catatan, serta sumber eksternal, lalu menyinkronkannya lewat P2P
- Alih-alih menggantikan Finder atau Explorer, Spacedrive berperan sebagai lapisan di atas file manager OS untuk mencari dan menjelajahi disk lokal, drive eksternal, NAS, cloud storage, arsip, dan sumber data lainnya
- Semua file diberi hash konten BLAKE3 sehingga file yang sama dikenali dengan hash yang sama, memungkinkan pelacakan duplikat dan deduplikasi di seluruh perangkat
- Sinkronisasi antarperangkat terhubung langsung melalui P2P sync berbasis Iroh/QUIC, menyinkronkan metadata tanpa server, cloud, atau single point of failure, sementara file tetap berada di lokasi aslinya
- S3, Google Drive, Dropbox, OneDrive, Azure, dan GCS diindeks sebagai cloud volumes bersama storage lokal, sedangkan Gmail, Apple Notes, Chrome Bookmarks, Slack, GitHub, dan lainnya menjadi repositori yang bisa dicari melalui adapter berbasis skrip
- Terintegrasi dengan Spacebot untuk menjalankan runtime agen AI sebagai proses terpisah opsional, dengan Spacedrive menangani lapisan data, izin, dan eksekusi, sementara Spacebot menangani kecerdasannya
- Setiap instans Spacebot dipasangkan dengan satu node Spacedrive, dan node tersebut menangani autentikasi agen, pemeliharaan graph perangkat, penyelesaian izin, serta penerusan tugas ke perangkat peer
- Pembacaan file, perintah shell, dan tugas diproksikan ke perangkat target melalui Spacedrive, sementara sistem izin menangani perangkat, path, tugas, dan apakah konfirmasi orang yang dapat diakses diperlukan
- Saat diaktifkan, record yang menjadi target pengindeksan akan melewati pipeline Safety Screening sebelum tersedia untuk pencarian
- Prompt Guard 2 mendeteksi prompt injection pada email, pesan, dan dokumen dengan classifier lokal
- Melalui trust tiers, sistem karantina, dan content fencing, record yang ditandai dikecualikan dari kueri agen AI dan dapat ditinjau di aplikasi desktop
- Arsitektur intinya terdiri dari Virtual Distributed Filesystem, sistem identifikasi konten, aksi transaksional, dan sinkronisasi tanpa leader
- File dan folder menjadi objek yang independen dari lokasi fisiknya, dan setiap file memiliki alamat
SdPathyang berfungsi di banyak perangkat - Operasi file memiliki bentuk durable job yang mendukung pratinjau sebelum eksekusi, persetujuan atau pembatalan, serta tahan terhadap gangguan jaringan dan restart perangkat
- File dan folder menjadi objek yang independen dari lokasi fisiknya, dan setiap file memiliki alamat
- Implementasinya berbasis single crate Rust dan arsitektur CQRS/DDD, dengan teknologi utama Tokio, SQLite, SeaORM, sqlx, Iroh, BLAKE3, LanceDB, FastEmbed, OpenDAL, Tauri 2, React Native, React 19, Vite, TanStack Query, Tailwind CSS v4, dan Specta
- Aplikasi desktop mendukung macOS, Windows, dan Linux, sementara aplikasi mobile ditujukan untuk iOS dan Android, serta juga memiliki struktur CLI, daemon, headless server, dan browser client
- Persyaratan eksekusinya adalah Rust 1.81+, Bun 1.3+, just, dan Python 3.9+ untuk adapter, dengan perintah pengembangan
just setup,just dev-desktop, danjust test - Model privasi dan keamanannya bersifat local-first, trafik P2P dienkripsi dengan QUIC/TLS, library mendukung enkripsi disk dengan SQLCipher, dan tidak ada telemetry untuk pelacakan atau analitik
- Lisensinya adalah FSL-1.1-ALv2 Functional Source License, dan akan beralih ke Apache 2.0 setelah 2 tahun
1 komentar
Komentar Hacker News
Setelah instalasi, aplikasi langsung meminta pembuatan library, berbagi data analitik, dan login, jadi ekspektasinya terasa berbeda dari file explorer lain
Saya pindah ke direktori acak di drive lalu mengklik dua kali, tetapi tidak terjadi apa-apa; dibuka lewat menu konteks pun sama saja
Ternyata jika ada 15 ribu file dalam satu direktori, penjelajahan praktis menjadi mustahil
Total Commander dan Windows Explorer tidak punya masalah seperti ini, jadi Spacedrive sepertinya perlu memoles dulu fungsi dasar file explorer-nya
Berbeda dengan beberapa balasan di sini, Spacedrive dirancang dengan mempertimbangkan data berukuran besar, mengindeks Location terlebih dahulu untuk membuat cache, serta melakukan caching dan virtualisasi terhadap semuanya
Pada pembaruan berikutnya kami berencana memperbaiki bug saat menjelajah tempat yang bukan Location, dan tampaknya banyak pengguna mencoba menjelajah lebih dulu sebelum menambahkannya sebagai Location
Ini masih software alfa, jadi kami berharap bisa memolesnya seiring waktu
Sulit menyalahkan developer saja; menurut saya framework seharusnya mendukungnya secara default
Pengguna seharusnya tidak perlu memahami daftar tervirtualisasi
Saat membuat TableView dengan SwiftUI, saya bisa menggulir ribuan item tanpa tahu sama sekali cara kerja internalnya
Karena tidak ada cache urutan pengurutan, jika dibuka dengan cara selain urutan alfabet, harus menunggu lebih dari 5 menit untuk proses pengurutan
Saat saya melihatnya cukup lama lalu, belum ada paket rilis yang bisa dicoba langsung, jadi saya berniat mengeceknya nanti ketika sudah siap; sepertinya versi alfa keluar sekitar satu jam lalu sehingga muncul lagi di HN
Konsepnya sendiri menyenangkan untuk dilihat
Sekarang batas antara file lokal yang ketat dan berbagai penyimpanan cloud makin kabur
Secara pribadi saya tetap mempertahankan batas itu dan hampir tidak pernah me-mount penyimpanan cloud di Mac, tetapi istri saya yang akademisi menggunakan Dropbox, iCloud Drive, Google Drive, dan penyimpanan dari Microsoft
Itu karena rekan-rekan kerjanya membagikan file dan berkolaborasi untuk review lewat masing-masing layanan
Jika alat seperti ini bisa menyembunyikan masalah koneksi dan perilaku aneh per vendor, lalu menyediakan sistem file transparan yang tampak seperti lokal tetapi di belakangnya bisa terhubung ke penyimpanan cloud mana pun, ini akan cukup membantu workflow
Kuncinya adalah usability; jika latensinya besar hingga terasa lebih lambat daripada Finder, peluangnya menjadi kecil
Hacker News kemungkinan besar bukan kelompok pengguna paling optimal untuk produk seperti ini
Orang-orang di sini kemungkinan besar sudah punya workflow yang dioptimalkan masing-masing, dan saya juga begitu
Produk ini sepertinya lebih cocok untuk kreator digital yang memakai Windows dan Mac tetapi tidak terbiasa dengan terminal
Misalnya animator, ilustrator, editor video, artis 3D, produser musik, YouTuber, dan streamer
Namun saya tidak terlalu yakin apakah kelompok kedua itu benar-benar menginginkan hal seperti ini
Dari marketing-nya saja saya tidak tahu persis software ini melakukan apa, dan menurut saya kelompok itu juga akan merasa sama
Saya paham mereka ingin menyampaikan “pengalaman file universal”, tetapi tidak jelas secara konkret apa maksudnya
Pengguna seharusnya tidak perlu menginstal software untuk memahami fiturnya
Fakta bahwa ini open source atau berjalan di Linux juga tampaknya tidak terlalu penting bagi mereka
Pada tahap ini, saya akan membuat ulang marketing sepenuhnya dan mengoptimalkannya untuk kelompok kedua itu
Sebaiknya bekerja dengan orang PR atau pakar marketing untuk menyampaikan secara konkret dan efisien nilai apa yang sedang dibuat
Selain itu, demi menghemat upaya tim, saya mungkin akan menurunkan source repository dan menghentikan versi Linux, atau membiarkannya privat sampai ada permintaan
Semoga sukses
Saya sudah cukup lama mengikuti proyek ini dan punya beberapa feedback
Mengindeks satu direktori pengembangan lokal sejauh ini memakan waktu lebih dari 35 menit, dan sepertinya saya tidak akan menunggu sampai selesai
Seperti yang dikatakan orang lain, latensi menjadi masalah
Di macOS M1 14 inci model dasar, bahkan setelah menambahkan Location, kadang butuh 2–4 detik untuk membuka folder dan melihat file muncul
Kalau saya tidak melewatkan sesuatu, sepertinya belum ada tab
Fitur pengurutan dan pengelompokan file terlalu minim atau praktis tidak ada, tetapi saya kira akan membaik dalam pengembangan
Untuk membuat kondisi indeks yang masuk akal, tampaknya pengguna harus melakukan banyak hal sendiri, seperti menambahkan banyak Location secara manual
Saya paham ini local-first, tetapi cara telemetry dan login-nya benar-benar tidak saya sukai
Secara keseluruhan, setelah mencobanya langsung saya agak kecewa sehingga kemungkinan besar ini tidak cocok untuk saya, tetapi mungkin ada pengguna targetnya dan perjalanannya juga masih panjang
Tampilannya benar-benar bagus
Saya penasaran kenapa ini dibuat dengan React
Saya paham Rust tidak punya framework GUI seperti Qt, tetapi apakah ini memang jawabannya?
Apakah karena tidak mau belajar hal baru?
Ini bisa saja dibuat dengan aplikasi C++ atau Qt, GUI-nya ditulis dengan QML, dan Lua, Python, atau JavaScript juga bisa dipasang sebagai bahasa skrip
Tentu saja itu pekerjaan
Merender dengan browser lebih mirip versi yang lebih mudah dari membuat GUI dengan API GPU seperti OpenGL
Sistem operasi sudah punya alat GUI, jadi gunakan saja itu
Selain itu terlihat cukup bagus, tetapi bukankah sesuatu seperti pcmanfm juga mendukung penambahan lokasi remote?
Satu hal lagi yang membuat saya penasaran adalah kenapa memakai Prisma
Tauri memudahkan turun ke Rust saat membutuhkan pekerjaan berperforma tinggi atau integrasi sistem operasi, dan packaging untuk platform utama juga sudah tersedia
Dengan React, kita bisa memanfaatkan ekosistem hebat yang sudah punya banyak komponen UI
Berbeda dari kebanyakan framework GUI Rust native
Selain itu, kita bisa menggunakan kembali engineer frontend beserta kemampuan mereka dalam teknologi web dan kolaborasi dengan desainer
Bisa dibilang belum sematang Qt, tetapi dibandingkan dengan sesuatu yang berjalan di browser, sering kali sudah cukup
Repositori ini masih berada pada tahap alfa awal dan punya banyak bug yang diketahui, jadi agak sulit dipercaya bahwa GitHub star-nya sebanyak ini
Terlebih lagi, kelihatannya mereka mendapat investasi VC, yang terasa lebih membingungkan daripada langchain atau pinecone yang mendapat pendanaan
Setidaknya yang itu proyek berbasis AI, sedangkan proyek ini berada di area yang sudah banyak digarap
Bahkan kalau gratis selamanya pun rasanya orang-orang tidak akan menginginkannya, apalagi kalau ada iklan, pelacakan, atau langganan bulanan
Pada dasarnya tidak ada alasan untuk percaya, dan ada banyak alasan untuk tidak percaya
Ini bukan serangan pribadi, tetapi kalau belum mempertimbangkan sudut pandang seperti ini, sebaiknya dipikirkan
Layar pertama setelah “welcome” adalah login
Saya tidak tahu kenapa harus login ke file explorer, zaman ini memang aneh
Alasan perlu login adalah karena ini merupakan sistem file jarak jauh
Lebih tepat membayangkannya sebagai Dropbox daripada file explorer
Ini akan diubah pada pembaruan berikutnya
Pada akhirnya, login akan menjadi cara untuk menghubungkan perangkat dengan cepat, seperti Tailscale
Indeks meta yang bisa dicari dan dijelajahi untuk semua penyimpanan cloud dan lokal yang tersebar, baik yang ter-mount maupun tidak ter-mount, jelas menarik dan selama beberapa waktu menjadi semacam cawan suci
Manajemen aset digital bukan konsep baru, tetapi saat ini bukan bidang dengan banyak pilihan
Portfolio atau rangkaian produk Adobe yang kompleks menyediakan banyak fungsi seperti ini, tetapi lebih berfokus pada workflow dan metadata daripada penyimpanan cloud
Saat ini, kita harus sangat berhati-hati sebelum mengadopsi satu lagi layanan yang bergantung pada cloud
Mengingat sensitivitas “semua file, termasuk file lokal dan offline”, self-hosting/on-premises bisa menjadi persyaratan mutlak
Jika akun diperlukan, orang akan menginginkan integrasi dengan manajemen identitas yang sudah ada melalui OIDC atau SAML
Jika alat ini menjadi satu pintu utama untuk melihat seluruh file dan workflow dibangun di atasnya, diperlukan juga fitur kontinuitas yang membuat ketersediaannya bisa diyakini
Semoga terus didorong maju
Belum ada yang benar-benar menyelesaikan ini
Proyeknya terlihat keren dan saya suka ambisinya
Ada beberapa catatan
Sediakan satu toggle yang jelas untuk semua akses WAN, dan toggle terpisah untuk pengiriman data analitik atau data penggunaan, dengan default mati
Lebih bagus lagi kalau hal-hal ini juga dijadikan flag saat kompilasi
Dulu terminal baru bernama Warp sangat menarik, tetapi secara default mengirim data lewat jaringan sehingga langsung menjadi alasan penolakan bagi banyak orang
Semoga banyak mengambil inspirasi dari Windirstat dan Everything, khususnya menjadikan performa pencarian Everything sebagai target
Saya lihat sudah ada di roadmap, tetapi sekali lagi: tab itu perlu
Pertimbangkan juga untuk beralih dari Prisma
Ia terlalu membungkus database dan terlalu banyak “sihir”
Mungkin dasarnya lemah, tetapi saya sedikit khawatir suatu hari lisensinya akan diubah
Saya berharap orang-orang berhenti memperlakukan written in Rust di awal README seolah-olah itu fitur
Setiap kali melihat frasa seperti itu, yang saya rasakan bukan “pasti lebih stabil”, melainkan “ini proyek hobi seseorang”
Kalau di README, rasanya wajar dimasukkan sebagai detail relevan untuk proyek open source