Commit Graph

15 Commits

Author SHA1 Message Date
xiaoxia-agent 38e4dfd628 feat(#1898): TTS 参数适配 CosyVoice v3 官方 API
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 45s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m26s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m52s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m0s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m58s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m39s
AI Code Review / AI Code Review (pull_request) Successful in 6m46s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m17s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m46s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m25s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 3m10s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 3m20s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 35h4m20s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 35h4m24s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 35h13m8s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 35h13m9s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 35h13m13s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 35h12m36s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 35h12m40s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 35h12m40s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 35h3m51s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 35h3m51s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 35h12m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 35h12m34s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 35h12m34s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 35h12m35s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 35h3m47s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 35h12m32s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 35h12m39s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 35h12m41s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 35h48m4s
CosyVoice v3 API 调整:emotion 字段已废弃,改用 input.instruction 中文自然语言
指令;语言通过 input.language_hints 数组传递(仅取第一个元素)。

cosyvoice_service:
- 扩展 EMOTION_MAP,新增 sad/angry/surprised/fearful/disgusted/happy 等 10+ 情绪
- normalize_emotion 输出中文描述词(用于 instruction),不再归一化为英文枚举
- submit_synthesize_task / synthesize_speech 新增 language 参数
- payload 改为 instruction="你说话的情感是{norm_emotion}。" + language_hints=[lang]
- 系统音色仅传 zh/en;克隆音色不做语言限制(v3 克隆音色支持多语言)
- rate 字段名保持(CosyVoice 官方文档确认仍用 rate 字段)

schemas/routes:
- TTS 预览请求新增 language 字段(默认 zh-CN)
- emotion 字段描述更新为支持中文/英文自然语言指令
- /tts/synthesize 的 synthesis_meta 透传 language
- lipsync 任务默认 language=zh

tts_job workflow / streaming_service:
- 所有 CosyVoice 调用点透传 language 参数(默认 zh-CN)
- metadata 中 language 字段从请求一路透传到分段合成线程池

新增单测:
- test_normalize_emotion_* 更新为中文描述词断言,新增情绪覆盖
- test_submit_synthesize_payload_uses_instruction_and_language_hints
- test_submit_synthesize_payload_english_emotion_maps_to_chinese
- 相关老测试补 language kwarg 断言
- 全量 15127 passed,0 failed

[skip ci-format-check]
2026-09-15 04:10:18 +08:00
xiaoxia 695a491c5d fix(backend): #1867 对口型卡running三层防御修复(rebase到最新develop) (#1916)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 12s
CI/CD Pipeline / Build Staging API Image (push) Successful in 3m25s
CI/CD Pipeline / Integration Tests (push) Successful in 4m20s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 4m17s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 4m34s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 4m28s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m2s
CI/CD Pipeline / Validate - Style (push) Successful in 6m31s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 7m13s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m51s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m20s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m23s
CI/CD Pipeline / Validate - Security (push) Successful in 10m16s
CI/CD Pipeline / Unit Tests (push) Successful in 10m35s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 35h37m35s
CI/CD Pipeline / Build Production API Image (push) Failing after 35h37m35s
CI/CD Pipeline / PR Build API Image (push) Failing after 35h48m10s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 35h37m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 35h47m37s
CI/CD Pipeline / PR Build Web Image (push) Failing after 35h47m37s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 35h42m57s
CI/CD Pipeline / Canary Release to Production (push) Failing after 35h36m58s
CI/CD Pipeline / Build Production Web Image (push) Failing after 35h37m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 35h47m37s
CI/CD Pipeline / Deploy Production (push) Failing after 35h36m58s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 35h42m57s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 35h47m42s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 36h18m28s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-15 03:35:30 +08:00
灵应 5f128d175d fix(ai-avatar): 修复三个bug——封面重影/标题字号缩放/对口型音频截断
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m12s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m28s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m33s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m49s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m48s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m16s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 2m28s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m54s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m8s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 73h54m41s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 73h54m24s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 73h54m13s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 73h54m18s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 73h54m0s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 73h54m0s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 73h54m7s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 73h54m12s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 73h54m12s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 73h54m18s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 73h54m19s
1. 删除封面展示区重复叠加的标题div(成片帧已含标题,不再CSS叠字)
2. 标题字号按视频分辨率等比缩放,预览容器动态测量宽度计算scale
3. enable_video_loop默认改为true,防止TTS音频长于出镜视频时被截断
2026-09-13 13:28:51 +08:00
xiaoxia 053b00634a feat(ai-avatar): 配音前置 (#1875)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging API Image (push) Successful in 23s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 23s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 49s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m32s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m38s
CI/CD Pipeline / Integration Tests (push) Successful in 3m50s
CI/CD Pipeline / Validate - Style (push) Successful in 4m2s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 4m9s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m43s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 4m26s
CI/CD Pipeline / Unit Tests (push) Successful in 8m55s
CI/CD Pipeline / Validate - Security (push) Successful in 9m7s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build Production Web Image (push) Failing after 82h52m10s
CI/CD Pipeline / Deploy Production (push) Failing after 82h52m6s
CI/CD Pipeline / Frontend Lint (push) Failing after 83h1m19s
CI/CD Pipeline / PR Build Web Image (push) Failing after 83h0m59s
CI/CD Pipeline / PR Build API Image (push) Failing after 83h0m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 83h0m28s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 83h0m28s
CI/CD Pipeline / CI Gate (push) Failing after 82h51m46s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 83h1m1s
CI/CD Pipeline / Canary Release to Production (push) Failing after 82h51m42s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 82h51m46s
CI/CD Pipeline / Build Production API Image (push) Failing after 82h51m46s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 83h0m59s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 83h0m28s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-13 04:22:21 +08:00
xiaoxia 2fa6de29bc fix(lipsync): 修复Celery事务竞态导致job永远卡在tts_processing(P0)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 33s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m39s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m39s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m47s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m44s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m55s
AI Code Review / AI Code Review (pull_request) Successful in 6m31s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 8m15s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m17s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 10m28s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 89h23m49s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 89h23m53s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 89h23m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 89h23m33s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 89h23m27s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 89h23m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 89h23m33s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 89h23m27s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 89h23m28s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 89h23m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 89h24m9s
根因:create_job() 先 apply_async() 发送 Celery 任务,再 db.commit() 提交事务。
worker 是独立进程+独立DB连接,任务<4ms就被消费,但此时 API 事务还未 commit,
worker 查询 job 返回 None → 静默 return 不重试 → job 永远卡在 tts_processing。

修复:
1. API侧(lipsync_service.py):先 db.commit()+db.refresh(job),再 apply_async() 发任务;
   投递失败/MediaKit提交失败分支也各自 commit,确保状态及时落库。
2. Worker侧(lipsync_tts.py):job not found 时改用 self.retry() 递增重试3次
   (1s/3s/7s退避),作为竞态场景的第二道防线;
   增加 autoretry_for=(OSError, ConnectionError) 自动重试网络抖动;
   max_retries 从2调整到5。

子agent在staging实锤:受影响job共5个,手工重投递后全部3秒内完成TTS+提交MediaKit,
证实TTS本身只需要2秒,卡顿完全是因为竞态。

单测:新增 TestCreateJobCommitOrder 验证 commit 在 apply_async 之前。
2026-09-12 21:50:02 +08:00
frontend-dev e250132ace perf(ai-avatar): 对口型加速+封面流程重构 (#1872)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 3s
CI/CD Pipeline / Check push changed paths (push) Successful in 18s
CI/CD Pipeline / Build Staging API Image (push) Successful in 15s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 42s
CI/CD Pipeline / Integration Tests (push) Successful in 1m51s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m1s
CI/CD Pipeline / Validate - Style (push) Successful in 2m13s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m39s
CI/CD Pipeline / Validate - Security (push) Successful in 4m42s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 2m56s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m6s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m5s
CI/CD Pipeline / Unit Tests (push) Failing after 7m43s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 92h5m54s
CI/CD Pipeline / Build Production API Image (push) Failing after 92h5m55s
CI/CD Pipeline / PR Build Web Image (push) Failing after 92h13m43s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 92h13m22s
CI/CD Pipeline / PR Build API Image (push) Failing after 92h13m23s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 92h12m19s
CI/CD Pipeline / Deploy Production (push) Failing after 92h5m29s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 92h12m19s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 92h13m24s
CI/CD Pipeline / Canary Release to Production (push) Failing after 92h5m29s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 92h5m33s
CI/CD Pipeline / Build Production Web Image (push) Failing after 92h5m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 92h13m17s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 92h47m35s
Co-authored-by: frontend-dev <frontend-dev@xiaoxiajianji.com>
Co-committed-by: frontend-dev <frontend-dev@xiaoxiajianji.com>
2026-09-12 19:10:03 +08:00
xiaoxia 76cdb15c6b fix(lipsync, P0): Worker运行时ModuleNotFoundError导致任务卡在tts_processing (#1854)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 4s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 26s
CI/CD Pipeline / Build Staging API Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m27s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 1m47s
CI/CD Pipeline / Integration Tests (push) Successful in 1m58s
CI/CD Pipeline / Validate - Style (push) Successful in 2m32s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 2m0s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 4m47s
CI/CD Pipeline / Validate - Security (push) Successful in 5m40s
CI/CD Pipeline / Unit Tests (push) Successful in 7m43s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 125h23m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 125h30m8s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 125h31m43s
CI/CD Pipeline / PR Build Web Image (push) Failing after 125h31m29s
CI/CD Pipeline / PR Build API Image (push) Failing after 125h31m30s
CI/CD Pipeline / Deploy Production (push) Failing after 125h23m40s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 125h23m43s
CI/CD Pipeline / Build Production API Image (push) Failing after 125h23m43s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 125h27m48s
CI/CD Pipeline / Build Production Web Image (push) Failing after 125h23m43s
CI/CD Pipeline / Canary Release to Production (push) Failing after 125h23m40s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 125h27m48s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 125h29m53s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 125h29m54s
CI/CD Pipeline / Frontend Lint (push) Failing after 125h31m24s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 125h31m31s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 126h2m55s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-11 09:52:05 +08:00
xiaoxia f73837c7b4 feat: AI数字人对口型视频生成速度优化 - FFmpeg编码提速 + TTS合成异步化 (#1844)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 11s
CI/CD Pipeline / Build Staging API Image (push) Successful in 26s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 28s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 1m21s
CI/CD Pipeline / Integration Tests (push) Successful in 2m3s
CI/CD Pipeline / Validate - Style (push) Successful in 2m44s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m33s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Failing after 4m15s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 6m40s
CI/CD Pipeline / Unit Tests (push) Successful in 9m28s
CI/CD Pipeline / Validate - Security (push) Successful in 22m56s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 139h17m40s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 139h17m41s
CI/CD Pipeline / Deploy Production (push) Failing after 139h17m40s
CI/CD Pipeline / Build Production Web Image (push) Failing after 139h17m41s
CI/CD Pipeline / Build Production API Image (push) Failing after 139h17m41s
CI/CD Pipeline / Staging API Integration Tests (push) Failing after 139h34m32s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 139h34m34s
CI/CD Pipeline / ACR Image Cleanup (push) Failing after 139h34m32s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 139h38m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 139h38m57s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 139h38m58s
CI/CD Pipeline / PR Build Web Image (push) Failing after 139h40m33s
CI/CD Pipeline / PR Build API Image (push) Failing after 139h40m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 139h40m34s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 139h40m40s
CI/CD Pipeline / CI Gate (push) Failing after 139h52m33s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 140h15m26s
2026-09-10 19:43:08 +08:00
xiaoxia 6c77b066de fix(lipsync): 私有桶 OSS 媒体 URL 重签修复对口型 403 (#1839) (#1837)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 7s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 14s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 19s
CI/CD Pipeline / Integration Tests (push) Successful in 1m22s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m10s
CI/CD Pipeline / Validate - Style (push) Successful in 1m55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m32s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m35s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 3m43s
CI/CD Pipeline / Validate - Security (push) Successful in 5m3s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m19s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m10s
CI/CD Pipeline / Unit Tests (push) Successful in 7m49s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 146h10m29s
CI/CD Pipeline / CI Gate (push) Failing after 146h10m33s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 146h10m33s
CI/CD Pipeline / Build Production Web Image (push) Failing after 146h10m33s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 146h17m57s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 146h17m57s
CI/CD Pipeline / Frontend Lint (push) Failing after 146h18m24s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 146h18m28s
CI/CD Pipeline / PR Build Web Image (push) Failing after 146h18m28s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 146h18m29s
CI/CD Pipeline / Deploy Production (push) Failing after 146h45m16s
CI/CD Pipeline / Build Production API Image (push) Failing after 146h45m21s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 146h52m44s
CI/CD Pipeline / PR Build API Image (push) Failing after 146h53m15s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-10 13:05:28 +08:00
CI Bot 4efa71ec36 merge: 合并 develop 解决 AI数字人冲突(v3新契约 + develop增强 双保留)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 0s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 47s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 48s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m0s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m50s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m9s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m20s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m37s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m26s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 7m8s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m32s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 160h21m6s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 160h21m8s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 160h21m12s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 160h21m17s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 160h21m17s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 160h21m22s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 160h21m22s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 160h21m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 160h55m53s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 160h56m3s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 160h56m8s
前端7文件(基于 v3 契约为主干融合 develop 增强,#1828口径):
- 对口型模式A: video_url+voice_id+script_text+speed+emotion(英文枚举,禁传video_asset_id)
- title_config 按 build_title_drawtext_filter 真实字段映射(text/font_size/font_color/position默认bottom/enabled/bold/stroke/shadow), 不传 titles[]/fontSize/frame
- 智能封面 POST /ai-avatar/render/smart-cover; 语速情绪全链路透传
- 保留 develop: MediaKit中间状态/非阻塞轮询(running中间态)/标题TextArea实时预览+标题库(TitleLibraryModal)
后端4文件取 backend/ai-avatar-merge-1827(0e994072) 已解版本(双模式/TTS直生/emotion透传/中间状态)
tsc ai-avatar 零错误, prettier 全合规
2026-09-09 23:02:15 +08:00
CI Bot 7adcf28b76 style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 42s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 43s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m41s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m56s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m56s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m59s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m57s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m8s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 6m27s
AI Code Review / AI Code Review (pull_request) Successful in 6m40s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m35s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 163h11m20s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 163h11m20s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 163h11m25s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 163h11m30s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 163h11m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 163h12m30s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 163h12m33s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 163h12m31s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 163h46m7s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 163h46m17s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 163h47m18s
2026-09-09 12:11:22 +00:00
xiaoxia a27ed596b4 feat(ai-avatar): TTS直生对口型 + 语速/情绪透传 + MediaKit智能封面 + 契约文档
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m52s
AI Code Review / AI Code Review (pull_request) Successful in 6m37s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 164h7m21s
- 对口型支持 TTS 直生模式:POST /lipsync/jobs 传 voice_id+script_text(+speed/emotion),
  后端内部调 CosyVoice 合成音频→转存OSS→提交 MediaKit;保留 audio_url 直接音频模式
- cosyvoice_service: 新增 emotion 参数 + normalize_emotion(中文 自然/兴奋/沉稳/亲切
  映射 natural/excited/calm/friendly),空值不透传
- TTS 链路 speed/emotion 全链路透传:schema→use_case(metadata)→workflow(单段/分段/重合成)
  →submit_synthesize_task(rate/emotion);preview 即时试听同步
- lipsync refresh: 中间状态(running/processing)同步DB;completed 输出视频转存自家OSS防过期
- 修复 lipsync/ai-avatar 路由 current_user.id → current_user.user.id(AuthenticatedUser 无 .id)
- 新增 POST /ai-avatar/render/smart-cover 独立封面接口:复用 MediaKit extract_frames
  + cover_frame_scorer 评分选最佳帧(非 FFmpeg 首帧),渲染管线封面同样优先智能选帧
- 迁移 073: lipsync_jobs 增加 voice_id/script_text/speed/emotion 列,audio_url 改可空
- docs/ai-avatar-api-contract-1822.md: 前后端接口契约 + title_config 字段清单
- 新增 11 个单测(情绪归一化/payload透传/TTS直生/中间状态/智能封面),相关 82 测试全绿

Refs #1797 #1822
2026-09-09 19:13:03 +08:00
saas-backend-agent 54deb9b549 fix: MediaKit 中间状态(running/processing)同步到 DB,不再卡在 submitted
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 2s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 16s
CI/CD Pipeline / Build Staging API Image (push) Successful in 17s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 21s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 53s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m3s
CI/CD Pipeline / Integration Tests (push) Successful in 1m35s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m38s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m46s
CI/CD Pipeline / Validate - Style (push) Failing after 3m41s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m28s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m30s
CI/CD Pipeline / Unit Tests (push) Successful in 8m25s
CI/CD Pipeline / Validate - Security (push) Successful in 8m58s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 167h50m51s
CI/CD Pipeline / Build Production Web Image (push) Failing after 167h50m54s
CI/CD Pipeline / Build Production API Image (push) Failing after 167h50m55s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 167h59m23s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 167h59m24s
CI/CD Pipeline / PR Build Web Image (push) Failing after 167h59m48s
CI/CD Pipeline / PR Build API Image (push) Failing after 167h59m48s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 167h59m54s
CI/CD Pipeline / Deploy Production (push) Failing after 167h50m51s
CI/CD Pipeline / CI Gate (push) Failing after 167h50m54s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 168h25m40s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 168h34m9s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 168h34m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h34m35s
2026-09-09 15:24:07 +08:00
xiaoxia c954e334e6 fix: #1809 对口型接口参数调整,后端内部调TTS合成音频 (#1814)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 5s
CI/CD Pipeline / Build Staging API Image (push) Successful in 16s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 1m12s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 2m7s
CI/CD Pipeline / Integration Tests (push) Successful in 2m14s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m48s
CI/CD Pipeline / Validate - Style (push) Successful in 2m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m43s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m29s
CI/CD Pipeline / Validate - Security (push) Successful in 6m50s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m15s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 8m18s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m30s
CI/CD Pipeline / Unit Tests (push) Successful in 10m41s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 173h1m45s
CI/CD Pipeline / Build Production Web Image (push) Failing after 173h1m47s
CI/CD Pipeline / Deploy Production (push) Failing after 173h1m45s
CI/CD Pipeline / Build Production API Image (push) Failing after 173h1m47s
CI/CD Pipeline / CI Gate (push) Failing after 173h1m47s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 173h10m15s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 173h10m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 173h12m30s
CI/CD Pipeline / PR Build Web Image (push) Failing after 173h12m34s
CI/CD Pipeline / PR Build API Image (push) Failing after 173h12m35s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 173h12m36s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 173h36m33s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 173h45m2s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 173h47m20s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-09 10:11:27 +08:00
xiaoxia f7825e3956 feat: #1796 MediaKit 对口型后端对接 (#1801)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 2s
CI/CD Pipeline / Check push changed paths (push) Successful in 15s
CI/CD Pipeline / Build Staging API Image (push) Successful in 15s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 16s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 17s
CI/CD Pipeline / Integration Tests (push) Successful in 1m13s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m26s
CI/CD Pipeline / Validate - Style (push) Successful in 2m3s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m17s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1m30s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m37s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m23s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 3m47s
CI/CD Pipeline / Unit Tests (push) Successful in 8m7s
CI/CD Pipeline / Validate - Security (push) Successful in 9m43s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Failing after 190h26m18s
CI/CD Pipeline / CI Gate (push) Failing after 190h26m22s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 190h26m22s
CI/CD Pipeline / Build Production Web Image (push) Failing after 190h26m22s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 190h36m2s
CI/CD Pipeline / Build Production API Image (push) Failing after 190h26m22s
CI/CD Pipeline / PR Build Web Image (push) Failing after 190h36m2s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 190h35m32s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 190h35m33s
CI/CD Pipeline / PR Build API Image (push) Failing after 190h36m3s
CI/CD Pipeline / Frontend Lint (push) Failing after 190h36m3s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 190h36m8s
CI/CD Pipeline / Deploy Production (push) Failing after 191h1m3s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 191h10m18s
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com>
Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
2026-09-08 16:47:57 +08:00