小鱼开发
53371aabcd
feat(image): 封面形象抠图增加积分消耗(每次 10 积分)
...
- config/points-config.yaml: 添加 cover_avatar: 10 固定积分
- point_service.py: _CATEGORY_MAP 添加 cover_avatar → 封面形象
- image.py: remove_background 接口前置余额检查 + 后置扣费
- CoverAvatarLibrary.tsx: 上传弹窗显示积分提示,余额不足友好提示
2026-05-23 10:59:47 +08:00
小鱼开发
1a0679049e
refactor(profile): restore recent transactions table
...
Replace menu list (使用明细 + 设置) with recent transactions table:
- Add back recentTx state and loading state
- Fetch last 5 transactions in loadData
- Display table with type/amount/description/time columns
- Add '查看全部' link to usage-detail page
- Remove unused icon components (FileTextIcon, SettingsIcon, ChevronRightIcon)
2026-05-22 15:02:11 +08:00
小鱼开发
aebc9f6bcc
refactor: Phase 1 Profile/Settings UX refactoring
...
- Sidebar: Remove '系统设置' from navItems, add balance badge + user dropdown
menu in footer (我的账户/使用明细/系统设置/关于我们/退出登录)
- Profile: Remove inline recent transactions table (UsageDetail page exists),
simplify to info + points + menu entries. Add inline pricing modal.
- GenerationControls: Show current balance alongside point cost in button text
- Points config: Adjust subtitle_burn/cover_design to 5 pts, recharge validity
2026-05-22 10:50:48 +08:00
小鱼开发
65d2be7700
feat(points): 修正充值档位价格与积分
...
- 100元 = 2000积分,无标签,180天有效
- 500元(热销)= 11000积分,180天有效
- 1000元(推荐)= 23000积分,365天有效
- 5000元(超值)= 125000积分,永久有效
- 1积分 = 0.05元
2026-05-18 16:36:45 +08:00
小鱼开发
ffffb51da4
feat(points): 调整充值档位为4档
...
- 1元档:100积分,无标签,180天有效
- 5元档(热销):1000积分,180天有效
- 10元档(推荐):3000积分,365天有效
- 50元档(超值):25000积分,永久有效
2026-05-18 16:00:58 +08:00
小鱼开发
74fd855d33
feat(points): 充值档位添加积分有效期字段
...
- config/points-config.yaml: 每个档位添加 validity_days(7/30/90/180/365/0)
- points.py: 支付回调和主动查询补单时根据档位配置设置 batch_expired_at
- RechargeModal: 卡片展示有效期(永久有效 / N 天内有效)
2026-05-18 15:26:54 +08:00
小鱼开发
d67bd9c067
chore: 删除废弃的 materials.json
2026-05-15 11:59:58 +08:00
小鱼开发
7550559aa0
refactor: 清理未使用IPC命令、修正point_service注释与扣费逻辑、修复camelToSnake正则、优化vidu import
...
- 删除8个未使用IPC命令,保留validate_media_path
- file.rs返回类型优化为ApiResponse<()>
- point_service.consume()注释与签名一致
- VideoGeneration改为拼接成功后扣费
- 添加漏扣费风险注释
- 删除过时测试文件
- 修复camelToSnake连续大写字母问题
- vidu.py import移至模块顶层
Refs: P1-1~P1-6 技术债务清理
2026-05-14 17:45:28 +08:00
小鱼开发
edc782b15b
fix(points): 积分明细首次加载、自定义Select、名词口径统一
...
- 修复首次进入积分明细无数据(日期就绪后才触发查询)
- 新增 CustomSelect 组件替换原生 select,绿色主题
- 下拉选项根据后端配置动态过滤(只展示有扣费的业务)
- 后端新增 /points/chargeable-types 接口
- 统一名词口径:消耗→消费、声音克隆→复刻、封面制作→设计、润色→文案润色
- 后端接口支持 source_type 查询参数(修复类型筛选不生效)
2026-05-10 07:39:08 +08:00
小鱼开发
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
小鱼开发
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
小鱼开发
755ecc9abe
refactor(config): 统一配置体系,禁用热重载,清理兼容层
...
- 删除 .gitlab-ci.yml
- 删除 runtime_config.py 兼容层
- Pydantic Settings + YAML 三层配置分离
- 统一 PlatformConfigLoader 加载器
- docker-compose 移除重复 environment 覆盖
- volcengine base_url 从 YAML 读取
- 微信支付/SMS 空值启动时拦截
- 日志仅输出控制台,不写文件
- 更新 model_router 注释
2026-05-07 18:42:47 +08:00
小鱼开发
c98cb72598
chore: 更新火山字幕 QPS 配额 2 -> 5(以控制台为准)
2026-05-05 12:01:30 +08:00
小鱼开发
6c1aef276b
refactor: 删除所有流式生成代码
...
项目已明确不做 SSE/流式输出,清理后端所有流式相关代码:
- 删除 Provider 层 generate_stream、generate_stream_with_progress
- 删除 ModelRouter 层 _try_generate_stream、generate_stream_with_progress
- 删除 LLMGateway chat_stream
- 删除 Adapter 层 CHAT_STREAM 常量/分支
- 删除 platform-config.yaml chat_stream 方法配置
- 同步清理 base.py 抽象接口和未使用的导入
2026-05-04 20:27:19 +08:00
小鱼开发
015dfade11
chore: 删除 doubao-seed-2-0-pro 无效的 temperature 配置
...
doubao-seed-2-0-pro 强制固定 temperature=1、top_p=0.95,
API 请求中传入的值会被系统忽略。删除避免配置误导。
2026-05-04 20:11:14 +08:00
小鱼开发
431c54c258
refactor: 前端脚本生成改为异步任务轮询,精简LLM模型,删除图片生成代码
...
- 前端:ScriptCreation SSE 流式改为 createTask + pollTask 轮询
- 后端:LLM 仅保留 doubao-seed-2-0-pro,删除降级链及相关模型
- 后端:删除所有图片生成代码(ImageParams/ImageTaskParams/generate_image)
- 更新 platform-config.yaml、model_router、volcengine_provider、tasks 等
2026-05-04 19:58:32 +08:00
小鱼开发
7a858caa01
chore: 删除 MockProvider 及相关 mock 代码
2026-05-04 18:58:40 +08:00
小鱼开发
d466539928
fix: 补全 task_defaults 配置,避免脚本生成误走 MockProvider
2026-05-04 18:56:06 +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
小鱼开发
1c31e8126b
fix: 合并 materials.json 中重复的 tiling key
...
JSON 对象中 tiling key 出现两次,后者覆盖前者导致 8 个素材丢失。
合并后共 33 个 tiling 素材,无重复 URL。
2026-04-30 15:44:03 +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
小鱼开发
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
小鱼开发
ee3d4c4658
feat: Vidu 对口型传 refPhotoUrl + 项目切换数据隔离 + 成品去重存储
...
- 提交 Vidu 对口型任务时,动态截取人物素材首帧上传七牛云,作为 refPhotoUrl
- 新增 Rust IPC upload_image_file、get_product_save_path
- 修复 extract_first_frame 对输入路径的安全校验过严问题(用户素材可能在任意目录)
- 修复新建/切换项目时 store 残留旧数据的问题:createNewProject 和 loadMeta 显式清空所有业务字段
- Step 6 最终合成直接输出到 products 目录,去掉二次复制
- 新增 VideoComposite 前置条件提示(缺少 coverPath/burnedVideoPath 时显示具体原因)
- 更新 materials.json 关键词映射
2026-04-24 12:56:46 +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
小鱼开发
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
小鱼开发
74983ce5ec
feat: init meijiaka-zj project from ai-meijiaka template
2026-04-20 16:39:57 +08:00