Files
MoneyPrinterTurbo/docs/PR_MERGE_RECORD_2026-04-02.md
2026-06-12 14:59:20 +08:00

121 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-04-02 PR 合并与验证记录
## 本次已合并并推送的 PR
- `#837` `fix: update google-generativeai version for response_modalities support`
- `#835` `fix: add missing pydub dependency to requirements.txt`
- `#850` `feat: support reading subtitle position from config file`
- `#838` `feat: add MiniMax as LLM provider`
- `#811` `refactor: optimize codebase for better performance and reliability`
- `#848` `feat: support GPU acceleration for faster-whisper in Docker`
- `#843` `feat: Add Upload-Post integration for cross-posting to TikTok/Instagram`
## 合并后的主线提交
- TTS 与字幕修复基线提交:`953a6c0` `fix: restore edge tts synthesis and readable subtitles`
- 当前主线提交:`1f8a746`
## 合并时的验证结论
### 已通过
- `#837`
- 依赖升级后可正常导入
- `google-generativeai==0.8.6` 已生效
- `#835`
- `pydub==0.25.1` 已生效
- `#850`
- `subtitle_position``custom_position` 可从配置文件读取
- `#838`
- MiniMax provider 接线正常
- 使用 mock 调用验证 `_generate_response` 通过
- `#811`
- 主线导入正常
- 抽样单测通过
- `#848`
- `docker compose -f docker-compose.yml -f docker-compose.gpu.yml config` 可正常解析
- `#843`
- Upload-Post 服务导入和 mock 上传调用通过
- 与前面 PR 叠加时仅在 `config.example.toml` 存在配置段落冲突,已手工保留两边内容
### 已拒绝并关闭
- `#852`
- 能恢复音频,但会破坏字幕链路,并删除仍被 WebUI 调用的 Gemini 逻辑
- `#787`
- 不能解决当前 `403` 场景
- `#841`
- 与当前主线 TTS/字幕修复冲突,且收益已被更小 PR 覆盖
- `#824`
- ModelsLab 路径能出音频,但字幕链路失败,无法产出可用 SRT
- `#840`
- 后端加入 `video_source="ai"`,但 WebUI 仍不支持该值,端到端不可用
- `#826`
- 与当前主线 `voice.py` 和依赖变更冲突,未通过合并验证
- `#751`
- `#749`
- `#742`
- `#705`
- 以上 4 个 PR 在当前主线下均为 `DIRTY`,未通过合并验证
## 冒烟测试记录
### 服务重启
- API`http://127.0.0.1:8080/docs`
- WebUI`http://127.0.0.1:8501`
### 第一次完整视频任务
- 任务号:`ced0b190-dd72-489c-b978-2761740933db`
- 结果:失败
- 结论:
- API 默认 `video_transition_mode=null`
- 视频拼接阶段在 `app/services/video.py` 中直接访问 `video_transition_mode.value`
- 导致任务线程异常退出,任务状态停留在 `state=4, progress=75`
### 第二次完整视频任务
- 任务号:`8b2a0e6e-b3e6-44ab-a1b4-1865a0b4788d`
- 提交方式:
- `POST /api/v1/videos`
- 使用本地素材 `/Users/harry/Projects/Python/MoneyPrinterTurbo/test/resources/1.png`
- 显式指定 `video_transition_mode="FadeIn"`
- 结果:成功
- 任务状态:`state=1, progress=100`
### 第二次任务产物
- 音频:`/Users/harry/Projects/Python/MoneyPrinterTurbo/storage/tasks/8b2a0e6e-b3e6-44ab-a1b4-1865a0b4788d/audio.mp3`
- 时长:`8.952s`
- 大小:`53712 bytes`
- 拼接视频:`/Users/harry/Projects/Python/MoneyPrinterTurbo/storage/tasks/8b2a0e6e-b3e6-44ab-a1b4-1865a0b4788d/combined-1.mp4`
- 时长:`9.000s`
- 大小:`177666 bytes`
- 成片:`/Users/harry/Projects/Python/MoneyPrinterTurbo/storage/tasks/8b2a0e6e-b3e6-44ab-a1b4-1865a0b4788d/final-1.mp4`
- 时长:`9.000s`
- 大小:`352810 bytes`
- 字幕:`/Users/harry/Projects/Python/MoneyPrinterTurbo/storage/tasks/8b2a0e6e-b3e6-44ab-a1b4-1865a0b4788d/subtitle.srt`
### 第二次任务字幕样本
```srt
1
00:00:00,100 --> 00:00:03,300
这是一次主线合并后的完整冒烟测试
2
00:00:03,875 --> 00:00:05,350
我们要确认语音
3
00:00:05,575 --> 00:00:08,375
字幕和视频成片都能正常生成
```
## 当前仍需关注的风险
- `#843` 仅做了 mock 验证,尚未使用真实 Upload-Post 密钥联调
- `#848` 仅验证了 Docker GPU 配置解析,尚未在真实 GPU 环境运行
- 当前 API 默认 `video_transition_mode=null` 时,完整视频任务仍存在回归风险