프로젝트 소개

Spacedrive는 오픈소스 크로스 플랫폼 파일 관리자이자 데이터 플랫폼입니다. 핵심은 Rust로 작성된 가상 분산 파일 시스템(VDFS)이며, macOS, Windows, Linux, iOS, Android용 앱과 함께 CLI, 헤드리스 서버 및 웹 클라이언트를 제공합니다. README에 설명된 주요 기능: - 콘텐츠 식별: 모든 파일에 BLAKE3 콘텐츠 해시가 부여되어 기기 간 중복 제거 및 중복성 추적을 가능하게 합니다. - 크로스 디바이스 뷰: 모든 기기의 파일이 하나의 인덱스에 표시되며, 연결이 끊어진 기기는 오프라인으로 표시됩니다. - P2P 동기화: 중앙 서버 없이 Iroh/QUIC를 통해 기기가 직접 연결됩니다. 메타데이터는 동기화되지만 파일은 제자리에 유지됩니다. - 클라우드 볼륨: S3, Google Drive, Dropbox, OneDrive, Azure 및 GCS를 일급 볼륨으로 인덱싱할 수 있습니다. - 9가지 뷰: 그리드, 목록, 컬럼, 미디어, 크기, 최근 항목, 검색, 지식 및 splat 뷰를 제공하며, QuickPreview를 통해 비디오, 오디오, 코드, 문서, 3D 및 이미지를 미리 볼 수 있습니다. - 로컬 우선 설계: 처리는 사용자의 기기에서 수행되며, 선택적 셀프 호스팅 릴레이를 지원하고 텔레메트리는 없습니다. 데이터 아카이브 어댑터는 Gmail, Apple Notes, Chrome 북마크/방문 기록, Safari 방문 기록, Obsidian, Slack, GitHub, 연락처 및 캘린더와 같은 외부 소스를 인덱싱합니다. 어댑터는 adapter.toml 매니페스트와 stdin을 읽고 줄을 출력하는 임의 언어의 동기화 스크립트를 포함하는 폴더입니다. Spacebot 통합은 선택적 AI 에이전트 런타임을 제공합니다. Spacedrive는 데이터, 권한 및 실행 계층을 제공하며, 각 에이전트는 하나의 노드와 페어링되고 작업은 권한 시스템을 통해 대상 기기로 프록시됩니다. 안전성 파이프라인은 에이전트에 노출하기 전에 Prompt Guard 2, 신뢰 계층, 격리 및 콘텐츠 펜싱을 사용하여 인덱싱된 레코드를 필터링할 수 있습니다. 아키텍처 하이라이트: Rust와 Tokio, SeaORM/sqlx를 통한 SQLite, P2P용 Iroh, BLAKE3 해싱, 벡터 검색을 위한 LanceDB 및 FastEmbed, 클라우드 스토리지용 OpenDAL, 데스크톱용 Tauri 2, 모바일용 React Native/Expo, 프런트엔드용 React 19/Vite/TanStack Query/Tailwind를 사용합니다. 코어는 CQRS/DDD를 사용하며, 등록된 액션과 쿼리를 통해 TypeScript 타입을 자동 생성합니다. 시작하려면 Rust 1.81+, Bun 1.3+, just 및 Python 3.9+가 필요하며, 명령어에는 just setup, just dev-desktop 및 just test가 포함됩니다. 이 프로젝트는 FSL-1.1-ALv2 라이선스를 따르며, 2년 후 Apache 2.0으로 전환됩니다.