diff --git a/README.md b/README.md index 62e2cee..71c0896 100644 --- a/README.md +++ b/README.md @@ -142,8 +142,8 @@ Server/ ```bash # 克隆项目 -git clone https://github.com/yourusername/DiskNext-Server.git -cd DiskNext-Server +git clone https://github.com/DiskNext/Server.git +cd Server # 使用 uv 安装依赖 uv sync @@ -165,10 +165,10 @@ DATABASE_URL=sqlite+aiosqlite:///disknext.db ```bash # 开发模式 -fastapi dev main:app +fastapi dev # 生产模式 -fastapi run main:app +fastapi run ``` 访问 http://localhost:8000/docs 查看 API 文档。 diff --git a/ROADMAP.md b/ROADMAP.md index 7f1ba2e..ed719b5 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -113,6 +113,13 @@ - [ ] 文件类型限制 - [ ] 单文件大小限制 +### Webhook 事件系统 + +- [ ] 文件事件推送(创建、修改、删除、分享) +- [ ] 自定义 HTTP 回调配置 +- [ ] 事件过滤规则 +- [ ] 重试机制与日志 + --- ## Beta 阶段 (v0.5.x) - 计划中 @@ -120,6 +127,7 @@ ### 分享功能 - [ ] 创建分享链接 +- [ ] 分享链接中带有 README 自动预览 - [ ] 分享密码保护 - [ ] 分享过期时间 - [ ] 分享访问统计 @@ -155,6 +163,21 @@ - [ ] 文件管理接口 - [ ] 数据统计接口 +### 协作功能 + +- [ ] 文件/文件夹协作权限(查看者/评论者/编辑者/管理者) +- [ ] 协作邀请与权限管理接口 +- [ ] 活动流(文件变更历史) +- [ ] 文件评论与 @提及 +- [ ] 文件夹变更订阅通知 + +### 外部存储源挂载(借鉴 Alist) + +- [ ] 远程 URL 挂载(HTTP/FTP 链接作为虚拟文件) +- [ ] SFTP/SMB 远程目录挂载 +- [ ] 挂载源只读/可写模式 +- [ ] 多存储策略聚合视图 + --- ## RC 阶段 (v0.9.x) - 计划中 @@ -190,6 +213,33 @@ - [ ] Markdown 渲染 - [ ] 代码高亮 +### 客户端同步 API + +- [ ] 增量同步协议(仅传输变更) +- [ ] 文件冲突检测与处理 +- [ ] 按需下载占位符(类似 OneDrive) +- [ ] 带宽控制(限速上传/下载) +- [ ] 移动端相册自动备份 API +- [ ] 后台上传支持(iOS/Android) +- [ ] 离线标记与推送通知 + +### 云盘数据迁移 + +- [ ] Google Drive OAuth 导入 +- [ ] Dropbox OAuth 导入 +- [ ] OneDrive OAuth 导入 +- [ ] 百度网盘导入(Cookie/API) +- [ ] WebDAV 源批量拉取 +- [ ] 迁移进度追踪与断点续传 + +### 存储分析仪表盘 + +- [ ] 空间使用分析(按文件类型、用户、时间) +- [ ] 重复文件检测报告 +- [ ] 大文件排行榜 +- [ ] 访问热度统计 +- [ ] 存储增长趋势预测 + --- ## Stable 阶段 (v1.0.0) - 计划中 @@ -202,6 +252,20 @@ - [ ] 最近访问 - [ ] 回收站 +### 文件处理工作流 + +- [ ] 工作流引擎(触发条件 + 匹配规则 + 执行动作) +- [ ] 内置动作:格式转换、移动、压缩、通知 +- [ ] 定时任务触发器 +- [ ] 工作流模板市场 + +### 冷热数据分层 + +- [ ] 存储层级定义(HOT/WARM/COLD) +- [ ] 基于访问频率的自动降级策略 +- [ ] 访问时自动升温 +- [ ] 分层存储成本报告 + ### 国际化 - [ ] i18n 框架集成 @@ -227,14 +291,86 @@ ## 未来展望 (v1.x+) -### 高级功能 +### 文件版本控制与增量存储 + +分阶段实现文件版本控制和智能存储优化。 + +#### 第一阶段:基础版本控制 + +- [ ] `FileVersion` 数据模型设计 +- [ ] 文件修改时自动创建版本快照 +- [ ] 版本历史查询接口 +- [ ] 版本回滚功能 +- [ ] 版本比较(文本文件) + +#### 第二阶段:增量存储(Delta Storage) + +- [ ] 文本文件 diff 存储(使用 `difflib`) +- [ ] 二进制文件 diff 存储(使用 `bsdiff4`) +- [ ] 文件类型智能判断(是否适合增量存储) +- [ ] 周期性完整快照策略(防止版本链过长) +- [ ] 版本重建服务(从快照 + delta 序列恢复) + +#### 第三阶段:跨用户去重优化 + +- [ ] 相似性检测算法(MinHash / SimHash) +- [ ] 跨用户相似文件识别 +- [ ] 共享基础版本 + 用户独立 delta 分支 +- [ ] 存储空间节省统计 + +#### 技术说明 + +**存储效率预估**: + +| 场景 | 传统方案 | 增量方案 | 节省 | +|------|----------|----------|------| +| 10 用户各持有 100MB 相似文档 | 1000MB | ~190MB | 81% | +| 单文件 50 个小版本 | 5GB | ~200MB | 96% | + +**文件类型支持矩阵**: + +| 文件类型 | Diff 效果 | 策略 | +|----------|-----------|------| +| 文本/代码/Markdown | 极佳 | 优先增量 | +| JSON/XML/配置文件 | 极佳 | 优先增量 | +| Office 文档 | 一般 | 按差异率决定 | +| 图片/视频/音频 | 差 | 完整存储 | + +**风险与缓解**: + +- 版本链损坏 → 周期性完整快照 + 校验和验证 +- 读取性能 → 热点文件缓存 + 预计算 +- 存储碎片 → Delta 文件打包 + 定期压实 + +### 媒体处理服务 + +- [ ] 视频转码(H.264/H.265,多分辨率输出) +- [ ] 图片处理(压缩、裁剪、格式转换、水印) +- [ ] 文档转换(Office → PDF,Markdown → HTML) +- [ ] 音频转码(MP3/AAC/FLAC 互转) +- [ ] 后台 Celery Worker + FFmpeg 架构 + +### AI 驱动功能 + +- [ ] 图片 OCR 文字提取与搜索 +- [ ] 人脸识别照片分组 +- [ ] 场景/物体自动标签 +- [ ] 视频关键帧摘要 +- [ ] 智能文件夹(自动分类) + +### 安全与合规 + +- [ ] 文件病毒扫描(ClamAV 集成) +- [ ] 敏感信息检测(身份证、银行卡、手机号) +- [ ] 数据防泄漏策略(DLP) +- [ ] 分享链接动态水印 +- [ ] 审计日志导出(合规报告) + +### 其他高级功能 -- [ ] 文件版本历史 - [ ] 文件加密存储 -- [ ] 文件同步客户端 API - [ ] Subsonic 音乐接口 -- [ ] 照片管理(相册、时间线) -- [ ] AI 文件分类与搜索 +- [ ] 照片管理(相册、时间线、地图视图) ### 企业功能 (Pro) @@ -248,9 +384,9 @@ ### 生态集成 - [ ] Rclone 集成 -- [ ] 备份工具集成 -- [ ] 移动端 API 优化 -- [ ] 桌面客户端支持 +- [ ] 备份工具集成(增量备份到其他存储) +- [ ] Zapier/n8n/IFTTT 连接器 +- [ ] 第三方应用 OAuth 授权 ---