Sobre o projeto
Spacedrive é um gerenciador de arquivos e plataforma de dados de código aberto e multiplataforma. Seu núcleo é um Sistema de Arquivos Virtual Distribuído (VDFS) escrito em Rust, com aplicativos para macOS, Windows, Linux, iOS e Android, além de CLI, servidor headless e clientes web.
Principais recursos descritos no README:
- Identidade de conteúdo: cada arquivo recebe um hash de conteúdo BLAKE3, permitindo deduplicação e rastreamento de redundância entre máquinas.
- Visão entre dispositivos: arquivos de todos os dispositivos aparecem em um único índice; dispositivos desconectados aparecem como offline.
- Sincronização P2P: dispositivos se conectam diretamente via Iroh/QUIC sem servidores centrais; os metadados são sincronizados enquanto os arquivos permanecem no lugar.
- Volumes em nuvem: S3, Google Drive, Dropbox, OneDrive, Azure e GCS podem ser indexados como volumes de primeira classe.
- Nove visualizações: grade, lista, colunas, mídia, tamanho, recentes, pesquisa, conhecimento e splat, com QuickPreview para vídeo, áudio, código, documentos, 3D e imagens.
- Design local-first: o processamento é executado na máquina do usuário, com relay auto-hospedado opcional e sem telemetria.
Adaptadores de arquivamento de dados indexam fontes externas como Gmail, Apple Notes, favoritos/histórico do Chrome, histórico do Safari, Obsidian, Slack, GitHub, contatos e calendários. Adaptadores são pastas com um manifesto adapter.toml e um script de sincronização em qualquer linguagem que lê a entrada padrão (stdin) e imprime linhas.
A integração com Spacebot fornece um runtime opcional de agente de IA. O Spacedrive fornece a camada de dados, permissões e execução; cada agente é pareado com um nó e as operações são proxy através do sistema de permissões para os dispositivos de destino. Um pipeline de segurança pode filtrar registros indexados com Prompt Guard 2, níveis de confiança, quarentena e isolamento de conteúdo antes da exposição aos agentes.
Destaques da arquitetura: Rust com Tokio, SQLite via SeaORM/sqlx, Iroh para P2P, hash BLAKE3, LanceDB e FastEmbed para busca vetorial, OpenDAL para armazenamento em nuvem, Tauri 2 para desktop, React Native/Expo para mobile, e React 19/Vite/TanStack Query/Tailwind para o frontend. O núcleo usa CQRS/DDD com ações e consultas registradas que geram automaticamente tipos TypeScript.
Para começar, são necessários Rust 1.81+, Bun 1.3+, just e Python 3.9+; os comandos incluem just setup, just dev-desktop e just test. O projeto é licenciado sob FSL-1.1-ALv2, convertendo-se para Apache 2.0 após dois anos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.