diff --git a/DESKTOP_DEVELOPMENT_PLAN.md b/DESKTOP_DEVELOPMENT_PLAN.md new file mode 100644 index 00000000..daa43d2c --- /dev/null +++ b/DESKTOP_DEVELOPMENT_PLAN.md @@ -0,0 +1,203 @@ +# AutoClip Desktop 客户端开发计划 + +## 📋 项目概述 + +**目标**: 开发一个跨平台的桌面客户端,实现一键安装-启动-使用的用户体验 + +**技术方案**: +- 后端: Celery SQLite Transport (Desktop模式) +- 前端: Tauri 壳 + 内嵌 WebView +- 平台: Windows + macOS + +## 🎯 开发阶段 + +### 阶段1: 基础改造 (2周) +**目标**: 建立Desktop模式的基础架构 + +#### 后端任务 +- [ ] 创建 Desktop Profile 配置 + - [ ] `.env.desktop` 配置文件 + - [ ] `settings.desktop.json` 默认设置 + - [ ] Pydantic 配置验证 + +- [ ] Celery SQLite Transport 配置 + - [ ] 切换到 SQLite Broker + - [ ] 配置 SQLite Backend + - [ ] 设置默认并发度为1-2 + +- [ ] 健康检查端点 + - [ ] `/health` 端点实现 + - [ ] 服务状态监控 + - [ ] 优雅关闭机制 + +#### 前端任务 +- [ ] 首次运行向导页面 + - [ ] 硬件检测界面 + - [ ] 模型下载选项 + - [ ] 示例项目创建 + +- [ ] 任务中心 v1 + - [ ] 任务进度显示 + - [ ] 错误提示界面 + - [ ] 重试/取消操作 + +#### 打包任务 +- [ ] PyInstaller 后端打包 + - [ ] 包含 ffmpeg 依赖 + - [ ] 包含必要 Python 包 + - [ ] 优化启动时间 + +- [ ] Tauri 基础框架 + - [ ] 项目初始化 + - [ ] 静态资源打包 + - [ ] 最小窗口 demo + +### 阶段2: 壳与托盘 (2周) +**目标**: 完成桌面应用的核心功能 + +#### Tauri 任务 +- [ ] 内嵌 WebView 展示 + - [ ] 前端 UI 集成 + - [ ] 跨平台兼容性 + - [ ] 窗口管理 + +- [ ] 托盘菜单功能 + - [ ] 启动/停止服务 + - [ ] 打开 UI 界面 + - [ ] 查看日志 + - [ ] 导出诊断包 + +#### 后端任务 +- [ ] 日志导出功能 + - [ ] 日志文件收集 + - [ ] 诊断包生成 + - [ ] 错误信息汇总 + +#### 打包任务 +- [ ] macOS 打包 + - [ ] DMG 安装包 + - [ ] 代码签名 + - [ ] 公证流程 + +- [ ] Windows 打包 + - [ ] EXE/MSIX 安装包 + - [ ] 代码签名 + - [ ] 安装向导 + +#### 测试任务 +- [ ] 跨平台冒烟测试 + - [ ] macOS 测试 + - [ ] Windows 测试 + - [ ] 示例项目成功率 >95% + +### 阶段3: 体验优化 (1-2周) +**目标**: 提升用户体验和稳定性 + +#### 前端任务 +- [ ] 错误中心 v1 + - [ ] 友好错误文案 + - [ ] 日志查看按钮 + - [ ] 错误恢复建议 + +- [ ] 设置页面重构 + - [ ] 分组配置显示 + - [ ] 默认折叠高级项 + - [ ] 配置验证提示 + +#### 后端任务 +- [ ] 示例项目优化 + - [ ] 一键执行流程 + - [ ] 保证成功率 + - [ ] 错误处理完善 + +#### 文档任务 +- [ ] 极简上手指南 + - [ ] 1页图文说明 + - [ ] 视频演示 + - [ ] 常见问题解答 + +## 📊 成功指标 + +### 技术指标 +- 安装成功率: >95% +- 首次成功率: >90% +- 运行稳定性: 崩溃率 <1% +- 任务成功率: >98% + +### 用户体验指标 +- 用户可自愈率: >80% +- 支持成本下降: >50% +- 用户满意度: >4.5/5 + +## ⚠️ 风险控制 + +### 技术风险 +- SQLite 并发限制: 默认并发度设为1 +- Tauri 版本兼容: 锁定版本避免自动更新 +- 跨平台路径: 统一使用 Path 库处理 + +### 用户体验风险 +- 首次启动慢: 添加启动动画和进度提示 +- 端口冲突: 实现端口自动检测和回退 +- 权限问题: 提供权限申请引导 + +## 🚀 开发环境准备 + +### 必需工具 +- [ ] Python 3.11+ +- [ ] Node.js 18+ +- [ ] Rust 1.70+ +- [ ] Tauri CLI +- [ ] PyInstaller +- [ ] 代码签名证书 + +### 开发环境 +- [ ] macOS 开发环境 +- [ ] Windows 开发环境 +- [ ] 测试虚拟机 + +## 📝 版本管理 + +### 分支策略 +``` +main (生产稳定版) +├── develop (开发集成分支) +├── feature/desktop-client (当前分支) +├── feature/smart-cover-generation-backup (智能封面备份) +└── hotfix/* (紧急修复) +``` + +### 版本标签 +- v1.0.0-dev-1: 阶段1完成 +- v1.0.0-dev-2: 阶段2完成 +- v1.0.0-beta: 阶段3完成 +- v1.0.0: 正式发布 + +## 📅 时间计划 + +| 阶段 | 时间 | 主要任务 | 交付物 | +|------|------|----------|--------| +| 阶段1 | 2周 | 基础改造 | Desktop配置 + Tauri框架 | +| 阶段2 | 2周 | 壳与托盘 | 完整桌面应用 | +| 阶段3 | 1-2周 | 体验优化 | 正式发布版本 | + +**总预计时间**: 5-6周 + +## 🔄 下一步行动 + +### 立即开始 +1. 创建 Desktop 配置文件 +2. 配置 Celery SQLite Transport +3. 初始化 Tauri 项目 +4. 搭建基础开发环境 + +### 本周目标 +- 完成阶段1的基础架构 +- 实现基本的打包流程 +- 建立开发测试环境 + +--- + +**创建时间**: 2024年12月 +**当前状态**: 开发中 +**负责人**: 开发团队