imeepos
|
6ae8cb34a2
|
feat: 完善ComfyUI V2工作流管理功能
新增功能:
- 实现工作流更新功能 (comfyui_v2_update_workflow)
- 添加批量删除工作流功能 (comfyui_v2_batch_delete_workflows)
- 完善工作流搜索功能 (comfyui_v2_search_workflows)
- 实现按分类获取工作流 (comfyui_v2_get_workflows_by_category)
- 添加工作流导入导出功能 (comfyui_v2_export/import_workflows)
前端优化:
- WorkflowManager组件添加批量操作界面
- 新增导入导出按钮和功能
- 添加全选/取消全选功能
- 优化用户交互体验
技术改进:
- 集成ComfyUI SDK进行工作流执行
- 完善数据验证和错误处理
- 修复所有编译错误,通过cargo check
- 遵循tauri-desktop-app-expert开发规范
数据库:
- 添加按分类获取工作流的仓库方法
- 完善工作流搜索逻辑
- 优化数据库查询性能
测试:
- 清理无效测试文件
- 确保代码质量和类型安全
|
2025-08-10 20:30:16 +08:00 |
imeepos
|
6e59210871
|
fix: comfy ui sdk bug
|
2025-08-08 20:08:41 +08:00 |
imeepos
|
d9e4cd3d3b
|
Merge branch 'master' of gitee.com:meepo_vip/mixvideo
|
2025-08-08 19:29:20 +08:00 |
imeepos
|
dd0584a49e
|
fix: cargo check --lib error
|
2025-08-08 19:29:08 +08:00 |
杨明明
|
dd37c211b6
|
完成ComfyUI连接系统重构和测试
- 修复编译错误,添加缺失的WorkflowType导入
- 创建ComfyUI配置测试模块,验证功能正确性
- 确保所有代码能够正常编译和运行
- 完成ComfyUI V2连接功能的完整重构:
* 统一数据库和migration系统
* 实现配置持久化和应用初始化
* 修复配置刷新页面失效问题
* 使用连接池提高性能
* 提供完整的配置管理API
所有任务已完成,ComfyUI连接系统现在使用统一的架构和持久化配置。
|
2025-08-08 19:04:55 +08:00 |
杨明明
|
7039ebd2ae
|
实现ComfyUI配置持久化和应用初始化
- 创建ComfyUI V2配置命令模块(comfyui_v2_config_commands.rs)
- 实现配置的获取、更新、验证、重置和连接测试功能
- 在ServiceManager和ComfyUIRepository中添加配置管理方法
- 修复ComfyUI SDK客户端配置结构的使用
- 在应用启动时异步初始化配置管理器和ComfyUI管理器
- 确保配置能够正确保存到数据库并在应用重启后加载
- 移除旧的重复配置命令,使用新的统一配置系统
|
2025-08-08 19:00:36 +08:00 |
杨明明
|
ba121dfb3b
|
feat: 统一数据库和migration系统
|
2025-08-08 18:37:02 +08:00 |
杨明明
|
b543935a9f
|
feat: 统一数据库和migration系统
|
2025-08-08 18:35:59 +08:00 |
imeepos
|
45041a838b
|
fix: remove warning
|
2025-08-08 17:42:19 +08:00 |
imeepos
|
6b7aeb584d
|
fix: cargo check --lib error
|
2025-08-08 17:31:03 +08:00 |
imeepos
|
9cfe043a9f
|
fix: cargo check --lib error
|
2025-08-08 16:49:24 +08:00 |
imeepos
|
04ba451762
|
fix: cargo check --lib error
|
2025-08-08 16:40:07 +08:00 |
杨明明
|
60221bd457
|
fix: cargo check --lib error
|
2025-08-08 16:35:41 +08:00 |
杨明明
|
13e7d640e3
|
fix: cargo check --lib error
|
2025-08-08 16:25:01 +08:00 |
imeepos
|
e874d281e0
|
fix: cargo check --lib error
|
2025-08-08 16:07:52 +08:00 |
imeepos
|
589808d15a
|
fix: cargo check --lib error
|
2025-08-08 16:01:08 +08:00 |
imeepos
|
1a6d72c113
|
fix: cargo check --lib error
|
2025-08-08 15:57:46 +08:00 |
杨明明
|
0142a92f31
|
feat: 核心业务逻辑实现
|
2025-08-08 15:52:37 +08:00 |
imeepos
|
6cc4e21044
|
fix: cargo check --lib error
|
2025-08-08 15:39:25 +08:00 |
imeepos
|
450cf14fda
|
fix: 修复 cargo check --lib 编译错误
主要修复内容:
- 修复重复定义的 comfyui_v2_get_queue_status 函数,重命名为 comfyui_v2_get_queue_basic_status
- 修复 ValidationError 类型引用,统一使用 SDKValidationError
- 修复 ComfyUIConfig 和 ComfyuiConfig 类型不匹配,添加转换方法
- 修复 SDKValidationError::new 参数数量错误
- 修复时间戳转换的类型注解问题
- 修复 ErrorHandleResult 中的 Clone trait 问题
- 临时禁用 realtime_monitor.rs 中不存在的事件处理函数
- 修复 MonitorStatsV2 不存在的问题,使用 MonitorStats
- 修复 ComfyUIService 创建和 ComfyUIClient 克隆问题
- 修复同步方法错误使用 .await 的问题
- 修复 WorkflowTemplate::new 参数数量问题
- 修复各种类型不匹配和方法不存在的问题
这些修复解决了大部分编译错误,使项目能够通过 cargo check --lib 检查。
|
2025-08-08 15:34:31 +08:00 |
imeepos
|
d85bde176b
|
fix: cargo check --lib error
|
2025-08-08 15:26:50 +08:00 |
杨明明
|
d66b8dd9f8
|
feat: 实时通信与高级功能
|
2025-08-08 15:14:14 +08:00 |
杨明明
|
6e1e825369
|
Merge branch 'feature/comfyui-sdk-rewrite' of gitee.com:meepo_vip/mixvideo into feature/comfyui-sdk-rewrite
|
2025-08-08 15:10:40 +08:00 |
杨明明
|
e1a8cd4d9d
|
feat: 实时通信与高级功能
|
2025-08-08 15:10:06 +08:00 |
imeepos
|
094b73fffd
|
fix: cargo check --lib error
|
2025-08-08 15:09:25 +08:00 |
imeepos
|
eb81f106dd
|
fix: 添加Serde序列化支持以修复Tauri IPC错误
- 为 comfyui_sdk::ValidationResult 和 ValidationError 添加序列化支持
- 为 ConfigStats 和 Environment 类型添加序列化支持
- 为 ExecutionStats、MonitorStats、CacheStats 添加序列化支持
- 修复 Tauri 命令返回类型不满足 IpcResponse trait 的问题
|
2025-08-08 15:02:41 +08:00 |
杨明明
|
8223061aea
|
feat: 命令曾重写
|
2025-08-08 14:52:40 +08:00 |
杨明明
|
b7edee7688
|
feat: 基础架构重构
|
2025-08-08 14:38:54 +08:00 |
imeepos
|
96da074bc9
|
feat: comfy ui sdk
|
2025-08-08 14:09:31 +08:00 |
imeepos
|
3c247b2d3b
|
fix: sdk
|
2025-08-08 13:52:49 +08:00 |
imeepos
|
5f6a302dfd
|
feat: add comfyui sdk
|
2025-08-08 13:48:38 +08:00 |
imeepos
|
763b4a975c
|
fix: 修复EnvironmentType枚举编译错误
- 移除了EnvironmentType中未使用的ModalCloud、RunpodCloud和Custom变体
- 更新了相关的Display trait实现
- 修复了workflow_execution_environment_repository中的字符串解析逻辑
- 简化了universal_workflow_service中的match语句,只保留LocalComfyui支持
- 添加了批量处理相关的新文件和组件
|
2025-08-08 13:42:35 +08:00 |
imeepos
|
0899996963
|
fix: bug
|
2025-08-08 13:19:18 +08:00 |
imeepos
|
bcfc9bb291
|
feat: 实现工作流表单字段与ComfyUI节点映射功能
主要功能:
- 实现UI字段与ComfyUI工作流节点的映射配置
- 添加节点映射编辑器组件(NodeMappingEditor)
- 实现工作流执行服务(WorkflowExecutionService)
- 添加工作流执行页面和结果展示组件
- 完善错误处理和用户反馈机制
修复问题:
- 修复滑块/数字输入最小值不能填0的问题
- 修复图片上传组件不可用的问题
- 修复React渲染对象错误(LayerMask问题)
- 添加拖拽上传功能和进度显示
技术改进:
- 支持0-1浮点数范围和步长配置
- 实现完整的文件上传流程(本地路径云端URL)
- 添加类型安全的节点映射配置
- 优化用户界面交互体验
|
2025-08-07 18:33:56 +08:00 |
imeepos
|
4af81a662d
|
fix: 修复编译错误并完善测试基础设施
- 修复所有编译错误,包括类型不匹配、缺失字段、方法签名等问题
- 添加完整的测试基础设施,包括测试工具模块和基本测试用例
- 修复数据库参数传递问题,使用 rusqlite::params_from_iter
- 添加缺失的 search_term 字段到 WorkflowTemplateFilter
- 修复错误处理模块中的模式匹配问题
- 添加缺失的服务方法实现
- 更新 Cargo.toml 添加测试依赖
- 重构测试模块结构,移除旧的测试文件并创建新的基础测试
主要修复内容:
1. 编译错误修复:解决了所有类型不匹配和缺失方法问题
2. 测试基础设施:创建了完整的测试工具和基本测试用例
3. 数据库操作:修复了参数传递和连接池相关问题
4. 错误处理:完善了错误类型匹配和处理逻辑
5. 服务层:添加了缺失的监控和队列服务方法
现在项目可以成功编译,测试基础设施已就绪。
|
2025-08-07 15:55:17 +08:00 |
imeepos
|
337365ae30
|
feat: 多工作流后端实现
|
2025-08-07 15:11:32 +08:00 |
imeepos
|
83768cb8a6
|
fix: 解决多工作流系统编译错误
修复内容:
- 为ExecutionStatus枚举添加Eq和Hash trait,解决HashMap键类型要求
- 修复universal_workflow_service中的错误处理,使用anyhow::anyhow转换String错误
编译状态:
- 所有编译错误已解决
- 仅剩余一些未使用变量的警告(不影响功能)
- 多工作流系统核心功能编译通过
系统状态:
- 数据库迁移脚本就绪
- Rust后端服务完整
- React前端组件完整
- 系统可以正常启动和运行
|
2025-08-07 12:51:45 +08:00 |
imeepos
|
e321358a12
|
feat: 实现MixVideo多工作流系统
核心功能
- 从单一穿搭生成升级为通用AI工作流平台
- 支持多种AI任务类型:穿搭生成、背景替换、人像美化等
- 智能表单自动生成,根据工作流配置动态创建UI
- 统一的工作流执行引擎,支持本地ComfyUI和云端服务
数据库架构
- workflow_templates: 工作流模板表,支持版本管理
- workflow_execution_records: 执行记录表,完整追踪历史
- workflow_execution_environments: 执行环境表,管理AI服务器
- 自动迁移现有穿搭数据,保证向后兼容
后端重构
- 新增Rust数据模型:WorkflowTemplate, ExecutionRecord, ExecutionEnvironment
- 实现UniversalWorkflowService通用执行服务
- 完整的Tauri命令API接口
- 支持实时进度追踪和状态管理
前端智能化
- WorkflowFormGenerator: 智能表单生成器
- WorkflowList: 工作流管理界面
- WorkflowExecutionModal: 执行进度和结果展示
- WorkflowPage: 统一的用户体验界面
技术特性
- 配置驱动的UI生成
- 环境抽象和负载均衡
- 完整的执行状态追踪
- 类型安全的Rust+TypeScript架构
- 向后兼容现有功能
新增文件
Backend:
- universal_workflow_service.rs
- workflow_template.rs, workflow_execution_record.rs, workflow_execution_environment.rs
- workflow_commands.rs
- 4个数据库迁移脚本
Frontend:
- WorkflowFormGenerator.tsx, WorkflowList.tsx, WorkflowExecutionModal.tsx
- WorkflowPage.tsx
Documentation:
- .promptx/update_v01.md (升级方案)
- MULTI_WORKFLOW_SYSTEM_IMPLEMENTATION.md (实施总结)
影响
这次升级实现了从'穿搭生成专用系统'到'万能AI生成平台'的重大架构升级,
为MixVideo的未来扩展奠定了坚实的技术基础。
|
2025-08-07 11:53:28 +08:00 |
imeepos
|
365e2c4615
|
fix: 修复查询结果 API 响应格式解析问题
问题修复:
- 修复查询结果响应中缺少 task_id 字段导致的解析失败
- 重构数据结构,区分提交任务和查询结果的不同响应格式
- 添加类型守卫确保类型安全的数据访问
- 优化轮询逻辑,正确检测任务完成状态 (status: 'done')
技术改进:
- 分离提交和查询的数据结构:
* RealmanAvatarPictureCreateRoleOmniSubmitData (包含 task_id)
* RealmanAvatarPictureCreateRoleOmniResultData (包含 status, image_urls, resp_data)
- 使用 TypeScript 联合类型和类型守卫确保类型安全
- 更新前端代码使用正确的数据访问路径
- 完善错误处理和状态检测逻辑
现在 OmniHuman 主体识别功能可以正确解析查询结果响应了!
|
2025-08-05 18:55:31 +08:00 |
imeepos
|
1a97d54450
|
feat: 完成 OmniHuman 主体识别完整功能
新增功能:
- 添加 RealmanAvatarPictureCreateRoleOmniGetResult API 查询任务结果
- 实现完整的提交任务 + 轮询查询结果流程
- 智能轮询机制:最多30次,每2秒一次,自动检测任务完成状态
- 完善的进度反馈:上传(10-70%) + 识别(70-80%) + 轮询(80-95%) + 完成(100%)
- 任务ID跟踪和显示,便于用户了解处理状态
技术实现:
- 后端: 新增查询结果方法和 Tauri 命令
- 前端: 实现轮询逻辑和状态管理
- 错误处理: 区分上传失败、识别失败、查询超时等不同场景
- 用户体验: 实时进度显示和详细状态反馈
API 集成:
- 提交任务: RealmanAvatarPictureCreateRoleOmniSubmitTask
- 查询结果: RealmanAvatarPictureCreateRoleOmniGetResult
- 完整流程: 图片上传 任务提交 轮询查询 结果展示
现在用户可以完整体验从图片上传到最终结果的全流程!
|
2025-08-05 18:45:24 +08:00 |
imeepos
|
d58499b564
|
fix: 修复火山云 API 响应格式解析问题
问题修复:
- 修复响应结构不匹配导致的解析失败
- 更新数据结构以匹配火山云 API 的实际响应格式
- 添加调试日志以便排查 API 响应问题
技术改进:
- 重构响应数据结构,支持火山云嵌套格式 (ResponseMetadata + Result)
- 更新前端类型定义和数据访问路径
- 添加详细的响应解析错误信息
- 保持向后兼容性
响应格式变更:
- 原格式: { code, message, data, ... }
- 新格式: { ResponseMetadata: {...}, Result: { code, message, data, ... } }
现在 OmniHuman 主体识别功能应该可以正确解析火山云 API 响应了!
|
2025-08-05 18:36:46 +08:00 |
imeepos
|
c196659869
|
feat: 添加 OmniHuman 主体识别功能
新增功能:
- ✅ 在 VolcanoVideoService 中添加 RealmanAvatarPictureCreateRoleOmniSubmitTask API
- 支持识别图片中是否包含人、类人、拟人等主体
- 完整的前后端集成,包括 Rust 后端服务和 TypeScript 前端接口
- 新增 OmniHumanDetectionTool 工具页面,提供直观的用户界面
- 支持图片上传、预览、识别结果展示等完整流程
技术实现:
- 后端: 在 VolcanoVideoService 中实现火山云 API 调用
- 前端: 新增专用工具页面,集成到工具列表和路由系统
- 类型定义: 完整的 TypeScript 类型支持
- 错误处理: 完善的错误处理和用户反馈机制
API 规格:
- Action: RealmanAvatarPictureCreateRoleOmniSubmitTask
- Version: 2024-06-06
- 请求参数: req_key, image_url
- 响应数据: 包含识别结果、处理后图片、算法返回数据等
|
2025-08-05 18:20:00 +08:00 |
imeepos
|
46c3ea6501
|
feat: 实现 Hedra 口型合成异步化改造
- 将 Hedra 口型合成任务改为异步处理模式
- 添加完整的数据模型和仓储层支持
- 实现后台任务轮询和实时进度通知
- 创建 HedraLipSyncRecords 页面显示任务列表
- 将原有功能封装为 Modal 组件
- 支持多任务并发处理和状态跟踪
- 添加事件驱动的前端状态更新机制
主要变更:
- 新增 HedraLipSyncRecord 数据模型
- 新增 HedraLipSyncRepository 仓储层
- 新增 HedraLipSyncModal 组件
- 新增 HedraLipSyncRecords 页面
- 修改 bowong_text_video_agent_commands 支持异步处理
- 添加事件总线支持 Hedra 任务进度通知
- 更新路由配置和工具列表
|
2025-08-01 18:40:54 +08:00 |
imeepos
|
548148e56a
|
重构ComfyUI集成架构:明确区分云端Modal和本地ComfyUI两种生成模式
- 函数重命名以提高可读性:
- execute_comfyui_generation execute_modal_cloud_generation
- perform_outfit_image_generation perform_local_comfyui_generation
- 更新生成类型标识:
- 云端Modal模式:generation_type = 'modal_cloud'
- 本地ComfyUI模式:generation_type = 'local_comfyui'
- 前端UI优化:
- 将切换开关改为单选按钮组样式
- 更新描述文本,明确两种模式的区别
- Gallery中显示单选按钮样式的生成类型标签
- 架构清晰化:
- 云端Modal模式:使用云端MidJourney API
- 本地ComfyUI模式:使用用户配置的本地ComfyUI服务
- 完全分离两种生成逻辑,避免混淆
- 修复类型推断错误,确保编译通过
|
2025-07-31 19:54:34 +08:00 |
imeepos
|
676effdab4
|
fix: 修复数据库迁移问题
- 将表创建和索引创建逻辑从仓储初始化方法移到迁移系统
- 移除 outfit_image_repository.rs 中的 init_tables 表创建逻辑
- 确保所有数据库结构变更通过迁移系统统一管理
- 修复 comfyui_prompt_id 索引创建时机问题
这样可以避免在旧数据库上创建索引时找不到字段的错误。
|
2025-07-31 15:31:17 +08:00 |
imeepos
|
4b20f69560
|
fix: 修复批量任务状态更新错乱问题
- 添加 comfyui_prompt_id 字段到 OutfitImageRecord 和 OutfitPhotoGeneration 模型
- 创建数据库迁移添加 prompt_id 字段和索引
- 修改 ComfyUI 服务添加基于 prompt_id 的工作流执行方法
- 更新仓储层添加根据 prompt_id 查找记录的方法
- 修改任务执行逻辑保存 ComfyUI prompt_id 到数据库
- 创建基于 prompt_id 的进度回调函数替代基于索引的回调
- 修改批量处理逻辑使用精确的 ID 匹配而非数组索引
- 标记旧的基于索引的批量方法为已弃用
解决了当选择2个商品1个模特时,任务完成后更新错误任务状态的问题。
现在通过 ComfyUI 的 prompt_id 建立精确的任务映射关系。
|
2025-07-31 15:24:48 +08:00 |
imeepos
|
b158546738
|
refactor: 移除ComfyUI JSON替换中的image字段处理
优化内容:
- 移除模特图片和商品图片节点中image字段的替换逻辑
- 移除不必要的filename提取逻辑
- 简化替换流程,只处理image_url字段
技术改进:
- 减少不必要的字段替换操作
- 避免image和image_url字段的潜在冲突
- 简化工作流节点替换逻辑
影响范围:
- ComfyUI工作流JSON替换更加精准
- 调试文件生成更加简洁
- 减少潜在的字段冲突问题
|
2025-07-31 14:22:50 +08:00 |
imeepos
|
7b4a9fb7c9
|
fix: 修复ComfyUI JSON替换中image字段的值类型问题
问题修复:
- image字段的值从字符串字面量改为Value::String类型
- 确保image和image_url字段二选一的逻辑正确
技术细节:
- 模特图片替换: image字段设置为空字符串,使用image_url
- 商品图片替换: image字段设置为空字符串,使用image_url
- 修复了Value类型不匹配的编译错误
影响范围:
- ComfyUI工作流JSON替换逻辑
- 调试文件生成的正确性
- 图片节点参数的正确传递
|
2025-07-31 14:21:13 +08:00 |
imeepos
|
6c43e6f08b
|
feat: 实现视频生成完成后自动下载并上传到云端服务
新增功能:
1. 视频生成完成后自动下载到本地临时文件
2. 自动上传到云端S3服务
3. 将S3 URL转换为CDN HTTPS地址
4. 支持防盗链绕过的视频下载
5. 完善的错误处理和fallback机制
技术实现:
- download_and_upload_video(): 主要流程控制
- download_video_to_file(): 下载视频到本地临时文件
- 使用CloudUploadService上传到S3
- convert_s3_to_cdn_url(): S3到CDN URL转换
- 临时文件自动清理机制
用户体验:
- 视频生成完成后自动获得可访问的CDN链接
- 无需手动下载和上传操作
- 支持原始URL作为fallback保证可用性
- 详细的日志记录便于问题排查
安全特性:
- 防盗链绕过HTTP头设置
- 临时文件安全清理
- 错误情况下的资源释放
- 超时控制防止长时间阻塞
|
2025-07-31 14:03:51 +08:00 |
imeepos
|
1a504fa4b0
|
fix: 修复任务状态同步问题 - 连续失败时标记任务为失败
问题修复:
- API查询失败时只打印警告,没有更新数据库状态
- 前端显示运行中,但后端日志显示连续失败
- 任务会一直轮询直到超时,用户体验差
技术实现:
- 添加连续失败计数器 (consecutive_failures)
- 连续失败3次后自动标记任务为失败状态
- 立即更新数据库记录,前端能及时看到失败状态
- 避免无意义的长时间轮询
修复逻辑:
- 成功时重置失败计数器
- 失败时增加计数器
- 达到上限时标记为失败并退出轮询
- 错误类型: API_CONSECUTIVE_FAILURES
用户体验改进:
- 快速反馈任务失败状态(30秒内)
- 避免长时间显示运行中的假象
- 明确的失败原因和错误代码
|
2025-07-31 13:17:55 +08:00 |