灵应
44dc89360a
feat: 配音列表 API 增强 — 预置音色 + 克隆音色统一接口
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 170h24m47s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h24m52s
Deploy / Deploy Staging (push) Failing after 170h27m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h28m8s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h28m14s
- 新增预置音色配置(8 个 CosyVoice 真实音色)
- 增强 GET /api/v1/voices 接口,支持 type 查询参数(preset/clone/all)
- 新增 GET /api/v1/voices/presets 端点
- 统一响应格式,包含 preset_count 和 clone_count
- 保留原有 CRUD 端点向后兼容
- 添加 18 个预置音色单元测试(全部通过)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 10:26:14 +08:00
xiaoxia
815dd6fe5e
Merge pull request 'fix: Phase 8 前端 P1 问题修复 — 严格对照后端 API Schema' ( #163 ) from feature/fix-p1-mock-data-v2 into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 170h35m12s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h35m50s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h35m55s
2026-07-02 10:18:38 +08:00
灵应
aa4b490578
fix: Phase 8 前端 P1 问题修复 — 严格对照后端 API Schema
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 170h50m55s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h51m0s
Deploy / Deploy Staging (push) Failing after 170h51m13s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h51m13s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h51m20s
- editPlans.ts: 按后端 Edit Plans Schema 重写所有 API 函数
- getEditPlans/getEditPlanDetail/createEditPlan/updateEditPlan/deleteEditPlan
- generateEditPlan/getGenerationStatus 对接真实接口
- getMediaAssets/getAssetLibraries 传 libraryId 参数
- AssetResponse 字段直接映射(thumbnail_url/duration/width/height 等)
- EditingPlanner.tsx: handleSave 传参匹配 CreateEditPlanRequest
- MediaPanel.tsx: 素材获取传 libraryId,移除未使用变量
- GeneratePage.tsx: 素材获取用真实 API,生成流程用轮询,移除未使用变量
- AssetSelector.tsx: 修复 TS 类型错误(onChange/buttonSize/未使用函数)
- MyVoices.tsx: 修复 PageHead 导入(default export)
- VoiceLibrary.tsx: 修复 PageHead 导入 + Modal 未使用 + Timeout 类型
TypeScript 零错误,严格匹配后端接口字段名。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 10:03:10 +08:00
xiaoxia
e7b25abb48
Merge pull request 'feat: CosyVoice 配置 + VoiceCloneProfile/TTSJob 领域模型 (task 3.01-3.03)' ( #161 ) from feature/cosyvoice-config-models into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 172h57m9s
CI/CD Pipeline / Frontend Lint (push) Failing after 172h57m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 172h57m43s
2026-07-02 07:56:48 +08:00
灵应
f7c8b441d6
feat(phase3): CosyVoice 配置 + VoiceCloneProfile/TTSJob 领域模型
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 173h2m54s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 173h2m59s
Deploy / Deploy Staging (push) Failing after 173h22m24s
CI/CD Pipeline / Frontend Lint (push) Failing after 173h22m54s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 173h23m2s
Task 3.01: CosyVoice 配置
- 在 SharedSettings 中添加 CosyVoice 配置字段
- 更新 .env.example 和 .env.production.example
Task 3.02: VoiceCloneProfile 领域模型
- 创建 VoiceCloneProfile 实体(音色克隆档案)
- 状态机: pending → processing → ready/failed → disabled
- 支持重试机制(retry_count/max_retries)
- 创建 VoiceCloneProfileRepository 端口接口
Task 3.03: TTSJob 领域模型
- 创建 TTSJob 实体(TTS 任务)
- 关联 VoiceCloneProfile(voice_clone_profile_id)
- 状态机: pending → processing → completed/failed → cancelled
- 支持重试机制
- 创建 TTSJobRepository 端口接口
单元测试:
- VoiceCloneProfile: 31 个测试用例
- TTSJob: 34 个测试用例
- 全部 65 个测试通过
遵循六边形架构: Domain → Port → Adapter
2026-07-02 07:31:26 +08:00
xiaoxia
cce5c252f2
Merge pull request 'feat(phase8): 任务 2.10 — JobService 异步任务管理' ( #160 ) from feature/phase8-task210-job-service into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 174h24m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 174h24m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 174h24m59s
2026-07-02 06:29:34 +08:00
CI Test
89a53b5211
fix: 修复 submit/retry/cancel 路由权限检查顺序(P1)
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 181h7m52s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 181h7m56s
Deploy / Deploy Staging (push) Failing after 181h8m31s
CI/CD Pipeline / Frontend Lint (push) Failing after 181h9m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 181h9m22s
将权限检查从状态变更之后移到之前,防止非授权用户触发状态变更:
- submit_job: 先获取 job 并验证权限,再执行 SubmitJobUseCase
- retry_job: 同上
- cancel_job: 同上
修复审计 P1 问题。
2026-07-01 23:45:07 +08:00
CI Test
43366f290c
feat: 实现任务2.10 JobService — 异步任务管理
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 181h43m15s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 181h43m19s
Deploy / Deploy Staging (push) Failing after 181h59m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 181h59m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 182h0m0s
- 新增 Job 领域模型(状态机、JobType/JobStatus 枚举)
- 新增 JobRepository 端口 + SQLAlchemy 实现
- 新增 10 个 Use Cases(CreateJob/Submit/Progress/Complete/Fail/Retry/Cancel/Get/List/Statistics)
- 新增 JobService 服务层,集成 VideoComposeService
- 新增 Pydantic schemas + RESTful API 路由
- 新增 Celery compose_video 任务(含进度追踪)
- 新增数据库迁移 018(jobs 表)
- 新增 44 个单元测试,全部通过
- 修复状态转换:允许 pending→success(快速完成场景)
2026-07-01 22:54:21 +08:00
xiaoxia
87865bc418
Merge pull request 'feat(phase8): 任务 2.09 — VideoComposeService FFmpeg 视频合成编排' ( #159 ) from feature/phase8-task209-video-compose into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 182h30m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 182h31m21s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 182h31m28s
2026-07-01 22:23:05 +08:00
xiaoxia
51f5a960f1
fix: 修复 PR #159 安全审计发现的 P0/P1 问题
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 183h20m22s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 183h20m26s
Deploy / Deploy Staging (push) Failing after 183h20m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 183h21m22s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 183h21m28s
- 添加 output_path 路径穿越校验 (P0)
- 添加 asset_id 输入路径格式校验 (P1)
- 添加 transition 参数白名单校验 (P1)
- 新增 37 个安全测试用例
2026-07-01 21:30:09 +08:00
灵应
17fc46c662
fix: 修复 _has_audio() 始终返回 True 的 P0 问题
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 183h54m54s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 183h54m58s
Deploy / Deploy Staging (push) Failing after 183h55m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 183h55m54s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 183h55m58s
- 仅当 clip_type 不是 title/subtitle 时才设置 audio_label
- title/subtitle 是纯文字/图片卡片,没有音频流
- 添加 7 个单元测试验证修复逻辑
- 所有 36 个测试通过
2026-07-01 20:58:31 +08:00
xiaoxia
e3706bd652
Merge conflict resolved: combine both services imports
2026-07-01 20:58:31 +08:00
xiaoxia
6c08459d12
Merge pull request 'feat(editing-planner): 生成进度展示 — 任务 2.17' ( #158 ) from feature/task-2.17-generation-progress into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 184h39m13s
CI/CD Pipeline / Frontend Lint (push) Failing after 184h39m38s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 184h39m43s
2026-07-01 20:14:47 +08:00
xiaoxia
04550b6eb3
Merge pull request 'feat(phase8): AutoClipService 智能选片服务 (任务 2.07)' ( #156 ) from feature/phase8-task207-autoclip-service into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 185h8m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h8m59s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h9m5s
2026-07-01 19:45:25 +08:00
灵应
18ea6cfadb
feat(phase8): AutoClipService 智能选片服务 (任务 2.07)
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 185h13m20s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 185h13m24s
Deploy / Deploy Staging (push) Failing after 185h13m50s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h14m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h14m23s
- 新增 AutoClipService:自动为剪辑计划片段分配最佳素材
- 评分算法:质量分(0.5) + 时长匹配(0.3) + 分类匹配(0.2)
- 支持按 file_type/quality_score/duration/classification/tags 筛选
- AssetRepository 新增 search_candidates() 方法(抽象+SQLAlchemy实现)
- 18 个单元测试全部通过
2026-07-01 19:40:02 +08:00
xiaoxia
235f235da7
Merge pull request 'feat(phase8): 任务 2.06 — EditTemplateService + EditPlanService 服务层' ( #155 ) from feature/phase8-task206-service-layer into develop
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 185h0m30s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 185h0m34s
Deploy / Deploy Staging (push) Failing after 185h21m46s
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h22m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h22m10s
2026-07-01 19:32:17 +08:00
灵应
b7bb572b46
feat(phase8): 任务 2.06 — EditTemplateService + EditPlanService 服务层
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 185h28m1s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 185h28m5s
Deploy / Deploy Staging (push) Failing after 185h28m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h28m58s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h29m4s
- 新增 EditTemplateService:模板 CRUD、名称去重、片段配置管理、重排序
- 新增 EditPlanService:计划 CRUD、状态机流转、片段管理、素材分配、生成流程
- 重构 edit_templates 路由:使用 EditTemplateService 封装业务逻辑
- 重构 edit_plans 路由:使用 EditPlanService 封装业务逻辑
- 新增 77 个单元测试(33 EditTemplateService + 44 EditPlanService)
- 使用 stub 仓储注入,不依赖数据库
2026-07-01 19:24:31 +08:00
xiaoxia
60edd59700
Merge pull request 'feat(task-2.15): 素材选择器优化 — 批量选择+拖拽排序+预览缩略图+质量分筛选' ( #154 ) from feature/task-2.15-asset-selector into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 185h34m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 185h34m59s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 185h35m4s
2026-07-01 19:19:30 +08:00
灵应
1a7f46805c
fix(asset-selector): 修复导入路径 — 从 editingPlanner 改为 editPlans
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 186h13m37s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 186h13m40s
Deploy / Deploy Staging (push) Failing after 186h14m5s
CI/CD Pipeline / Frontend Lint (push) Failing after 186h14m26s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 186h14m30s
修复代码审计发现的 P1 问题:
- MediaAsset / MATERIAL_TYPE_LABELS / MATERIAL_TYPE_ICONS / QUALITY_OPTIONS
实际定义在 @/api/editPlans.ts,而非 @/api/editingPlanner.ts
- 修正导入路径,消除 TS 编译错误
2026-07-01 18:40:04 +08:00
灵应
6ce40d76ea
feat(editing-planner): 实现生成进度展示 — 任务 2.17
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 186h43m22s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 186h43m25s
Deploy / Deploy Staging (push) Failing after 186h43m53s
CI/CD Pipeline / Frontend Lint (push) Failing after 186h44m20s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 186h44m24s
- 新增 GenerationProgressModal 组件:三阶段 UI(setup → progress → completed/failed)
- 集成 React Query 轮询:refetchInterval 2s 轮询任务状态,终态自动停止
- 进度展示:SVG 进度环 + 进度条 + 步骤文案 + 任务 ID
- 失败处理:错误信息展示 + 可重试时显示重试按钮
- 对接 createGenerationTask / getTask / retryTask API
- V21 设计系统,CSS 类名前缀 ep-gen-
2026-07-01 18:09:58 +08:00
灵应
1fd93c95ba
fix(asset-selector): 修复 PR #154 代码审查 4 项问题
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 187h18m49s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 187h18m52s
Deploy / Deploy Staging (push) Failing after 187h19m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 187h19m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 187h19m42s
P1-1: 质量分筛选 — parseInt 返回 NaN,改用 QUALITY_OPTIONS min/max 区间匹配
P1-2: AssetSelector→TimelinePanel 拖拽链断裂 — 恢复 application/x-media-asset(s) MIME 数据
P2-1: handleBatchAddAssets 忽略 insertIdx — 接受可选 insertIdx 参数,使用 splice 插入
P2-2: 拖拽语义区分 — 内部排序(text/plain)与外部素材投放(MIME types)互不干扰
同时修复 handleDragStart 依赖数组缺少 selectedIds 的问题
2026-07-01 17:34:34 +08:00
xiaoxia
98278efdf6
Merge pull request 'feat(task-3.13): VoiceCloneModal 四阶段克隆弹窗' ( #151 ) from feat/voice-clone-modal into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 187h43m39s
CI/CD Pipeline / Frontend Lint (push) Failing after 187h44m7s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 187h44m13s
2026-07-01 17:10:21 +08:00
灵应
7e954405f3
feat(task-2.15): 素材选择器优化 — 批量选择 + 拖拽排序 + 预览缩略图 + 质量分筛选
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 187h50m29s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 187h50m32s
Deploy / Deploy Staging (push) Failing after 188h16m12s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h16m34s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h16m38s
- 新增 AssetSelector 可复用组件(批量选择/拖拽排序/悬浮预览/质量分筛选/视图切换)
- MediaPanel 集成 AssetSelector,素材 Tab 使用 useQuery 内部获取数据
- TimelinePanel 支持批量素材拖入(application/x-media-assets)
- EditingPlanner 新增 handleBatchAddAssets 批量添加逻辑
- editPlans.ts 扩展 MediaAsset 类型(quality_score/classification_status)
- V21 设计系统响应式样式(1200/900/768/480 断点)
2026-07-01 16:37:27 +08:00
xiaoxia
64b2fd14ef
Merge pull request 'feat(task-3.12): 我的音色页面 — 克隆音色卡片列表 + 状态管理' ( #152 ) from feat/my-voices-page into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 188h17m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h18m1s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h18m7s
2026-07-01 16:36:23 +08:00
xiaoxia
74ad82e56a
Merge pull request 'feat(task-3.14): 一键生成对接音色克隆 — API获取克隆列表 + VoiceCloneModal集成' ( #150 ) from feat/generate-voice-clone into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-07-01 16:36:23 +08:00
xiaoxia
7b6151a843
Merge pull request 'feat(phase8-task205): API 剪辑生成 — 渲染触发 + 进度查询 + Celery任务' ( #149 ) from feature/phase8-task205-edit-plan-generation into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 188h19m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h19m45s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h19m50s
2026-07-01 16:34:41 +08:00
Audit Bot
293ea35a03
feat(my-voices): 我的音色页面 — 克隆音色卡片列表 + 状态标签 + 试听/删除
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 188h25m3s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 188h25m8s
任务 3.12:
- 创建 MyVoices.tsx 页面组件,卡片网格布局
- 状态标签:ready(就绪)/ processing(克隆中)/ failed(失败)
- 试听播放:头像悬浮播放按钮 + 卡片底部试听按钮
- 删除确认:window.confirm 二次确认
- 编辑名称:弹窗编辑,支持 Enter/Escape 快捷键
- 空状态引导:3 步引导流程 + 立即克隆按钮
- 统计栏:全部/就绪/克隆中/失败数量统计
- Toast 提示:成功/错误通知
- 对接 API(Mock):GET/DELETE /api/v1/voice-clones
- CSS 变量统一,xx- 前缀命名,与配音库页面风格一致
- 响应式适配:1200/768/480px 断点
- 新增路由 /app/my-voices
2026-07-01 16:29:21 +08:00
灵应
b41e0255ef
feat(phase8-task205): API 剪辑生成 — 渲染触发 + 进度查询 + Celery任务 + 单元测试
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 188h23m27s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 188h23m31s
Deploy / Deploy Staging (push) Failing after 188h23m54s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h24m18s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h24m24s
- POST /edit-plans/{id}/generate: 触发剪辑渲染生成
- 验证 editing 状态 + 片段存在
- pending 片段标记为 ready
- 创建 GenerationTask 并调度 Celery 任务
- 计划状态流转为 rendering
- GET /edit-plans/{id}/generation-status: 查询生成进度
- 返回计划状态、GenerationTask ID、各片段状态
- Celery 任务 worker.render_edit_plan:
- 下载素材 → FFmpeg concat 拼接 → 上传 OSS
- 更新 EditPlan/EditPlanClip/GenerationTask 状态
- 失败重试(max_retries=2, countdown=60s)
- 16 个单元测试全部通过
2026-07-01 16:28:59 +08:00
xiaoxia
385dc4a9e0
Merge pull request 'refactor(dedup): 查重模块优化 — XOR 汉明距离 + 简化判定逻辑' ( #148 ) from feature/duplication-optimization into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 188h35m56s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h36m23s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h36m27s
2026-07-01 16:18:04 +08:00
xiaoxia
d7120562f9
Merge pull request 'feat(task-2.14): 剪辑计划编辑器完整版 — 三栏布局 + 拖拽 + 素材面板' ( #145 ) from feature/task-2.14-editing-planner-full into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 188h38m29s
CI/CD Pipeline / Frontend Lint (push) Failing after 188h38m56s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 188h39m1s
2026-07-01 16:15:34 +08:00
灵应
ed7de72b0c
refactor(dedup): 优化查重算法 — XOR 汉明距离 + 简化判定逻辑
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 189h16m18s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h16m21s
Deploy / Deploy Staging (push) Failing after 189h16m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h17m22s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h17m26s
- hamming_distance: 替换 zfill+字符比较为 XOR bit 计数 (bin(h1^h2).count('1'))
- check_duplicate: 移除直方图融合和 best_match,返回第一个匹配
- compute_phash: 补充详细中文算法注释(DCT 步骤说明)
- 修复 similarity 精度:移除 round(x, 4) 保留完整浮点精度
所有 74 个测试通过(8 个 cv2 依赖跳过)。
2026-07-01 15:37:05 +08:00
灵应
112021c16c
test: 补充查重模块单元测试与集成测试
...
- 查重引擎单元测试 (test_dedup_engine.py): 25 用例
- hamming_distance XOR bit 计数验证
- compute_phash / compute_color_histogram(需 cv2,无则跳过)
- check_duplicate 相似度判定逻辑(MD5 精确匹配、pHash 阈值、首次匹配返回)
- 查重领域模型测试 (test_duplication_domain.py): 22 用例
- DuplicationRecord.create() 工厂方法校验
- 状态转换(pending → processing → completed/failed)
- DuplicateSegment.create() 参数校验
- 查重用例层测试 (test_duplication_use_cases.py): 15 用例
- UploadForDuplicationUseCase / ListDuplicationRecordsUseCase
- GetDuplicationDetailUseCase / DeleteDuplicationRecordUseCase
- RetryDuplicationUseCase 状态重置逻辑
- 查重 API 集成测试 (test_duplication_api.py): 20 用例
- 列表/详情/删除/重试 4 个端点的正常流程与异常场景
- 跨用户隔离验证
- 跨端点组合场景测试
覆盖率: 422 passed, 8 skipped (cv2-dependent), 0 failures
2026-07-01 15:31:31 +08:00
灵应
6c3ddb018f
fix: 修复 APIRouter 不支持 summary 参数的问题
2026-07-01 15:31:24 +08:00
Audit Bot
aa33c2e6c8
feat(task-3.14): 一键生成对接声音克隆 — getVoiceClones API + VoiceCloneModal 集成
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 188h57m24s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 188h57m29s
- GeneratePage: 替换内联克隆UI为API数据驱动的音色网格
- 集成 VoiceCloneModal 组件(四阶段进度弹窗)
- 页面加载时自动 fetchClonedVoices,支持克隆成功后刷新列表
- 音色卡片区分 ready/processing/failed 状态,非 ready 禁用选择
- generate.css: 新增 disabled 卡片、选中勾选标记样式
- router/index.tsx: 修复 voice-clone 路由缺失闭合括号的语法错误
2026-07-01 15:28:11 +08:00
Audit Bot
b676f9e2c3
feat: add VoiceCloneModal component with 3-stage progress
...
- VoiceCloneModal.tsx: upload audio / record audio, fill voice name,
submit clone task, 3-stage progress display (上传中 → 克隆中 → 完成)
- voice-clone-modal.css: CSS variables from global.css, xx-vcmodal-*
naming convention, responsive breakpoints at 768/480px
- Uses Modal/Button from @/components/ui (V21 Design System)
- Calls createVoiceClone API (POST /api/v1/voice-clones mock)
- Props: open, onClose, onSuccess — integrates with MyVoices page
Task 3.13 — 音色克隆弹窗组件
2026-07-01 15:23:32 +08:00
xiaoxia
b07b451265
Merge pull request 'fix(docker): add validate_release_env.py to API image' ( #147 ) from fix/add-validate-script-to-api-image into develop
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 189h36m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h37m8s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h37m13s
2026-07-01 15:16:58 +08:00
CI Test
4812249e4e
fix(docker): add validate_release_env.py to API image
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 189h37m38s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h37m41s
deploy-production.sh runs validate_release_env.py inside the API
container before alembic upgrade. The script was missing from the
image because api.Dockerfile did not COPY scripts/. This caused
production deploy to fail with:
python: can't open file '/app/scripts/validate_release_env.py': [Errno 2]
2026-07-01 15:16:43 +08:00
灵应
16bf124a60
feat(task-2.14): 剪辑计划编辑器完整版 — 三栏布局 + 拖拽 + 素材面板
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 189h47m20s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h47m22s
Deploy / Deploy Staging (push) Failing after 189h47m51s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h48m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h48m22s
- 新增 editPlans API 模块(Mock 数据,预留真实接口)
- 新增 MediaPanel 组件:左侧 Tab 切换(模板+素材),素材可拖拽
- 重写 TimelinePanel:可视化时长条 + 片段卡片 + 拖拽排序 + 素材接收
- 新增 ClipPropertiesPanel:右侧片段属性编辑(文案/时长/转场/素材关联)
- 升级 EditingPlanner 主页面:集成三栏布局 + 剪辑计划 CRUD
- 重写 EditingPlanner.css:全新 V21 设计系统样式 + 响应式适配
- 修复 TypeScript 类型错误
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-01 15:03:58 +08:00
CI Test
3b9a7b6df6
feat(task-3.12): 我的音色页面 - 克隆音色卡片 + 状态管理 + 空状态引导 ( #146 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 189h48m48s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h49m10s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h49m15s
2026-07-01 15:01:45 +08:00
Audit Bot
ab9283e1bf
feat: add VoiceCloneModal component with 3-stage progress
...
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 188h56m51s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 188h56m55s
- VoiceCloneModal.tsx: upload audio / record audio, fill voice name,
submit clone task, 3-stage progress display (上传中 → 克隆中 → 完成)
- voice-clone-modal.css: CSS variables from global.css, xx-vcmodal-*
naming convention, responsive breakpoints at 768/480px
- Uses Modal/Button from @/components/ui (V21 Design System)
- Calls createVoiceClone API (POST /api/v1/voice-clones mock)
- Props: open, onClose, onSuccess — integrates with MyVoices page
Task 3.13 — 音色克隆弹窗组件
2026-07-01 14:57:28 +08:00
灵应
b79c05377a
fix: 重新注册 edit_plans_router 到 API Router
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 189h50m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h50m42s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h50m46s
2026-07-01 14:49:08 +08:00
灵应
ee8c60a143
perf(duplication): 查重模块代码优化 — 修复6个代码质量问题
...
1. 修复 hamming_distance 不等长哈希处理(hex() 前导零丢失)
2. 集成颜色直方图到 check_duplicate(此前计算但未使用,浪费 CPU)
3. check_duplicate 改为返回最佳匹配而非首个匹配
4. 修复仓库删除顺序(先删片段再删记录,防止孤儿数据)
5. 域模型添加 can_retry()/reset_for_retry(),仅 failed 状态允许重试
6. 列表接口暴露 offset/limit 分页参数
2026-07-01 14:48:15 +08:00
灵应
2730d2ce8d
feat(phase8): 实现剪辑计划 CRUD API (任务 2.04)
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 189h51m12s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 189h51m15s
Deploy / Deploy Staging (push) Failing after 189h51m46s
CI/CD Pipeline / Frontend Lint (push) Failing after 189h52m16s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 189h52m19s
- 新增 /api/v1/edit-plans 五个端点 (GET list/detail, POST, PUT, DELETE)
- 支持分页、按模板ID/状态筛选
- PUT 端点集成状态机流转 (draft→editing→rendering→completed/failed)
- 非法状态流转返回 400,资源不存在返回 404
- 注册 edit_plans_router 到 API Router
- 编写 28 个单元测试覆盖 CRUD + 状态机 + 异常场景
- 全部测试通过
2026-07-01 14:47:49 +08:00
CI Test
ba4dc747fb
feat(phase8-task203): API 模板管理 CRUD - RESTful接口 + Pydantic验证 + 单元测试 ( #144 )
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-07-01 14:41:30 +08:00
CI Test
3436900de0
feat(phase8-task202): TemplateClipConfig + EditPlanClip 数据模型、仓储、迁移与测试 ( #143 )
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Failing after 190h13m50s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 190h13m54s
2026-07-01 14:28:20 +08:00
CI Test
2a236d9754
feat(task-3.11): 配音库页面升级 - Tab分类 + 网格卡片 + 响应式适配 ( #142 )
2026-07-01 14:28:15 +08:00
CI Test
ba4788a509
feat(task-2.13): 升级模板库页面 — 类型分组展示 + 预览弹窗 + EditPlan 入口 ( #140 )
CI/CD Pipeline / Frontend Lint (push) Failing after 191h39m20s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 191h39m24s
Deploy / Deploy Staging (push) Failing after 191h38m42s
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
v0.1.102
2026-07-01 13:15:09 +08:00
CI Test
22c2811982
feat(phase8-task201): EditTemplate + EditPlan 数据模型、仓储、迁移与测试 ( #141 )
2026-07-01 13:15:09 +08:00
CI Test
f0eed0ca3f
style: fix prettier formatting issues
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 192h26m58s
CI/CD Pipeline / Frontend Lint (push) Failing after 192h27m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 192h27m46s
2026-07-01 12:26:48 +08:00
CI Test
3e10860f02
ci: trigger staging deploy after TS fix
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 192h30m25s
CI/CD Pipeline / Frontend Lint (push) Failing after 192h31m0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 192h31m10s
2026-07-01 12:23:20 +08:00