xiaoxia
|
a2797c2594
|
Merge pull request 'fix: 修复任务3.08代码审查P2问题 (4项)' (#171) from feature/fix-308-p2-issues into develop
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 165h43m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 165h43m23s
|
2026-07-02 15:11:09 +08:00 |
|
灵应
|
796aeff499
|
fix: 修复 PR #169 代码审查发现的 4 个 P2 问题
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 166h12m36s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 166h12m41s
Deploy / Deploy Staging (push) Failing after 166h15m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 166h15m32s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 166h15m39s
P2-1: workflow.py start_clone() 将 mark_processing() 移到音频 URL 检查之后,
无 URL 时保持 pending 状态,避免永久卡在 processing
P2-2: voice_clone.py Celery 任务改用 VoiceCloneWorkflowService 公开方法
(process_clone_result/process_clone_failure),不再直接操作 profile
P2-3: voice_clones.py 路由中 Celery .delay() 失败时调用
process_clone_failure() 标记 profile 为 failed(create + retry 两个路由)
P2-4: 由 P2-2 修复自动解决
同步更新 test_voice_clone_workflow.py 测试用例适配 P2-1 行为变更
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 14:37:37 +08:00 |
|
灵应
|
c7fe28a0d0
|
feat: 任务 3.14 一键生成功能前端对接 TTS 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 166h16m44s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 166h16m49s
Deploy / Deploy Staging (push) Failing after 166h18m39s
CI/CD Pipeline / Frontend Lint (push) Failing after 166h19m9s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 166h19m16s
- 新增 src/api/tts.ts:TTS 语音合成 API 模块,对接后端 /api/v1/tts/* 端点
- GeneratePage.tsx 对接真实预置音色 API(fetchPresetVoices 替换 MOCK_VOICES)
- 音色试听改为真实 audio 播放(使用 preview_url)
- 自定义录制模式对接 TTS 合成 API(synthesizeSpeech + 轮询状态)
- 克隆音色生成流程传递 voice_clone_profile_id
- 配音模式验证:clone 模式需选择克隆音色,custom 模式需文案或录音
- TypeScript 零错误
|
2026-07-02 14:35:11 +08:00 |
|
xiaoxia
|
9cf60b6b99
|
Merge pull request 'feat(voices): 任务3.12 克隆音色卡片组件' (#170) from feature/task-312-clone-voice-card 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 166h31m6s
CI/CD Pipeline / Frontend Lint (push) Failing after 166h31m35s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 166h31m41s
|
2026-07-02 14:22:52 +08:00 |
|
灵应
|
669b06fc73
|
feat(voices): 任务3.12 克隆音色卡片组件
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 167h6m25s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 167h6m30s
Deploy / Deploy Staging (push) Failing after 167h8m16s
CI/CD Pipeline / Frontend Lint (push) Failing after 167h8m47s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 167h8m54s
- 扩展 VoiceClone 类型(description/language/gender/error_message)
- 更新 toVoiceClone 映射(后端 pending → 前端 processing)
- 新增 CloneVoiceCard 组件(状态标签、播放控制、操作按钮)
- 新增 CloneDetailModal 详情弹窗
- 新增 CloneCardSkeleton 骨架屏加载
- 删除/重试 mutation + toast 提示
- 克隆卡片样式(voices.css ~450 行)
- TypeScript 零错误
|
2026-07-02 13:45:30 +08:00 |
|
xiaoxia
|
cdd7c2e481
|
Merge pull request 'feat: 任务3.08 音色克隆流程 — CosyVoice异步克隆 + 状态轮询' (#169) from feature/task-308-voice-clone-workflow 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 167h48m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 167h49m5s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 167h49m13s
|
2026-07-02 13:05:18 +08:00 |
|
灵应
|
24ac12167c
|
feat(task-308): 音色克隆完整流程实现
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 168h3m41s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 168h3m46s
Deploy / Deploy Staging (push) Failing after 168h7m8s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h7m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 168h7m45s
- CosyVoiceService: 新增 submit_clone_task() 和 check_task_status() 非阻塞方法
- VoiceCloneWorkflowService: 编排层,处理 start_clone/process_result/process_failure/retry
- Celery 任务 process_voice_clone: 异步轮询 CosyVoice 克隆结果
- API 路由: 创建后触发 Celery 异步任务,支持重试
- 57 个单元测试全部通过(workflow 14 + task 6 + cosyvoice 37)
|
2026-07-02 12:46:44 +08:00 |
|
xiaoxia
|
6b98ce2bb5
|
Merge pull request 'feat: 任务3.07 CosyVoiceService 服务层集成' (#168) from feature/task-307-cosyvoice-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 168h59m12s
CI/CD Pipeline / Frontend Lint (push) Failing after 168h59m42s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 168h59m48s
|
2026-07-02 11:54:17 +08:00 |
|
xiaoxia
|
62d5585738
|
Merge pull request 'feat: 任务3.11 配音库页面升级 — 对接后端真实API' (#167) from feature/task-311-voice-library-api into develop
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
CI/CD Pipeline / Frontend Lint (push) Failing after 169h0m18s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h0m26s
|
2026-07-02 11:54:07 +08:00 |
|
灵应
|
b0aee55ff5
|
feat: 任务3.11 配音库页面升级 — 对接后端真实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 169h9m48s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 169h9m52s
Deploy / Deploy Staging (push) Failing after 169h11m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h12m18s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h12m24s
- 重写 voices.ts:新增统一音色 API(fetchVoices/fetchPresetVoices),保留旧接口向后兼容
- 重写 voiceClone.ts:对接后端音色克隆 API,导出 toVoiceClone 类型转换
- 升级 VoiceLibrary.tsx:删除所有 Mock 数据,useQuery 对接 preset/clone/unified 三个接口
- 修复 CloneVoiceModal/VoiceCloneModal:toVoiceClone 包装 createVoiceClone 返回值
- 修复 VoiceClone.tsx:useQuery queryFn 箭头函数包装
|
2026-07-02 11:40:33 +08:00 |
|
灵应
|
099bc31cf2
|
feat: CosyVoice 语音服务层 (Task 3.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 169h9m13s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 169h9m18s
Deploy / Deploy Staging (push) Failing after 169h17m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h18m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h18m25s
- 创建 CosyVoiceService 封装阿里云 CosyVoice API
- list_preset_voices(): 返回预置音色列表
- clone_voice(): 音色克隆(提交任务 + 轮询状态)
- synthesize_speech(): 语音合成(提交任务 + 轮询状态)
- 支持同步/异步两种 API 模式
- 指数退避重试(最多 3 次)+ 超时控制
- 完整错误处理:AuthError / TimeoutError / 通用 Error
- 26 个单元测试全部通过(mock CosyVoice API 响应)
|
2026-07-02 11:36:02 +08:00 |
|
xiaoxia
|
23e3b9cc8e
|
Merge pull request '阶段3 任务3.06:TTS 合成 API' (#166) from feature/task-306-tts-api 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 169h37m12s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h37m45s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h37m51s
|
2026-07-02 11:16:40 +08:00 |
|
灵应
|
e29a698325
|
feat: implement TTS synthesis API (task 3.06)
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 169h43m28s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 169h43m33s
Deploy / Deploy Staging (push) Failing after 169h47m22s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h47m58s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h48m6s
- POST /api/v1/tts/synthesize: create TTS job (status=pending)
- GET /api/v1/tts/jobs: list user's jobs (page/page_size pagination)
- GET /api/v1/tts/jobs/{job_id}: get job details
- GET /api/v1/tts/jobs/{job_id}/status: query status for polling
- DELETE /api/v1/tts/jobs/{job_id}: delete job (soft delete)
Includes:
- Schema: TTSSynthesizeRequest, TTSJobResponse, ListTTSJobResponse, TTSStatusResponse
- Use Cases: CreateTTSJob, ListTTSJobs, GetTTSJob, GetTTSJobStatus, DeleteTTSJob
- SQLAlchemy adapter: SQLAlchemyTTSJobRepository
- ORM model: TTSJobModel
- Alembic migration: 020_add_tts_jobs_table
- Unit tests: 14 tests covering all use cases
CosyVoice API calls deferred to task 3.07.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 11:06:25 +08:00 |
|
xiaoxia
|
cf0bd4ef40
|
Merge pull request 'feat: 任务3.05 音色克隆API — CRUD + 状态管理' (#165) from feature/task-305-voice-clone-api 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 169h54m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 169h54m45s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 169h54m50s
|
2026-07-02 10:59:42 +08:00 |
|
灵应
|
c55dafdbb1
|
feat: implement voice clone API (Task 3.05)
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 170h0m19s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h0m23s
Deploy / Deploy Staging (push) Failing after 170h2m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h3m23s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h3m30s
- Add VoiceCloneProfile CRUD endpoints:
POST /api/v1/voice-clones (create clone task, status=pending)
GET /api/v1/voice-clones (list with pagination + status filter)
GET /api/v1/voice-clones/{id} (get details)
GET /api/v1/voice-clones/{id}/status (polling endpoint)
DELETE /api/v1/voice-clones/{id} (soft delete)
POST /api/v1/voice-clones/{id}/retry (retry failed clone)
- Add VoiceCloneProfile SQLAlchemy model and repository adapter
- Add Alembic migration 019 for voice_clone_profiles table
- Add use cases: Create, List, Get, GetStatus, Delete, Retry
- Add Pydantic schemas for request/response validation
- Add 19 unit tests (all passing)
- CosyVoice API integration deferred to Task 3.07
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 10:50:57 +08:00 |
|
xiaoxia
|
1971120f48
|
Merge pull request 'feat: 配音列表 API 增强 — 预置音色 + 克隆音色统一接口' (#164) from feature/task-304-voice-list-api 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 170h10m52s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h11m24s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h11m29s
|
2026-07-02 10:40:40 +08:00 |
|
灵应
|
5584df3d55
|
fix: PR#164审查修复 - P1 count_by_user status参数 + P2 内存分页优化
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 170h11m59s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 170h12m4s
Deploy / Deploy Staging (push) Failing after 170h14m34s
CI/CD Pipeline / Frontend Lint (push) Failing after 170h15m9s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 170h15m14s
P1修复:
- voice_library_repository.count_by_user() 增加可选 status 参数
- 修复 list_voices_unified 中 TypeError: count_by_user got unexpected keyword argument 'status'
P2修复:
- 移除 limit=1000 全量拉取,改为直接传递 skip/limit 到仓储层
- 删除冗余的 clone_repository_count() 辅助函数
- 优化统一列表分页逻辑,代码更清晰
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-02 10:39:15 +08:00 |
|
灵应
|
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 |
|