diff --git a/.DS_Store b/.DS_Store index 6207170..16c415c 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/docs/implementation-plan-meijiaka-zj.md b/docs/implementation-plan-meijiaka-zj.md new file mode 100644 index 0000000..c12e474 --- /dev/null +++ b/docs/implementation-plan-meijiaka-zj.md @@ -0,0 +1,65 @@ +# "美家卡智剪"项目终版详细执行方案 (v4) + +**总体目标:** 在 `/Users/0fun/work/meijiaka-zj` 目录下,以 `/Users/0fun/work/ai-meijiaka` 为模板,创建一个全新的、遵循“本地为王,云端为辅”架构的“美家卡智剪”应用。 + +--- + +### **阶段零:项目初始化与代码剥离** + +**阶段架构原则:** 这是奠基阶段。我们的目标是创建一个干净、独立、且符合“智剪”项目定位的代码骨架。我们将物理上复制源码,并从逻辑上剥离所有与“智影”云端架构相关的、不再需要的部分。 + +#### **任务 0.1: 创建新项目目录并复制源码** + +* **目标:** 搭建新项目的物理文件结构。 +* **架构角色与数据流:** 这是文件系统层面的操作,为后续所有开发工作提供一个隔离的工作区。 +* **具体步骤:** + 1. **创建目录:** 执行 `mkdir /Users/0fun/work/meijiaka-zj` 命令。 + 2. **复制源码:** 执行 `rsync` 命令,将 `ai-meijiaka` 的代码干净地复制到 `meijiaka-zj`。此命令会智能地排除无需复制的目录(如 `.git`, `node_modules`, `__pycache__` 等),确保新项目有一个纯净的起点。 + ```bash + rsync -av --exclude='.git' --exclude='node_modules' --exclude='.venv' --exclude='__pycache__' --exclude='target' --exclude='*.lock' /Users/0fun/work/ai-meijiaka/ /Users/0fun/work/meijiaka-zj/ + ``` + 3. **初始化版本控制:** 在新目录 `/Users/0fun/work/meijiaka-zj` 中执行 `git init` 和 `git add . && git commit -m "init: fork from meijiaka-zy"`,为新项目建立独立的版本历史。 + +#### **任务 0.2: 项目品牌化与架构清理** + +* **目标:** 修改新项目中的配置,使其从“智影”变为“智剪”,并移除无用的代码。 +* **架构角色与数据流:** 这是对代码库的“净化”操作,确保新架构的纯粹性。 +* **具体步骤:** + 1. **品牌化修改:** + * **Tauri 配置:** 修改 `/Users/0fun/work/meijiaka-zj/tauri-app/src-tauri/tauri.conf.json`,将 `productName` 和 `title` 从“智影”改为“智剪”,并更新 `identifier`。 + * **后端文档:** 修改 `/Users/0fun/work/meijiaka-zj/python-api/app/main.py` 中的 FastAPI 应用标题和描述。 + * **文档文件:** 更新根目录和各子目录下的 `README.md` 文件,反映“智剪”项目的新特性。 + 2. **架构清理 (关键步骤):** + * **移除云端模型:** 在 `/Users/0fun/work/meijiaka-zj/python-api/app/models/` 目录下,删除与云端项目管理相关的 SQLAlchemy 模型,例如 `project.py`, `script.py` 等(但保留 `user.py` 用于可能的设备认证)。 + * **移除云端API:** 在 `/Users/0fun/work/meijiaka-zj/python-api/app/api/v1/` 目录下,删除对应的API路由文件。 + * **移除数据库迁移:** 清空或删除 `/Users/0fun/work/meijiaka-zj/python-api/alembic/versions/` 目录下的所有数据库迁移脚本,因为新项目没有数据库。 + * **移除前端相关状态:** 检查 `/Users/0fun/work/meijiaka-zj/tauri-app/src/store/`,移除或重构那些强依赖云端数据的 Store 逻辑。 + +--- + +### **后续阶段 (在 `/Users/0fun/work/meijiaka-zj` 中执行)** + +在完成阶段零的初始化后,后续所有阶段的开发工作都将在新的 `/Users/0fun/work/meijiaka-zj` 目录中进行。 + +#### **第一阶段:后端改造 — 构建无状态AI代理网关** + +* **任务 1.1:** 在 `meijiaka-zj/python-api/app/services/` 中创建 `voice_clone_service.py`。 +* **任务 1.2:** 在 `meijiaka-zj/python-api/app/services/` 中创建 `tts_service.py`。 +* **任务 1.3:** 在 `meijiaka-zj/python-api/app/api/v1/` 中创建 `voice.py`。 +* **任务 1.4:** 在 `meijiaka-zj/python-api/app/scheduler/handlers/` 中创建 `tts_handler.py`。 + +#### **第二阶段:系统能力扩展 — 强化Rust本地核心** + +* **任务 2.1:** 在 `meijiaka-zj/tauri-app/src-tauri/src/` 中创建 `storage/voice.rs`。 +* **任务 2.2:** 在 `meijiaka-zj/tauri-app/src-tauri/src/` 中创建 `commands/voice.rs`。 +* **任务 2.3:** 修改 `meijiaka-zj/tauri-app/src-tauri/src/ffmpeg_cmd.rs`,实现音频替换。 + +#### **第三阶段:前端应用 — 构建本地化交互界面** + +* **任务 3.1:** 改造 `meijiaka-zj/tauri-app/src/store/projectStore.ts` 并创建 `voiceStore.ts`。 +* **任务 3.2:** 在 `meijiaka-zj/tauri-app/src/pages/VideoCreation/` 中创建 `VideoEditing.tsx`。 +* **任务 3.3:** 在 `meijiaka-zj/tauri-app/src/pages/VideoCreation/` 中创建 `VoiceDubbing.tsx`。 + +#### **第四阶段:端到端集成与验证** + +* **任务 4.1:** 在 `meijiaka-zj` 项目中,完整地运行和测试整个手动剪辑与AI配音的流程。