Commit Graph

33 Commits

Author SHA1 Message Date
xiaoxia 1e840057cb fix(ci): 修复 Validate job
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 1m20s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m31s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
fix(ci): 修复 Validate job — black 格式化 + isort 排序 + .cache 排除 + celery mock 路径修复
2026-07-11 14:42:53 +08:00
xiaoxia 48e5077191 fix: P0-2 深度根因修复 — Worker端URL校验403 + endpoint HTTPS修复 (#211)
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 9s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m31s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
2026-07-10 20:35:03 +08:00
xiaoxia 242497af8b fix: 调换 fps 与 setpts 顺序,修复 P0-3 xfade 多视频转场 PTS 不一致问题 (#210)
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 10s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m8s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
2026-07-10 18:16:01 +08:00
用户CI Test 9fc82df6b9 fix: P1 xfade td 钳制到第二个输入片段时长
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 10s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m32s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
- build_xfade_filter_chain: 加 safe_td = min(safe_td, clip_durations[i])
- 新增 test_middle_clip_shorter_than_td 测试用例 [5.0, 0.3, 5.0]
- 压力测试增加 P1 场景 + td ≤ second_input 断言
- 修复 PR #207 Comment #1282 审计发现
2026-07-10 15:01:59 +08:00
用户CI Test 81984ae938 fix: P0-2 预签名URL诊断日志 + P0-3 xfade exit 234 三重修复
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 13s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m21s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
P0-2 (预签名URL staging未生效):
- storage.py get_download_url() 增加诊断日志(bucket=None / sign_url失败)
- 代码逻辑已验证正确,8个单元测试覆盖全路径
- staging问题最可能是未重新部署或OSS凭证未配置

P0-3 (FFmpeg xfade exit 234):
- Fix 1: _build_single_clip_filter 始终 trim 到 effective_duration
- Fix 2: _build_filter_complex 用 effective_duration 计算 xfade offset
- Fix 3: build_xfade_filter_chain 逐步安全钳制 td/offset
  - 动态 first_input_dur 跟踪
  - per-step td 钳制到 available 和 remaining
  - 保证 offset + td ≤ first_input_duration

新增 20 个单元测试全部通过,全量 1213 测试无回归

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:47:09 +08:00
用户CI Test c947abc038 fix: 一键生成 P0 修复 + P1 校验
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 1m10s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 3m40s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
P0-1: _download_library_assets 支持双模式查询(asset_library_id / project_id)
       下载失败时抛出 RuntimeError,不再静默忽略
P0-2: OSS 上传失败抛异常 + 上传后 HEAD 校验 URL 可访问性
P0-3: run_ffmpeg 失败时完整 stderr 打到日志(排查 exit code 183)
       _execute_ffmpeg 额外记录 filter_complex 便于诊断
P1:   template_id 存在性校验(不存在/已禁用 → ValueError)
       asset_ids 归属校验(不属于指定项目/素材库 → ValueError)

新增 16 个单元测试覆盖全部修复点,全量 1170 测试通过无回归
2026-07-10 00:28:47 +08:00
xiaoxia 4328854f58 feat: 统一渲染引擎 + 打通一键生成全链路
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m7s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m31s
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 2m57s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 5m5s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m29s
2026-07-09 22:59:19 +08:00
灵应 9f0c064f2a feat: 任务4 视频查重 — 历史+批次双重去重
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 45h27m46s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 45h27m46s
- Alembic 033: generation_tasks 加 batch_id 列+索引
- Route: count>1 时生成共享 batch_id
- Repository: list_by_batch() 批次内查询
- dedup.py: check_batch_duplicate() 批次内查重
- Worker: 生成视频后创建 GeneratedVideo 记录 + 双重查重
- 单元测试: 6 个批次查重测试用例
2026-07-07 15:26:41 +08:00
灵应 9519216df4 fix: 全面修复CI Validate阶段所有检查失败项
Deploy / Staging E2E Tests (push) Has been skipped
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 135h48m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 135h48m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 135h48m25s
- 修复 video_compose_service.py StrEnum Python 3.10 兼容性(添加回退实现)
- 修复 test_dedup_engine.py celery mock 污染导致测试收集失败
- 修复 edit_plans.py update_plan 路由:不存在返回 404 而非 400
- 修复 edit_plans.py generate_plan/get_generation_status 路由:不存在返回 404
- 修复 edit_templates.py update_template 路由:不存在返回 404 而非 400
- 修复 upload.py 添加 image/svg+xml 到允许的 MIME 类型
- 修复 test_edit_plans_api.py StubEditPlanRepository 添加 delete_by_plan 方法

CI Validate 8 项检查全部通过:compileall/black/isort/flake8/bandit/bash-n/alembic/pytest
831 单元测试全部通过,0 失败
2026-07-03 21:06:05 +08:00
灵应 3dcba4c44c fix: 修复Bandit安全扫描硬编码临时目录问题
Deploy / Staging E2E Tests (push) Has been skipped
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 137h5m41s
CI/CD Pipeline / Frontend Lint (push) Failing after 137h5m49s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 137h5m53s
2026-07-03 19:48:11 +08:00
灵应 e25fd86171 style: 后端代码isort import排序
Deploy / Staging E2E Tests (push) Has been skipped
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 137h58m6s
CI/CD Pipeline / Frontend Lint (push) Failing after 137h58m12s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 137h58m12s
2026-07-03 18:56:16 +08:00
灵应 8935196fcd style: 后端代码black格式化
Deploy / Staging E2E Tests (push) Has been skipped
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 138h4m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 138h4m39s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 138h4m39s
2026-07-03 18:49:54 +08:00
CI Test d6b11ea1cd fix: 清理全局 except:pass(22处)改为 logger.warning 记录异常
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Tests / lint (pull_request) Failing after 147h14m3s
Tests / test (pull_request) Failing after 147h14m3s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 147h14m28s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 147h14m34s
Deploy / Deploy Staging (push) Failing after 147h14m58s
CI/CD Pipeline / Frontend Lint (push) Failing after 147h15m21s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 147h15m27s
2026-07-03 09:38:57 +08:00
CI Test abfc598d3f refactor: 代码精简优化 - 移除无用代码和重复定义
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 156h9m36s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 156h9m43s
1. 删除无用文件:
   - apps/api/app/core/database.py (未被引用的死代码)
   - requirements-quality.txt (与 requirements-dev.txt 完全重复)
   - fix_script.py, fix_tracker_encoding.py (一次性修复脚本)
   - init_tracker_phase4.py, init_tracker_simple.py, update_tracker.py (SQLite迁移脚本)

2. 清理死代码:
   - apps/api/app/db.py: 移除未使用的 get_db() 函数和 sqlalchemy.orm 导入
   - 11个路由/中间件文件: 移除未使用的 import (os, datetime, BaseModel, Session, List 等)

3. 消除重复定义:
   - apps/worker/video_processing/video_compose_service.py: 移除重复的 EditingMode 枚举
   - 改为从 packages.domain.editing_mode 导入统一的 EditingMode

影响: 无功能变更,仅移除未使用的代码
2026-07-03 00:44:29 +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
灵应 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
灵应 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
Deploy Bot 3fe48b37d4 fix: replace StrEnum with Python 3.10 compatible implementation
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 209h38m38s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h50m50s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h50m56s
2026-06-30 19:03:38 +08:00
xiaoxia fff644deac fix: resolve bandit security issues and fix vitest configuration (#132)
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 210h18m25s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h18m51s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h18m54s
2026-06-30 18:35:20 +08:00
xiaoxia 1217d8cef0 style: apply isort formatting to pass CI validation (#129)
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 210h35m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h36m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h36m17s
2026-06-30 18:17:44 +08:00
xiaoxia 52ff2f80ad style: apply black formatting to pass CI validation (#126)
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-06-30 17:23:08 +08:00
API文档维护Agent a43ddb4b63 feat: Phase 1 - 核心重构(去Project层/标题库API/配音库API/清理废弃代码)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
## 主要变更

### 1. 清理废弃代码(18个文件删除)
- 删除 TaskModel/MilestoneModel/TaskIssueModel 及相关文件
- 删除 ProjectTitleModel/EditPlanModel/EditPlanClipModel 及相关文件
- 清理 domain/ports/adapters/application/api 各层引用
- 从 GenerationTaskModel 移除 edit_plan_id 字段

### 2. 新建标题库 API(/api/v1/titles)
- Domain: TitleLibraryItem 数据类
- Ports: TitleLibraryRepository 接口
- Adapters: SQLAlchemy 实现(软删除)
- Application: CRUD Use Cases + 配额检查(max_titles: free=50, basic=500, premium=500)
- API: GET/POST/PUT/DELETE 端点
- Schema: Pydantic 请求/响应模型

### 3. 新建配音库 API(/api/v1/voices)
- Domain: VoiceLibraryItem 数据类
- Ports: VoiceLibraryRepository 接口
- Adapters: SQLAlchemy 实现(软删除)
- Application: CRUD Use Cases + 配额检查(max_voiceovers: free=10, basic=100, premium=100)
- API: GET/POST/PUT/DELETE 端点
- Schema: Pydantic 请求/响应模型

### 4. 去掉 Project 层依赖
- 修复 authenticated_user.id → authenticated_user.user.id bug
- asset_libraries.py: project_id 改为可选查询参数
- generated_videos.py: project_id 改为可选查询参数
- 无 project_id 时通过 find_accessible_projects 获取用户可访问的所有项目

### 5. 数据库迁移
- 创建 011_phase1_core_refactor.py
- 删除 6 个废弃表:tasks, milestones, task_issues, project_titles, edit_plans, edit_plan_clips
- 从 generation_tasks 表删除 edit_plan_id 列

### 6. 其他改进
- 迁移 EditingMode 到独立模块 packages/domain/editing_mode.py
- 注册 titles_router 和 voices_router
- 添加 get_title_library_repository 和 get_voice_library_repository 依赖
- 更新 domain/ports __init__.py 导出新实体和仓储接口

## 技术细节
- 遵循六边形架构模式
- 配额检查通过 QuotaRegistry 实现
- 软删除:标题库用 is_active=False,配音库用 status='deleted'
- 配音库支持可选的 project_id 关联

## 破坏性变更
- 删除 6 个废弃表(需先备份数据)
- 删除 /api/v1/edit-plans, /api/v1/project-titles, /api/v1/project-management 端点
- generation_tasks API 不再包含 edit_plan_id 字段
2026-06-28 15:02:10 +08:00
CI Test 95fbf52049 fix(P2-1): EditingMode 枚举改为从 packages.domain 导入,消除重复定义
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-06-28 10:26:06 +08:00
API文档维护Agent e3fb518ab2 refactor: remove all workspace_id references from codebase
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Remove workspace_id from Pydantic models in project_management routes
- Remove workspace_id from SQLAlchemy and SQLite project management repos
- Remove workspace_id from worker tasks (storage keys, entity creation)
- Remove workspace_id from video dedup and title usage modules
- Remove workspace_id from generation and ingest worker tasks
- Clean workspace_id from all test files and scripts
- Remove workspace-specific test files (list_workspaces, workspace repos)

Task: #14 workspace_id 残留清理
2026-06-27 22:52:09 +08:00
Celery Worker Fix Agent 8210806632 fix: 修复 Celery Worker 任务注册和导入问题
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
1. 修复 Worker 启动入口: celery_app → worker_app.celery_app
   - 旧 celery_app.py 不导入任何任务模块,导致 Worker 注册 0 个任务
   - 删除旧版 apps/worker/celery_app.py,统一使用 worker_app/celery_app.py

2. 为缺少装饰器的任务补充 @celery_app.task:
   - classification.py: classify_asset() 添加装饰器
   - generation.py: generate_video() 添加装饰器,修正签名匹配 API 调用方式

3. 确保 voice_extraction 任务被正确注册:
   - 添加 voice_extraction 到 celery_app imports
   - 修复 voice_extraction.py 中错误的相对导入 (.celery_app → worker_app.celery_app)
   - 修复 dedup.py 中指向已删除模块的导入

4. 修复 worker_app/celery_app.py:
   - 添加 broker_connection_retry_on_startup=True
   - imports 中添加 voice_extraction 和 dedup 模块

5. 修复 Dockerfile:
   - CMD 改为 celery -A worker_app.celery_app
   - 添加非 root 用户 celery 运行 Worker

6. 新建 packages/shared/config.py 和 storage.py 兼容层
   - 为 worker 任务模块提供统一的 config/storage 访问入口
2026-06-27 19:31:07 +08:00
CI Bot c98ab4c1ef feat: decouple API and Worker cross-service dependencies 2026-06-27 10:22:25 +08:00
CI Bot a97e3e72e9 fix: 修复 dedup.py 语法错误和 pHash DCT 实现,修复 chunked_upload.py 缩进错误 2026-06-26 22:46:21 +08:00
CI Test bd9e9fba45 chore: squash merge feature/voice-dedup into develop (resolve conflicts)
- Add voice extraction and deduplication functionality
- Add dedup.py for video deduplication
- Add voice_extraction.py task for worker
- Resolve CI/CD and deploy workflow conflicts with develop version
- Keep new voice dedup features from feature branch
2026-06-26 21:23:39 +08:00
xiaoxia f687b4207f feat: add download_url field to generated video APIs (#20) 2026-06-26 21:13:18 +08:00
xiaoxia 299f42a6aa feat: 实现四种视频剪辑模式 (#23) 2026-06-26 20:58:26 +08:00
xiaoxia 2666eba384 fix(P2-6): use NamedTemporaryFile for automatic temp file cleanup 2026-06-26 17:54:42 +08:00
Xiaoxia AI bfbaddbd9a style: normalize python formatting gates 2026-06-21 06:52:19 +08:00
Xiaoxia AI 8493471c19 feat(project-d): implement real video generation pipeline with FFmpeg 2026-06-19 10:54:20 +08:00