# DiskNext Server 开发路线图 本文档概述 DiskNext Server 的开发计划和进度。项目当前处于 **OMEGA** 实验阶段。 --- ## 版本规划 | 阶段 | 版本 | 状态 | 说明 | |------|------|------|------| | OMEGA | 0.0.x | **当前** | 实验性开发,API 可能频繁变动 | | Alpha | 0.1.x | 计划中 | 核心功能基本可用 | | Beta | 0.5.x | 计划中 | 功能完善,开始公测 | | RC | 0.9.x | 计划中 | 候选发布版本 | | Stable | 1.0.0 | 计划中 | 正式稳定版本 | --- ## OMEGA 阶段 (v0.0.x) - 当前 ### 已完成 #### 基础架构 - [x] FastAPI 应用框架搭建 - [x] SQLModel ORM 集成 - [x] 异步数据库支持 (aiosqlite) - [x] 项目结构规范化 - [x] 开发规范文档 (CLAUDE.md) #### 数据模型 - [x] 基类定义 (SQLModelBase, TableBase, UUIDTableBase) - [x] 用户模型 (User) - [x] 用户组模型 (Group, GroupOptions) - [x] 统一对象模型 (Object) - 合并文件和目录 - [x] 存储策略模型 (Policy) - [x] 分享模型 (Share) - [x] 标签模型 (Tag) - [x] WebDAV 模型 (WebDAV) - [x] 设置模型 (Setting) - [x] 其他模型 (Order, Redeem, Report, Task, SourceLink, StoragePack, Download, Node) #### 用户系统 - [x] 用户注册接口 - [x] 用户登录接口 (OAuth2.1 Password Grant) - [x] JWT 令牌认证 - [x] 获取当前用户信息 - [x] 用户存储空间查询 #### 认证安全 - [x] Argon2 密码哈希 - [x] JWT 令牌生成与验证 - [x] 认证中间件 - [x] 两步验证 (2FA/TOTP) 初始化与启用 - [x] WebAuthn 注册初始化 #### 测试 - [x] pytest 测试框架配置 - [x] 单元测试结构 - [x] 集成测试结构 - [x] 测试夹具 (fixtures) ### 进行中 #### 用户系统 - [ ] WebAuthn 完整流程 - [ ] OAuth 第三方登录 (QQ, GitHub) - [ ] 用户设置管理 - [ ] 头像上传/Gravatar #### 目录系统 - [ ] 目录浏览接口 - [ ] 目录创建接口 - [ ] 路径解析优化 #### 存储策略 - [ ] 本地存储策略实现 - [ ] S3 存储策略实现 --- ## Alpha 阶段 (v0.1.x) - 计划中 ### 文件操作 - [ ] 文件上传(单文件) - [ ] 文件上传(分块上传) - [ ] 文件下载 - [ ] 文件预览 URL 生成 - [ ] 缩略图生成 - [ ] 文件移动/复制 - [ ] 文件重命名 - [ ] 文件删除(软删除/回收站) ### 目录操作 - [ ] 目录树查询 - [ ] 目录移动/复制 - [ ] 目录删除(递归) - [ ] 批量操作 ### 存储策略完善 - [ ] 阿里云 OSS 支持 - [ ] 腾讯云 COS 支持 - [ ] 七牛云支持 - [ ] OneDrive 支持 - [ ] 存储策略切换 ### 用户组权限 - [ ] 权限验证中间件 - [ ] 存储空间限制 - [ ] 文件类型限制 - [ ] 单文件大小限制 ### Webhook 事件系统 - [ ] 文件事件推送(创建、修改、删除、分享) - [ ] 自定义 HTTP 回调配置 - [ ] 事件过滤规则 - [ ] 重试机制与日志 --- ## Beta 阶段 (v0.5.x) - 计划中 ### 分享功能 - [ ] 创建分享链接 - [ ] 分享链接中带有 README 自动预览 - [ ] 分享密码保护 - [ ] 分享过期时间 - [ ] 分享访问统计 - [ ] 分享页面数据接口 ### 离线下载 - [ ] Aria2 RPC 集成 - [ ] qBittorrent API 集成 - [ ] 下载任务管理 - [ ] 下载完成回调 ### WebDAV - [ ] WebDAV 账号管理 - [ ] WebDAV 协议实现 - [ ] WebDAV 代理功能 ### 增值服务 - [ ] 积分系统实现 - [ ] 兑换码生成与使用 - [ ] 存储容量包 - [ ] 订单管理 ### 管理后台 - [ ] 用户管理接口 - [ ] 用户组管理接口 - [ ] 存储策略管理接口 - [ ] 系统设置接口 - [ ] 任务管理接口 - [ ] 文件管理接口 - [ ] 数据统计接口 ### 协作功能 - [ ] 文件/文件夹协作权限(查看者/评论者/编辑者/管理者) - [ ] 协作邀请与权限管理接口 - [ ] 活动流(文件变更历史) - [ ] 文件评论与 @提及 - [ ] 文件夹变更订阅通知 ### 外部存储源挂载(借鉴 Alist) - [ ] 远程 URL 挂载(HTTP/FTP 链接作为虚拟文件) - [ ] SFTP/SMB 远程目录挂载 - [ ] 挂载源只读/可写模式 - [ ] 多存储策略聚合视图 --- ## RC 阶段 (v0.9.x) - 计划中 ### 分布式支持 - [ ] 从节点注册与认证 - [ ] 从节点任务分发 - [ ] 从节点健康检查 - [ ] 负载均衡 ### 性能优化 - [ ] 数据库查询优化 - [ ] 缓存层 (Redis) - [ ] CDN 集成 - [ ] 并发上传优化 ### 安全加固 - [ ] 速率限制 - [ ] 安全审计日志 - [ ] 敏感操作二次验证 - [ ] CORS 配置优化 ### 在线预览 - [ ] 图片预览 - [ ] 视频播放 - [ ] 音频播放 - [ ] PDF 预览 - [ ] Office 文档预览 - [ ] Markdown 渲染 - [ ] 代码高亮 ### 客户端同步 API - [ ] 增量同步协议(仅传输变更) - [ ] 文件冲突检测与处理 - [ ] 按需下载占位符(类似 OneDrive) - [ ] 带宽控制(限速上传/下载) - [ ] 移动端相册自动备份 API - [ ] 后台上传支持(iOS/Android) - [ ] 离线标记与推送通知 ### 云盘数据迁移 - [ ] Google Drive OAuth 导入 - [ ] Dropbox OAuth 导入 - [ ] OneDrive OAuth 导入 - [ ] 百度网盘导入(Cookie/API) - [ ] WebDAV 源批量拉取 - [ ] 迁移进度追踪与断点续传 ### 存储分析仪表盘 - [ ] 空间使用分析(按文件类型、用户、时间) - [ ] 重复文件检测报告 - [ ] 大文件排行榜 - [ ] 访问热度统计 - [ ] 存储增长趋势预测 --- ## Stable 阶段 (v1.0.0) - 计划中 ### 功能完善 - [ ] 全盘搜索 - [ ] 文件标签 - [ ] 收藏夹 - [ ] 最近访问 - [ ] 回收站 ### 文件处理工作流 - [ ] 工作流引擎(触发条件 + 匹配规则 + 执行动作) - [ ] 内置动作:格式转换、移动、压缩、通知 - [ ] 定时任务触发器 - [ ] 工作流模板市场 ### 冷热数据分层 - [ ] 存储层级定义(HOT/WARM/COLD) - [ ] 基于访问频率的自动降级策略 - [ ] 访问时自动升温 - [ ] 分层存储成本报告 ### 国际化 - [ ] i18n 框架集成 - [ ] 多语言错误消息 - [ ] API 文档多语言 ### 文档完善 - [ ] API 文档完善 - [ ] 部署文档 - [ ] 开发者文档 - [ ] 用户手册 ### 生产就绪 - [ ] Docker 镜像 - [ ] Docker Compose 配置 - [ ] Kubernetes 部署配置 - [ ] 监控指标 (Prometheus) - [ ] 健康检查端点 --- ## 未来展望 (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) - [ ] 分享链接动态水印 - [ ] 审计日志导出(合规报告) ### 其他高级功能 - [ ] 文件加密存储 - [ ] Subsonic 音乐接口 - [ ] 照片管理(相册、时间线、地图视图) ### 企业功能 (Pro) - [ ] LDAP/AD 集成 - [ ] SSO 单点登录 - [ ] 审计日志 - [ ] 高级权限控制 - [ ] 企业工作空间 - [ ] 协作功能 ### 生态集成 - [ ] Rclone 集成 - [ ] 备份工具集成(增量备份到其他存储) - [ ] Zapier/n8n/IFTTT 连接器 - [ ] 第三方应用 OAuth 授权 --- ## 贡献指南 如果你想参与项目开发,可以: 1. 查看上方的待办事项,选择感兴趣的功能 2. 在 Issue 中认领任务 3. 阅读 [CLAUDE.md](CLAUDE.md) 了解开发规范 4. 提交 Pull Request 我们特别欢迎以下方面的贡献: - 存储策略实现(各类云存储) - 测试用例编写 - 文档完善 - Bug 修复 --- *最后更新:2025年12月*