docs: 初始化项目文档(PRD、AGENTS、MEMORY、README)

This commit is contained in:
2026-06-29 17:46:36 +06:00
commit 0192c313f4
7 changed files with 711 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
# MEMORY.md
> 项目状态与关键决策记录,供跨会话参考。
## 当前状态
- **版本**v0.1.0MVP
- **阶段**:基础功能已完成,前后端均可构建并运行
- **最后更新**2026-06-29
## 已完成的里程碑
### MVPv0.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 持久化。