这个项目能做什么
Spacedrive 是一个开源、跨平台的文件管理器和数据平台。其核心是用 Rust 编写的虚拟分布式文件系统(VDFS),提供 macOS、Windows、Linux、iOS 和 Android 应用,以及 CLI、无头服务器和 Web 客户端。
README 中描述的关键功能:
- 内容标识:每个文件都会获得一个 BLAKE3 内容哈希,从而实现跨机器的去重和冗余跟踪。
- 跨设备视图:所有设备的文件都出现在一个索引中;断开的设备显示为离线。
- P2P 同步:设备通过 Iroh/QUIC 直接连接,无需中央服务器;元数据同步,而文件保持原位。
- 云卷:S3、Google Drive、Dropbox、OneDrive、Azure 和 GCS 可以作为一等卷进行索引。
- 九种视图:网格、列表、列、媒体、大小、最近、搜索、知识和 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,Iroh 用于 P2P,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 许可证,两年后转换为 Apache 2.0。
评论
0 评分人数达到10人后显示
登录后参与讨论。