小鱼开发
ca4a0b1303
feat: 用户数据隔离、动态分辨率、字幕缩放、多项体验优化
...
- 用户数据隔离:所有用户数据按 users/{user_id}/ 隔离,Rust IPC 命令自治读取 auth.json
- 安全加固:delete_local_product/rename_local_product/export_product 增加前缀校验
- 移除音调(pitch)功能:从 VoiceSynthesis、projectStore、types 等完全移除
- 动态视频分辨率:根据素材最小高度自动选择 720p/1080p,9:16 比例强校验
- ASS 字幕按目标分辨率等比例缩放(720p 和 1080p 视觉一致)
- Canvas 预览支持参数化 playResY,预览与压制效果一致
- 配音合成增加台词字数校验弹窗(语速>1.0时要求更多字)
- BGM 默认音量从 25% 调至 15%
- 素材选择提示文案更新(9:16 比例,5-60秒)
- 视频校验从严格 1080x1920 改为 9:16 比例判断
- 背景图片弹窗宽度从 440px 放大到 560px
2026-06-04 17:30:54 +08:00
小鱼开发
2b35a9ced0
feat: 封面人物形象 + 素材匹配优化 + Windows 预览修复
...
- 新增 cover_avatar 积分类型和弹窗支持
- Modal 组件支持 maxHeight 属性
- 素材匹配增加 loading 状态(匹配中...)
- 修复 Windows 视频预览:统一 handlePreview、preload=metadata、修复 Rust UNC 路径
- 修复进度条倒退问题
- 更新运营脚本
- 新增 Windows 11 开发环境搭建文档
2026-05-26 15:40:21 +08:00
小鱼开发
8cddaec70e
chore(release): 优化发布脚本并统一表名
...
- publish_release.py: 自动加载.env,macOS Universal拆分为x86_64+aarch64,七牛云目录按平台区分
- 重命名表 mjk_release_packages -> mjk_app_release_packages,同步约束名
- 更新相关文档
2026-05-26 10:13:52 +08:00
小鱼开发
915339d42a
release: bump version to 1.6.1
...
Frontend fixes:
- fix(VideoCompose): clear step dirty flag after compose success
- refactor(MyWorks): play product videos directly without transcode cache
- feat(CoverDesign): swap main/subtitle positions in cover preview
- fix(SubtitleBurning): charge points after burn success instead of before
- fix(VoiceSynthesis/VideoGeneration/SubtitleBurning/CoverDesign): mark downstream steps dirty on re-generation
- fix(MyWorks): bind video event listeners after async videoUrl load
- fix(CoverDesign): revoke Blob URLs on upload/unmount to prevent memory leak
2026-05-25 22:35:35 +08:00
小鱼开发
06ec0ee202
feat: BGM 云端化 + 步骤页面 UI 统一重构
...
后端:
- 新增 BGM 数据库模型、Schema、CRUD、API 路由
- BgmMusic 增加 url 字段存储七牛云地址
- Alembic 迁移: 创建 BGM 表 + 添加 url 字段
- import_bgm.py 导入时自动上传七牛云 (meijiaka-zy/bgm/...)
前端:
- VideoCompose BGM 选择改为卡片弹窗 (系统BGM + 本地上传)
- 去掉 BGM 硬编码本地路径, 直接使用云端 URL
- CoverDesign 视觉重构: 绿色边框卡片、角标、hover 遮罩
- CoverDesign 去掉预选背景, 默认空白需手动选择
- 所有步骤按钮规范统一: 左=重新生成(主色), 右=导出/预览(次色)
- 预览按钮状态统一: 文字变为'视频预览中...', 保持 btn-secondary
- 去掉所有步骤按钮的 svg/emoji 图标
Rust:
- mix_bgm_to_video 支持临时文件保护 (输入输出同路径时自动中转)
- FFmpeg BGM 混合使用 aloop 循环 + amix 滤镜
2026-05-24 15:39:54 +08:00
小鱼开发
1d7a45618a
temp: 启用 Windows DevTools + 清理无用文件 + 修复积分计算
2026-05-20 10:55:43 +08:00
小鱼开发
92359e98f8
docs: update DMG background design spec with app design system
2026-05-19 10:05:12 +08:00
小鱼开发
88f913b511
revert: remove auto-generated DMG background, pending design
2026-05-19 09:50:56 +08:00
小鱼开发
5187bd93ee
chore: add GitHub Actions release workflow, signing docs, ignore sidecar binaries
2026-05-18 16:09:47 +08:00
小鱼开发
542bc1f070
refactor(alembic): squash all migrations into clean initial_schema
...
- Replace 8 messy migration files (~2000+ lines) with single clean initial_schema (215 lines)
- All table comments defined inline at CREATE TABLE time (no more alter_column spam)
- Final table names used directly (mjk_broll_categories, etc. — no rename chain)
- Includes diagnosis report at docs/alembic-diagnosis-report.md
2026-05-15 17:35:54 +08:00
小鱼开发
d71cfb8449
docs: 新增应用发版操作手册
2026-05-15 17:17:14 +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
小鱼开发
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
小鱼开发
8f55093457
docs: 积分消耗完善方案(统一后置扣费 + 预估上限 + 欠费拦截)
2026-05-09 12:56:34 +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
小鱼开发
08a430ad9d
refactor: type-driven project meta persistence & remove fallback code
...
Frontend:
- Extract ProjectMeta to types/project.ts as single source of truth
- Add utils/projectMeta.ts with buildProjectMeta(), migrateMeta(), BLANK_META_OVERRIDES
- Refactor saveMetaToLocalFile() from 50+ lines to ~10 lines
- Refactor initProjectStore() with BLANK_META_OVERRIDES to prevent field leakage
- Fix createNewProject() reset logic using BLANK_META_OVERRIDES
- Remove all actualDuration/audioStartTime/audioEndTime fallback in VideoGeneration.tsx
- Add strict assertions in computeAssignedIntervals() (missing data throws)
- Remove 4 lines of dead code (commented imports, redundant disabled, dangling JSDoc)
- Pre-fill actualDuration in adaptScriptShots() and ScriptCreation handleFieldChange()
- Fix fs:allow-exists permission scope for external file paths
Backend:
- Fix extract_project_id_from_filename() rsplit bug (always returned None)
- Fix utils.rs path casing ("Projects" -> "projects")
- Add Vidu callback HMAC-SHA256 signature verification with nonce replay protection
- Update docs/vidu-tts-api.md with callback verification chapter
2026-04-30 18:34:22 +08:00
小鱼开发
18f4cbf562
fix: 视频生成流程修复 - 对口型回调、store同步、按钮状态、音频冗余
...
- vidu.py: 修复回调body字段(id vs task_id)和状态判断(success vs succeeded)
- VideoGeneration: 修复composedVideoPath未同步store导致无法预览/下一步
- VideoGeneration: 修复userUploadedMaterials未同步store
- VideoGeneration: 精简恢复逻辑,避免与index重复恢复
- VideoGeneration: 直接用dubbingAudioPath替换音频,避免重新下载
- VideoGeneration: 添加isComposedPreview状态,支持卡片素材预览 vs 完整视频预览
- VideoGeneration: 生成完成后显示重新生成+视频预览双按钮
- VoiceDubbing: 用store dubbingAudioUrl替代本地state,修复按钮状态丢失
- index.tsx: 补全meta.json恢复逻辑,覆盖所有步骤字段
- projectStore.ts: saveMetaToLocalFile补全avatarMaterial和userUploadedMaterials
- docs: 添加视频生成完整数据流文档
2026-04-29 12:19:32 +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
小鱼开发
69c2fe1c1c
chore: 清理仓库废弃代码和临时文件
...
删除文件:
- 根目录: package.json, package-lock.json, .DS_Store
- 后端未使用模块: token_manager_example.py, kling_dto.py, crud/avatar.py
- 未注册路由: ai_models.py, klingai.py, qiniu.py, video.py
- 废弃配置: docker-compose.dev.yml
- 前端未使用页面: AudioMixing.tsx/css, VideoEditing.tsx/css
- 所有 .DS_Store 临时文件
新增: .gitignore(忽略 .DS_Store, node_modules, __pycache__ 等)
清理后减少 ~2700+ 行无效代码
2026-04-26 22:32:12 +08:00
小鱼开发
bc724810a6
feat: 视频创作流程全链路优化
...
- 后端: Vidu Provider、System API、Upload API、素材服务更新
- 前端: 字幕压制、视频生成、配音、本地存储、类型定义优化
- Rust: FFmpeg 命令、视频合成、语音命令、库注册更新
- Store: 项目状态、语音状态管理优化
- 新增: 对口型替换文档、健康检查器、字幕 API 模块、音频对齐工具
- 删除: 废弃的 polish 提示词模板
2026-04-26 21:24:42 +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
小鱼开发
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
小鱼开发
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
小鱼开发
d05b17b61a
init: fork from meijiaka-zy
2026-04-20 17:26:55 +08:00
小鱼开发
74983ce5ec
feat: init meijiaka-zj project from ai-meijiaka template
2026-04-20 16:39:57 +08:00