Commit Graph

52 Commits

Author SHA1 Message Date
小鱼开发 04e467e433 feat(points): 积分系统收尾 + 充值弹窗改造 + 命名统一
后端:
- 微信回调 db.commit 失败仍返回 SUCCESS,避免无限重试
- recharge() 加 order_id 幂等保护,防重复充值
- time_expire 使用北京时间(UTC+8),修复时区 bug
- 充值档位后端配置化(points-config.yaml + /recharge-options API)
- 代码审查 20 项修复(认证加固、扣费顺序、错误响应、状态同步等)

前端:
- 充值弹窗:自动轮询 + 【我已支付】手动兜底
- 二维码倒计时显示,过期后遮罩 + 刷新按钮
- 充值档位从后端动态加载
- 去掉 select/qrcode 弹窗标题,金额红色突出显示
- 全项目命名统一(视频生成/压制成片/配音合成/声音复刻等)
- Modal 关闭按钮独立于 title 显示
2026-05-09 21:29:35 +08:00
小鱼开发 0722225c62 feat(points): 积分流水表支持时长显示,说明字段简化
后端:
- PointTransaction 模型添加 duration 字段(float, nullable)
- PointTransactionItem schema 添加 duration
- consume() 新增 duration 参数,写入流水记录
- 各业务 description 统一简化为【脚本生成】【配音合成】等格式
- duration 类业务(tts/video)传入实际秒数
- Alembic 迁移: 95eb1a1c0af9_add_duration_to_point_transaction

前端:
- PointTransaction 类型添加 duration
- UsageDetail: 来源列 → 时长列(有值显示 xs,无值显示 -)
- 说明列直接显示后端返回的简化描述
2026-05-09 17:08:50 +08:00
小鱼开发 c6eba97b43 feat(points): 积分消耗系统全链路集成
后端:
- 简化积分服务: 删除 freeze/settle/refund, 保留 consume/recharge/expire
- 计费配置化: config/points-config.yaml 驱动 fixed/duration/free 三种模式
- TTS 时长探测: app/utils/audio_utils.py (httpx + mutagen 纯 Python)
- Python 层扣费: script(5)/polish(1)/title(1)/voice_clone(200)/tts(按秒)/video(按秒)
- 字幕 free_services: caption/auto_align 不扣费
- 新增 POST /points/consume 端点(402余额预检)
- 新增 check_balance + /points/cost 返回 sufficient/balance/required
- 新增 expire_batches 定时回收, 接入 scheduler main(每5分钟)
- 删除废弃 tts_handler.py
- Alembic 迁移: 删除 frozen/total_refunded 字段
- 同步 requirements.lock 添加 mutagen

前端:
- Rust/IPC 层扣费: compose(5)/subtitle_burn(2)/cover_design(2)
- 字幕打轴改异步: 走 scheduler subtitle handler
- 对口型传 duration: VideoGeneration 传 actualDuration
- 创建 pointStore: 全局余额 + fetchBalance + 充值弹窗控制
- 402 欠费弹 RechargeModal: VideoGeneration/SubtitleBurning/CoverDesign
- 修复 VoiceDubbing.tsx 类型错误 (alignResult never)
- 同步 PointBalance 类型(删除 frozen/available/totalRefunded)

Refs: 积分消耗集成收尾
2026-05-09 15:42:54 +08:00
小鱼开发 63599a5b9e chore: 短信签名改为【厦门美家卡科技】,验证码扩展码设置为 11 2026-05-09 11:20:17 +08:00
小鱼开发 6e79791694 refactor: 短信扩展码改为在 sms_service.py 中配置,不再从 .env 读取
- 移除 __init__ 中 settings.SMS_EXTENDED_CODE 的读取
- send_single_sms 增加 extended_code 参数,由调用方指定
- send_verification_code 通过类常量 EXT_CODE_VERIFICATION 配置扩展码
- 支持不同短信内容搭配不同扩展码
2026-05-09 10:35:20 +08:00
小鱼开发 105025ae4d feat: 删除登录即注册逻辑,登录时用户不存在直接报错
- login_with_sms: get_or_create_by_mobile → get_by_mobile
- 用户不存在时返回 ValueError('用户不存在')
- send_code 保留用户存在性校验
2026-05-08 21:11:05 +08:00
小鱼开发 12f4e2f3e7 chore: 恢复短信验证码真实校验逻辑 2026-05-08 21:05:22 +08:00
小鱼开发 7a762a9e15 fix: SSE 踢人时 user_id 类型不匹配导致消息发不出去
- user.id 是 uuid.UUID 对象,_sse_connections 的 key 是字符串
- dict.get(UUID) 与 dict.get(str) 不匹配,queue 永远是 None
- 修复:_kick_old_device(str(user.id))
2026-05-08 20:55:05 +08:00
小鱼开发 ef991e8c0f chore: 测试期间验证码校验 bypass(任何验证码都通过)
TODO: 测试结束后恢复 verify_sms_code 中的真实 Redis 校验逻辑
2026-05-08 18:01:16 +08:00
小鱼开发 8a6caf5d1e fix: 永久修复 UUID 序列化类型不一致
- UserInfo.id / UserProfileResponse.id: str → UUID
- 移除 auth_service / auth 中多余的 str() 转换
- FastAPI/Pydantic v2 自动处理 UUID → JSON 字符串序列化
2026-05-08 17:14:41 +08:00
小鱼开发 1b053dbe24 fix(auth): login 返回的 user.id 显式转 str,避免下游 JSON 序列化 500 2026-05-08 16:39:30 +08:00
小鱼开发 d1e7bffc4d fix(auth): JWT payload 中的 user_id 显式转 str,修复 UUID 序列化 500 错误
- 数据库改为 UUID 类型后,ORM 返回 uuid.UUID 对象
- jwt.encode 内部用 json.dumps 序列化,不支持 UUID 类型
- 业界主流做法:调用处 str(user.id) 转换,不在工具函数里做递归序列化
2026-05-08 16:30:38 +08:00
小鱼开发 b597d715c8 fix: 认证流程修复 + alembic 迁移补全 + 前端僵尸代码清理
后端:
- 修复 get_current_user 未校验 is_active,被封禁用户仍可用旧 Token
- auth.py 捕获 ValueError 转 HTTPException(验证码错误、账号被封、Token 无效等不再返回 500)
- 修正 SMS 每日上限注释(3次 → 10次)
- 修复迁移脚本外键引用错误:users.id → mjk_users.id
- 新建积分系统 4 张表的迁移(mjk_user_points/batches/transactions/recharge_orders)
- pyproject.toml 补充 alembic + psycopg2-binary 依赖
- ruff 格式修复(import 排序等)

前端:
- 修复 doRefreshToken 成功后不持久化新 Token 的严重 bug
- 修复应用重启后 SSE 不自动重连(收不到踢人通知)
- 修复 App.tsx handleLogout 未 await
- client.ts 统一从 utils/env 导入 isTauri,默认 base URL 兜底 localhost:8000
- 清理 ~20 个未使用的 hooks/utils/api 模块/组件导出
- 修复所有 ESLint 警告(206 → 0)和 TSC 错误
- 测试通过(5/5)

其他:
- 更新 requirements.lock 和 uv.lock
2026-05-08 11:10:48 +08:00
小鱼开发 5080f992d9 feat(auth): SMS 日限 10 次 + 前端 send-code 联调后端 API 2026-05-07 21:10:05 +08:00
小鱼开发 51521fc0dd feat(payment): 微信支付 APIv2 + 积分充值 + SMS 短信 + 双 Token 认证
- 微信支付从 APIv3 降级为 APIv2(MD5/XML)
- 积分系统:充值下单、微信回调、消费冻结/结算/退款
- SMS B2M 短信验证码服务
- 双 Token 认证(Access 30min + Refresh 30days)
- SSE 单设备踢人
- 用户设备管理、积分账户模型
- Alembic 迁移脚本
2026-05-07 18:43:02 +08:00
小鱼开发 c45cb02385 fix: 七牛云 SDK 同步 I/O 阻塞事件循环
- QiniuService 新增 async 包装方法(upload_stream_async 等)
- upload.py / voice.py 上传路由改为 await async 版本
- voice.py 改用 get_qiniu_service() 单例
2026-05-06 22:56:23 +08:00
小鱼开发 c79b2323f4 refactor: 删除脚本生成未使用的 duration/style/scriptType/scriptDuration 参数
前端:
- 删除 scriptType 字段及相关 store action、持久化、API 类型
- 删除 scriptDuration 字段及相关 store action、持久化、加载逻辑
- ScriptCreation 不再传 duration/style 参数给后端

后端:
- ScriptParams 删除 duration/style 字段
- ScriptHandler 删除 duration/style 参数读取和传递
- ScriptService.generate_script 签名删除 duration/script_type
- load_script_user_prompt 删除 duration 参数

影响:无,duration/style 在 prompt 模板中未被实际使用
2026-05-06 13:30:40 +08:00
小鱼开发 8f8256ddfb fix: 声音克隆暴露原始错误 + 脚本生成去掉中间进度提示
- voice.py: 异常处理不再吞掉原始错误,直接暴露具体原因
- vidu_service.py: clone_voice 错误消息包含 Vidu 返回的 error_message
- ScriptCreation.tsx: 去掉一闪而过的'任务已创建,等待执行...'中间状态
2026-05-06 11:04:26 +08:00
小鱼开发 bd6681c454 fix(adapter): VolcengineArkAdapter 转发 reasoning_effort,移除 temperature 传参
- Adapter 之前漏传 reasoning_effort,platform-config.yaml 里配置的
  minimal 未生效,可能导致脚本生成走完整推理链变慢
- 豆包 Seed 2.0 Pro 强制固定 temperature=1,传参无效,全部移除
- 移除 script_service.generate_script/polish_content 和 script.py
  generate_title 中的 temperature 硬编码
2026-05-05 21:52:09 +08:00
小鱼开发 30536276ba refactor(scheduler): 统一异步任务调度架构
核心变更:
- 统一第三方接口架构:所有服务走 PlatformGateway(call_sync/submit_task/query_task/handle_webhook)
- 视频生成(Vidu 对口型)纳入 Async Engine,与 script/subtitle/tts 统一为 POST /tasks/{task_type} 模式
- 新增 VideoHandler、TTSHandler,完善 ScriptHandler/SubtitleHandler
- PlatformGateway 生成 internal_task_id,建立 Redis 双向映射,callback 场景传入 Async Engine task_id 保证映射一致
- SlotManager 新增 acquire_ctx 上下文管理器,所有 Handler 统一使用
- ViduAdapter 状态映射归一化(normalize_state/denormalize_state)
- 移除 ViduService Semaphore 和 tenacity 重试,并发控制完全交予 SlotManager
- nonce 防重放下沉到 CallbackCapable 协议
- Service 层错误统一为 PlatformError,路由层错误信息脱敏
- 废弃 /voice/lip-sync,清理 vidu.py 遗留路由

Bug 修复:
- VideoHandler 轮询阶段后添加 continue,防止已提交任务重复创建
- voice.py synthesize_to_file 变量名冲突(request vs request_body)
- PlatformGateway.submit_task 空 data 防护
- ScriptHandler 动态导入 asyncio 改为模块级导入
- SubtitleHandler 完成时补充 progress=100

文档:
- 更新 AGENTS.md 核心功能、运行时架构、异步调度描述
2026-05-05 20:53:18 +08:00
小鱼开发 0e5bef64b8 fix: 移除 response_format=json_object,改为依赖 prompt 约束
回退上一条推断式修复(模型名匹配没有官方依据)。
改为在 script_service 调用层直接移除该参数:
- system prompt 已明确要求'只输出纯 JSON'
- safe_parse_ai_json_response 已做容错解析和 markdown 清洗
- 不依赖特定模型对 response_format 的支持
2026-05-04 20:05:38 +08:00
小鱼开发 6c0f240369 chore: 删除脚本生成 SSE 流式相关废弃代码 2026-05-04 19:37:30 +08:00
小鱼开发 82657c2d65 chore: 删除形象克隆相关代码、配置及注释 2026-05-04 19:06:45 +08:00
小鱼开发 e58159fc42 refactor: 第三方平台架构改造(Adapter Protocol + Gateway)
Phase 1: 异常体系统一
- 新增 PlatformError / PlatformErrorType 标准定义
- 改造所有 Provider 异常抛出为 PlatformError
- 注册全局 PlatformError exception handler

Phase 2: Adapter Protocol
- 新增 app/ai/adapters/base.py(PlatformAdapter + SyncCapable + TaskCapable + CallbackCapable)
- 新增 app/ai/adapters/constants.py(Method 常量)
- 新增 PlatformConfigLoader(config/platform-config.yaml)

Phase 3: HTTP Client 统一
- ViduProvider 从 aiohttp 迁移到 httpx(注入方式)
- VolcengineCaptionService 改为注入 http_client
- lifespan 统一管理所有 Client 创建和关闭

Phase 4: Gateway 骨架 + Adapter 实现
- 新增 ViduAdapter / VolcengineArkAdapter / VolcengineCaptionAdapter
- 新增 PlatformGateway(call_sync / submit_task / query_task / handle_webhook)
- 新增 LLMGateway(带 Fallback 降级链)
- lifespan 注册所有 Adapter 和 Gateway

Phase 6: 清理与验证
- 从 Settings 移除 VIDU_BASE_URL / VOLCENGINE_BASE_URL
- Provider 改为从 PlatformConfigLoader 读取 base_url
- 清理 volcengine_caption_service 全局单例
- config_loader 默认路径改为 platform-config.yaml
- Scheduler 注入共享 HTTP client
- vidu.py 回调路由使用 Adapter 验签和解析
- ruff 全量通过,应用启动测试通过
2026-05-04 16:07:16 +08:00
小鱼开发 0c921aca11 chore: 清理废弃代码和文档
- 删除 anytocopy 相关文件(service、handler、文档)
- 删除 KlingAI / MiniMax 开发文档
- 删除 database-design、mvp-lip-sync-replacement 等过时文档
- 删除旧的 docker-compose.yml(已拆分为 dev/test/prod)
- 删除 config/ai_models.yaml(已合并到 platform-config.yaml)
- 从 .env.example 移除 anytocopy 配置
- 从 tasks.py、schemas 移除 copy 任务类型
2026-05-04 16:06:25 +08:00
小鱼开发 e262134148 refactor: 移除 KlingAI 和 MiniMax 相关代码
删除内容:
- KlingAI Provider、MiniMax Provider
- Kling 视频/图片/TTS/语音克隆/形象克隆 Service 和 Scheduler Handler
- 已废弃的 TTSService、VoiceCloneService
- config 中 KLINGAI_*/MINIMAX_* 配置项
- ai_models.yaml 中 klingai 平台和模型配置
- docker-compose 中相关环境变量
- .env.example 中相关配置示例
- deploy-test.sh 中相关检查
- Makefile 中 klingai 语义检查排除规则
- KlingTaskStatus 枚举

修改内容:
- model_router.py 移除 KlingAI 平台分支
- voice.py 重写,修复批量合成/文件保存中 service 未定义的 Bug
- vidu_service.py 移除 MiniMax 相关注释
- script_handler.py 更新注释
2026-05-02 23:16:14 +08:00
小鱼开发 9299891a7f fix: merge duplicate ViduService class definitions
- Remove redundant second ViduService class that shadowed __init__
- Clean up unnecessary fallback code in get_vidu_service and global exception handler
2026-05-02 22:26:37 +08:00
小鱼开发 22057f27fa fix(vidu): move get_preset_voices to module level 2026-05-02 22:05:23 +08:00
小鱼开发 ab9962d333 refactor(vidu): reusable session, semaphore, retry, lifespan management
- vidu_provider: single ClientSession with TCP connector pool and explicit timeouts
- vidu_service: Semaphore(10) concurrency limit + tenacity retry (3 attempts, exponential backoff)
- voice/vidu routes: use FastAPI Depends injection instead of new Service() per request
- main.py: initialize Vidu Provider & Service in lifespan, close on shutdown
- add tenacity to dependencies
- remove vidu_tts_service.py
2026-05-02 21:55:20 +08:00
小鱼开发 02b5a89eaf refactor(script): add timeout and error handling for polish/title
- Add 15s asyncio.timeout() to polish_content and generate_title
- Add try/except to /polish route for unified error response
- Add asyncio.TimeoutError handling to /generate-title route
2026-05-02 21:23:50 +08:00
小鱼开发 feddeed950 refactor(script): remove sync endpoint, add thread-pool & timeout
- Remove unused POST /script/generate sync endpoint and frontend generate()
- Move JSON parsing/validation to asyncio.to_thread() to avoid event-loop blocking
- Add 60s asyncio.timeout() around entire script generation pipeline
- Migrate volcengine_provider to unified AsyncArk client
2026-04-30 23:51:30 +08:00
小鱼开发 8cb9e2da12 feat: reload_config 返回错误详情 + 远程配置增加 schema 校验
6. reload_config() 吞掉异常详情:
   - 返回类型从 bool 改为 tuple[bool, str],包含具体错误信息
   - API 层将错误详情返回给前端,便于排查
   - 异常统一记录到日志

8. 远程配置无 schema 校验:
   - 后端新增 MaterialsConfig Pydantic Model 校验 materials.json 结构
   - load_config() 远程/本地配置均先校验再应用,格式错误时抛出明确异常
   - 前端 CoverDesign 新增 isValidBgConfig() 运行时校验 bg-config.json
   - 校验失败时优雅降级到本地配置,避免页面白屏
2026-04-30 16:20:32 +08:00
小鱼开发 35a9eb89ce fix: 修复 material_service 规范问题 + 背景图 fetch 超时 + CSS 死代码
1. material_service.py:
   - 删除未使用的 get_settings 导入
   - 将 import logging 从函数内移到模块顶部

2. CoverDesign.tsx:
   - 远程 bg-config.json fetch 增加 5 秒 AbortController 超时
   - 超时后自动 fallback 到本地配置

3. CoverDesign.css:
   - 删除 .cover-title-overlay/.cover-title-line(旧版 assjs 遗留)
   - 删除 .template-selector/.template-btn 系列(旧版模板选择器)
   - 删除 .cover-bg-options/.cover-bg-option(旧版背景卡片)
   - 删除 .title-input-section/.cover-hint(已废弃样式)
2026-04-30 16:04:52 +08:00
小鱼开发 588c2236e6 feat: 封面制作优化 + 素材配置远程化
- 背景图配置改为从七牛云 CDN 远程拉取,支持不发版新增图片
- 删除本地 public/bg/ 图片副本,减小包体积
- 封面制作:'换一组'按钮移至标签右侧、优化按钮样式、删除冗余提示
- 封面制作/视频合成右侧预览区分别添加'封面预览'/'视频预览'标题
- 素材匹配服务支持远程 fetch materials.json + reload API
2026-04-30 15:32:10 +08:00
小鱼开发 e9dbf4f5fc refactor: 视频生成流程重构 - concat拼接替代全局音频替换
- 新增 generate_empty_shot_clip 原子命令:截取视频→截取音频→替换音频→自动清理临时文件
- 新增 concat_video_clips 命令:直接拼接已标准化片段,零重新编码
- VideoGeneration 改为先生成各分镜标准化片段,再 concat 拼接,不再使用 replace_audio_track
- segment 对口型视频保留自带同步音频,empty_shot 注入对应配音音频
- 删除未使用的单分镜重新生成功能(handleRegenerateShot、useVideoGeneration hook)
- ScriptShot 新增 clipVideoPath 字段
2026-04-30 00:23:11 +08:00
小鱼开发 773065536c refactor: 统一项目命名为 meijiaka-zy / 美家卡智影
- 中文产品名统一为 美家卡智影
- 代码目录/容器名/数据卷: meijiaka-zy
- 本地存储路径: Meijiaka-zy
- 数据库名: meijiaka_zy
- 七牛云资源前缀: meijiaka-zy
- 部署脚本指向新仓库 meijiaka-zy.git
2026-04-26 23:02:05 +08:00
小鱼开发 bc724810a6 feat: 视频创作流程全链路优化
- 后端: Vidu Provider、System API、Upload API、素材服务更新
- 前端: 字幕压制、视频生成、配音、本地存储、类型定义优化
- Rust: FFmpeg 命令、视频合成、语音命令、库注册更新
- Store: 项目状态、语音状态管理优化
- 新增: 对口型替换文档、健康检查器、字幕 API 模块、音频对齐工具
- 删除: 废弃的 polish 提示词模板
2026-04-26 21:24:42 +08:00
小鱼开发 7640dc23ba feat: 区分 SSE 阶段文案 + 前端请求去重锁
- script_service: start文案"准备生成...", generating文案"正在创作脚本..."
- ScriptCreation: 添加 requestLock ref,防止网络延迟期间快速点击发起多个请求
- 锁在请求开始时设置,完成后释放,与 generating 状态互补
2026-04-26 21:17:27 +08:00
小鱼开发 e924193ead refactor: 简化脚本生成 SSE 事件流,移除 analyzing 阶段
- script_service: 删除一闪而过的 analyzing 事件,4阶段→3阶段
- start 和 generating 文案统一为"正在创作脚本..."
- 同步更新前后端类型定义和 API 文档
2026-04-26 21:07:54 +08:00
小鱼开发 43609de2f1 chore: 移除脚本生成流程的临时性能日志
- script_service: 删除流式生成各阶段的 info/debug 日志
- model_router: 删除首 chunk 延迟、provider 信息日志
- volcengine_provider: 删除 SDK request、首 chunk 耗时、流结束统计日志
- 保留: 初始化日志、降级/错误日志、API 层异常日志
- 为后续统一结构化日志规划做准备
2026-04-26 20:59:52 +08:00
小鱼开发 7c23cb3afb feat: 启用 JSON Mode 约束脚本生成输出
- script_service: 调用 model_router 时传入 response_format="json_object"
- volcengine_provider: generate 和 generate_stream_with_progress 支持 response_format 参数
- 强制模型输出合法 JSON,减少 Markdown 代码块包裹和说明文字导致的解析失败
2026-04-26 20:41:05 +08:00
小鱼开发 d0057ecc2c feat: 脚本生成流式优化 - Ark SDK 迁移至 httpx SSE + reasoning_effort 关闭思考过程
- volcengine_provider: Ark SDK 同步迭代器 → AsyncOpenAI → httpx 原始 SSE
  - generate_stream_with_progress 使用 httpx 直接请求,消除 80s+ 缓冲
  - 新增 generate_stream (AsyncOpenAI) 作为备用方案
  - enable_thinking 替换为 reasoning_effort,支持思考程度控制
- ai_models.yaml: 默认 LLM 改为 doubao-seed-2-0-pro,添加 reasoning_effort: minimal
- model_router: 透传 reasoning_effort 参数
- script_service: 4 阶段 SSE 精简 (start→analyzing→generating→complete)
- script.py: SSE 直连端点 /script/generate/stream
- 前端 ScriptCreation: 直连 SSE 端点,弃用调度器轮询模式
2026-04-26 20:17:12 +08:00
小鱼开发 e15bdaf996 fix: 素材匹配、Step流程、UI优化
- 修复 duration 解析 bug (parseInt→parseFloat),解决素材'换一个'候选池过小
- 素材匹配策略:候选池=满足时长+最近5个,严格模式排除已用素材
- Step2 下一步按钮绑定 dubbingAudioUrl 生成状态
- 修复 VoiceDubbing 生成后未同步 projectStore
- 修复 _meta.json JSON 格式错误导致分类列表空白
- Step3/Step4 视频预览区添加标题
- 压制字幕按钮固定在底部
- 选项卡按钮高度微调
2026-04-24 15:46:06 +08:00
小鱼开发 285257905e feat: 视频生成页面改造、字幕冻结修复及多项前端优化
- 修复字幕切换模板后冻结的 bug:ASS.js 新实例在视频播放中创建时收不到
  play/playing 事件,RAF 循环不会启动。创建实例后手动触发 play 事件。
- VideoGeneration 页面 overhaul:卡片点击预览、左右箭头导航、换一个素材、
  动态按钮文案和占位提示。
- 修复私有音色素材预览播放 trialUrl 的问题,改为播放 sourceUrl。
- 放宽空镜素材匹配逻辑:优先满足时长,fallback 到最近时长并随机选择。
- 隐藏脚本生成页面的时长滑块。
- 修复登录页和侧边栏标题渐变 WebKit 兼容问题。
- 清理旧计划文档、测试文件和临时脚本。
- 更新 Makefile、prompts、materials.json 等配置。
2026-04-23 23:17:10 +08:00
小鱼开发 26db375a84 fix: finalVideoPath 语义修正、标签删除、字幕提示、七牛云超时
- VideoGeneration: Step 3 不再写入 finalVideoPath(半成品不应占用最终字段)
- VideoComposite: 修正 finalVideoPath 保存时机,保存 products 目录路径而非临时路径
- CoverDesign: 删除标签列表输入和渲染逻辑
- useCoverFabric: 删除 renderTagList、未使用的 Circle 导入
- SubtitleBurning: 未打轴时预览区显示遮罩提示
- qiniu_service: 全局超时 30s → 120s,修复 logger 未定义
2026-04-23 10:18:56 +08:00
小鱼开发 9b8d24b435 feat: 视频生成流程重构 - 本地拼接 + Vidu 对口型 + 空镜去重
- 后端: 空镜匹配支持 exclude_urls 去重
- 后端: materials.json 关键词映射扩充
- Rust: compose_video 参数平铺化修复 IPC 调用
- Rust: concat_videos_copy 去除音频
- Rust: 上传接口 API 地址改为 8081
- Rust: clip_video 放宽输入路径校验
- 前端: VideoGeneration 人物素材本地选择 + 保存恢复
- 前端: 空镜自动匹配 + 串行去重
- 前端: 对口型任务提交 + 字段重命名
- 前端: 分镜卡片去除点击/选中/hover 交互
- 前端: 视频预览改为成品视频
- Makefile: Docker 命令适配共享基础设施
2026-04-22 23:08:07 +08:00
小鱼开发 4e06f4abe2 feat: 空镜素材配置后端化,视频生成流程重构
- 后端: 空镜素材迁移到 config/materials.json,duration从文件名_{N}s_自动解析
- 后端: 新增 POST /api/v1/materials/match 接口,后端做关键词匹配
- 前端: VideoGeneration 空镜匹配改为调用后端接口
- 前端: 人物出镜素材改为本地文件选择器直接选取,不走素材库
- 前端: 视频生成流程简化,移除Vidu对口型和七牛云上传
- Rust: 视频合成支持从随机起始时间截取人物素材片段
- Rust: 修复ffprobe参数错误(添加-show_entries format=duration)
2026-04-22 18:49:20 +08:00
小鱼开发 13c5c18dcc feat: 脚本生成提示词改为大类-小类-随机加载体系 2026-04-22 11:01:45 +08:00
小鱼开发 67e73b5a51 feat: 素材库重构、七牛上传修复、配音页面优化、MiniMax后端接入
- 素材库: VoiceMaterialLibrary 支持音频/视频分类、Modal弹窗、进度弹窗
- 列表布局: 紧凑单行、灰色图标按钮、重命名功能、删除ConfirmModal
- 生成配音: toast替换为ProgressModal
- 私有音色显示: 描述改为createdAt日期
- 七牛上传: 修复upload_stream参数、修正put_stream参数名
- MiniMax后端: 新增Provider+Service,TTS/克隆/音色列表切到MiniMax
- 前端默认音色: tianxin_xiaoling
- Rust: 新增voice命令、本地音频存储、配音生成功能
- 新增shot统计组件、脚本编辑器优化
2026-04-21 23:27:08 +08:00
小鱼开发 189fdf5ed6 feat: 接入 Vidu TTS/复刻/对口型,替换 MiniMax 语音能力
- 新增 ViduProvider: TTS同步、声音复刻、对口型、任务查询
- 新增 ViduTTSService: 业务封装,6个精选中文预设音色
- Voice API 路由全面切换至 Vidu
- 新增 /voice/lip-sync 对口型异步接口
- 前端适配: 16个音色→6个、slider范围更新、音量默认0
- 添加 vidu-tts-api.md 开发文档
- docker-compose 新增 VIDU_API_KEY 环境变量映射
2026-04-21 23:26:24 +08:00