From 78f4b017a202a8edc94217bf65b7cf0d3f4f9b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E5=B0=8F=E8=88=9F?= Date: Sun, 31 May 2026 12:49:09 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20update=20HANDOFF=20=E2=80=94=20pipeline?= =?UTF-8?q?=20+=20in-app=20Whisper=20now=20done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the full clip pipeline and the Whisper-for-no-subtitle items out of "gaps" (both verified end-to-end in the packaged app) and refresh the roadmap and key-files list. Co-Authored-By: Claude Opus 4.8 --- HANDOFF.md | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index e3b1a3c5..3c6852c2 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -54,36 +54,34 @@ AutoClip 是一款 AI 视频切片工具:输入 B站/YouTube 链接或本地 ## 三、遗漏 / 未验证(按优先级) -### 高 -- **完整切片流程未端到端跑通验证**:后端各接口、ffmpeg、前端渲染都单独验证过,但"粘链接 → - 下载 → AI 切片 → 出片"这条全链路还没在打包后的 app 里实跑一次。**这是首要待办。** -- **Gemini 迁移未对真实 API 验证**:代码与 SDK 接口已对齐并能 import,但没有 API key 实际调用过。 +> 已闭环(不再是遗漏):**完整切片流程**已在打包后的 app 里端到端跑通(粘 B站 链接 → 下载 → +> 字幕 → DashScope 分析 → 评分 → 标题 → 切割 → 出 5 个切片,79s 完成);**无字幕视频**现在可 +> 在「设置 → 语音转写」按需安装 faster-whisper 自动转写(实测安装 214MB、转写出 SRT)。 ### 中 - **签名/公证**:目前 ad-hoc 签名,未做 Apple Developer ID 签名 + 公证,用户首次必须右键打开。 - **仅 arm64**:没有 Intel mac / Windows / Linux 包。 -- **依赖未锁版本**:`requirements.txt` 约 23 个包没固定版本,跨时间/跨机器构建有漂移风险。 +- **依赖未锁版本**:`requirements.txt` 多数包没固定版本,跨时间/跨机器构建有漂移风险。 - **构建慢**:每次构建都重装全部 pip 依赖(PBS python 被 `rm -rf` 重建)。可缓存已装好的运行时。 +- **Gemini 迁移未对真实 API 验证**:代码与新版 google-genai SDK 接口已对齐并能 import,但没有 + Gemini key 实际调用过(DashScope 路径已实跑验证)。 ### 低 -- **前端单 bundle 1.5MB**:去掉分包后是一个大 chunk,桌面端无所谓,若以后也跑 Web 可考虑按路由懒加载。 -- **`backend/utils/subtitle_processor.py:16`** 的 `word_separators` 字符串引号/转义写法可疑 - (`\s` 触发 SyntaxWarning,且内部混用单引号),能跑但应改成规范的原始字符串。 -- **`install_llm_dependencies.py` 已冗余**:LLM 依赖现已进 `requirements.txt`,这个独立安装脚本可删。 +- **前端单 bundle ~1.5MB**:去掉分包后是一个大 chunk,桌面端无所谓,若以后也跑 Web 可考虑按路由懒加载。 +- **单步重试 `submit_single_step_task`** 仍走 Redis send_task(桌面没改),目前没有入口用到; + 整条流水线的 `.delay()` 已由 DesktopAwareTask 接管本地执行。 --- ## 四、未来计划(路线图) -1. **端到端 QA**:打包后的 app 实跑一次完整切片,确认 yt-dlp 下载、ffmpeg 切片、LLM 调用、 - 合集生成全部 OK。 -2. **正式签名与公证**:申请 Apple Developer ID,签名 + notarize,消除"右键打开"。 -3. **多平台打包**:把 `build_macos_arm.sh` 的 runner / PBS URL / ffmpeg URL / tauri target 参数化, - 扩到 Intel mac、Windows、Linux(PBS 与静态 ffmpeg 都有对应平台版本)。 -4. **依赖锁定**:固定 `requirements.txt` 版本(或引入 lock 文件),保证可复现构建。 -5. **构建提速**:缓存 PBS python + 已装依赖,避免每次重装。 -6. **自动 UI 冒烟**:在 CI 里加一步,验证打包后的前端能挂载(而不仅是后端接口通)。 -7. 产品向:B站上传、字幕编辑、批量处理、云端同步(见 RELEASE_CHECKLIST.md 后续计划)。 +1. **正式签名与公证**:申请 Apple Developer ID,签名 + notarize,消除"右键打开"。 +2. **多平台打包**:把 `build_macos_arm.sh` 的 runner / PBS URL / ffmpeg URL / tauri target 参数化, + 扩到 Intel mac、Windows、Linux(PBS 与静态 ffmpeg 都有对应平台版本;faster-whisper 本就跨平台)。 +3. **依赖锁定**:固定 `requirements.txt` 版本(或引入 lock 文件),保证可复现构建。 +4. **构建提速**:缓存 PBS python + 已装依赖,避免每次重装。 +5. **自动 UI 冒烟**:在 CI 里加一步,验证打包后的前端能挂载(而不仅是后端接口通)。 +6. 产品向:B站上传、字幕编辑、批量处理、云端同步(见 RELEASE_CHECKLIST.md 后续计划)。 --- @@ -94,6 +92,9 @@ AutoClip 是一款 AI 视频切片工具:输入 B站/YouTube 链接或本地 - 桌面后端入口:`backend/desktop_main.py` - ffmpeg 路径解析:`backend/utils/ffmpeg_utils.py` - LLM 提供商:`backend/core/llm_providers.py` +- 桌面流水线本地执行:`backend/core/celery_app.py`(DesktopAwareTask)、`backend/utils/task_submission_utils.py` +- Whisper 运行时(按需安装):`backend/services/whisper_runtime.py`、`whisper_model_manager.py`、 + 前端 `frontend/src/components/SpeechRecognitionConfig.tsx` - 前端 API 配置:`frontend/src/utils/apiConfig.ts` - CI:`.github/workflows/desktop-build.yml`