ad686dcd8b
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 19s
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 35s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (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 / ACR Image Cleanup (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m24s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m9s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m44s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (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 / Validate - Security (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
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
P1-1: VLM lite/pro模型ID修正(250915→250315/250328),根因是旧ID不存在导致lite必然超时降级pro - packages/config/base.py: doubao_vision_model/pro/lite 改为火山方舟官方正确ID - packages/shared/ai_client.py docstring同步更新 - apps/worker/worker_app/tasks/viral_video.py 硬编码字符串同步 - .env.example 同步新ID P1-2: worker心跳+僵尸任务超时回收 - packages/domain/viral_video.py: 新增heartbeat_at字段+touch_heartbeat()方法 - packages/adapters/sqlalchemy_impl/models.py: ViralVideoJobModel加heartbeat_at列(index=True) - packages/adapters/sqlalchemy_impl/viral_video_repository.py: to_entity/save/update映射heartbeat_at - alembic/versions/092_viral_video_heartbeat.py: 幂等迁移,加列+index+给已有running任务初始化 - apps/worker/worker_app/tasks/viral_video.py: - 新增_start_heartbeat_thread后台线程,每25s独立session更新heartbeat_at - 新增_recover_stale_jobs(): running>10min且心跳>2min未更新→自动标记failed - pipeline/analyze/generate_copy/render四个celery任务接入心跳启停+启动时回收僵尸 - apps/api/app/api/routes/viral_video.py: retry接口放宽,允许对超时僵尸任务重试 P1-3: 文案生成质量与兜底修复 - 兜底脚本'很近'→'最近'(之前commit已改) - _step_script_generation 三级重试: fast(0.8/2500tok)→fast(0.6/3200tok)→pro(0.7/3500tok) - 新增fallback判定:口播<20字/含兜底特征串/镜头数<1才视为降级,避免正常短脚本误判 - prompt关键要求新增'输出前自检:口播禁止错别字和语病' - 关键路径打info日志(模型/label/口播长度/镜头数/是否兜底),便于后续排查 P2-1: Seedance图生视频ratio不生效导致9:16出1:1 - 根因: 旧逻辑Bug #2110在image_url存在时不传ratio,模型默认adaptive→首帧方图商品图输出1:1 - 官方文档确认图生视频支持ratio参数,模型会自动居中裁剪首帧 - packages/shared/ai_client.py+ai_service.py: 删除image_url判空,始终传ratio - 同步更新docstring注释 P2-2: OSS成片eventual consistency导致completed后NoSuchKey - apps/worker/worker_app/tasks/viral_video.py: 新增_wait_oss_ready(url,timeout=10s) - mark_completed前循环HEAD公网URL,等200+content-length>0或10s超时 测试: viral-video相关97个单测全部通过,仅更新test_passes_reference_params_to_client以反映新ratio透传行为
xiaoxia-saas API
结构
app/core/:配置与基础能力app/api/:路由组织app/schemas/:请求响应模型app/dependencies.py:依赖注入入口main.py:FastAPI 启动入口
当前可用接口
GET /api/healthGET /api/projects?workspace_id=...POST /api/projects