# MEMORY.md > 项目状态与关键决策记录,供跨会话参考。 ## 当前状态 - **版本**:v0.1.0(MVP) - **阶段**:基础功能已完成,前后端均可构建并运行 - **最后更新**:2026-06-29 ## 已完成的里程碑 ### MVP(v0.1.0) - [x] 前后端项目初始化 - [x] SQLite 数据库与默认管理员账号 - [x] JWT 登录认证与管理员/只读角色 - [x] 阿里云 VOD 账号配置(多账号、切换、Secret 加密) - [x] 视频列表、搜索、筛选 - [x] 视频详情查看 - [x] 批量获取下载地址(支持指定清晰度) - [x] 批量删除视频 - [x] 批量更新视频元信息 - [x] VOD 分类树读取 - [x] 操作日志记录 - [x] Docker + Docker Compose 部署配置 - [x] README 与部署文档 - [x] GitHub Actions CI 配置 ## 架构决策 1. **前后端分离**:React 前端 + Express 后端,生产环境由后端 serve 前端静态资源。 2. **数据库选型**:使用 SQLite,零部署成本,适合个人/小团队自托管。 3. **密钥安全**:AccessKey Secret 使用 AES-256-GCM 加密,密钥通过 `APP_ENCRYPTION_KEY` 环境变量注入。 4. **API 调用代理**:所有阿里云 VOD API 调用均通过后端代理,前端不接触密钥。 5. **权限模型**:简单双角色(admin / readonly),admin 可修改账号与执行删除/更新,readonly 仅可查看与下载。 ## 已知问题 / 待优化 1. 下载地址获取是同步串行循环,后续应改为异步队列并增加进度条。 2. 前端构建产物单文件较大(>1MB),可考虑按路由懒加载。 3. 尚未接入真实阿里云 VOD 环境进行端到端验证,字段映射可能需要根据实际 API 响应微调。 4. 单元测试覆盖较少,目前仅覆盖 crypto 工具函数。 5. 分类树目前只读取一层子分类,未做递归展开。 ## 后续规划 ### v0.2.0 - [ ] 真实 VOD 环境联调与字段校准 - [ ] 批量任务异步队列与进度展示 - [ ] 标签管理 - [ ] 更完善的错误提示 ### v0.3.0 - [ ] 支持 STS 临时凭证 - [ ] 下载任务导出 CSV - [ ] 前端路由懒加载优化 ### v1.0.0 - [ ] 中英文国际化 - [ ] 完善测试覆盖 - [ ] 发布正式 Release ## 部署注意 - 生产环境必须设置 `JWT_SECRET` 和 `APP_ENCRYPTION_KEY`。 - 默认管理员账号 `admin/admin` 仅用于首次登录,务必修改。 - SQLite 数据库文件位于 `apps/server/data/vod-manager.db`,Docker 部署时通过 volume 持久化。