Commit Graph

58 Commits

Author SHA1 Message Date
root d80464c85f fix 2025-07-11 01:23:41 +08:00
root c973aaa58c fix 2025-07-11 01:22:52 +08:00
root aaf96c5aed fix 2025-07-11 01:09:20 +08:00
root e377ae46ba fix 2025-07-11 01:02:25 +08:00
root 426bfff6cd fix 2025-07-11 00:57:19 +08:00
root a3fa6cbb9c fix 2025-07-11 00:41:16 +08:00
root 010080f61e 素材分类管理 2025-07-11 00:29:09 +08:00
root 197f083e3d fix 2025-07-11 00:11:07 +08:00
root e733f91daa fix 2025-07-11 00:00:12 +08:00
root 07d5463836 fix: 2025-07-10 23:53:26 +08:00
root 562e49f028 fix 2025-07-10 23:44:04 +08:00
root 776a0afba9 fix: 重构 模板管理 2025-07-10 23:18:20 +08:00
root 629b4dd42b fix: 模板片段信息 2025-07-10 23:12:03 +08:00
root 9f6b6630ce fix: 模板重复导入问题 2025-07-10 21:30:10 +08:00
root 6b18e51f26 fix: template manager 2025-07-10 21:21:41 +08:00
root 7edf8b7335 refactor: 移动JSON-RPC模块到公共位置并修复模板导入显示问题
- 将JSON-RPC模块从ai_video移动到utils作为公共模块
- 更新所有相关文件的导入路径
- 重构template_manager.py使用标准JSON-RPC协议
- 修复模板导入成功但前端显示失败的问题
- 添加模板相关的错误码定义
- 改进进度报告使用JSON-RPC通知
- 移除旧的直接JSON输出代码

修复内容:
- python_core/utils/jsonrpc.py: 新增公共JSON-RPC模块
- python_core/services/template_manager.py: 使用JSON-RPC协议
- python_core/ai_video/video_generator.py: 更新导入路径
- python_core/ai_video/api_client.py: 更新导入路径
2025-07-10 21:07:14 +08:00
root a5381e5305 feat: implement Cloudflare KV utility class and React hooks
- Add CloudflareKVClient class with full CRUD operations
- Support for batch operations, metadata, and key listing
- Implement useCloudflareKV hook for React components
- Add useKVValue hook for auto-loading specific keys
- Include comprehensive error handling and loading states
- Create demo component showing all functionality
- Add detailed documentation and usage examples
- Support for JSON parsing and custom configurations
- Based on jm_video_ui.md specifications
2025-07-10 20:51:09 +08:00
root 12ac233a5b fix: import error 2025-07-10 20:18:10 +08:00
root c73aeb58e9 feat: 添加完整的模板管理系统
🎉 新功能:
- 批量导入模板功能,支持文件夹结构解析
- 自动解析 draft_content.json 并提取轨道/素材信息
- 智能素材管理,自动复制到统一资源目录
- 路径转换为相对路径,确保模板可移植性
- 现代化的模板管理界面,支持网格/列表视图
- 搜索和筛选功能
- 模板详情预览和删除功能

🏗️ 技术实现:
- Python: TemplateManager 核心服务类
- Rust/Tauri: 跨平台命令处理和进程管理
- React/TypeScript: 响应式前端界面
- JSON-RPC: 前后端通信协议

📁 文件结构:
- 模板存储在 attachments/templates/{uuid}/ 目录
- 素材统一管理在 resources/ 子目录
- 元数据存储在 templates.json 文件

 已测试功能:
- 批量导入多个模板
- 模板列表显示和搜索
- 模板详情查看
- 模板删除操作
- CLI 命令行接口

这个系统为视频编辑提供了强大的模板管理能力,
支持从外部导入模板并自动处理素材依赖关系。
2025-07-10 20:14:49 +08:00
root 168ad4dafa fix: 修复批量处理中图片文件重复计数问题
- 替换glob模式匹配为直接文件系统遍历
- 避免在大小写不敏感文件系统上的重复匹配
- 添加更好的错误处理和调试日志
- 确保图片计数准确性

修复了Windows系统上同一图片文件被计数两次的问题
2025-07-10 19:47:17 +08:00
root 8f0cbe7995 fix: message 2025-07-10 19:42:00 +08:00
root ad3a608acd fix 2025-07-10 19:40:25 +08:00
root 3728bb007b fix 2025-07-10 19:32:44 +08:00
root 8a1641e7ff fix 2025-07-10 17:41:25 +08:00
root f0cd8f3e9a fix 2025-07-10 17:40:55 +08:00
root 76fe0d4550 fix 2025-07-10 17:39:29 +08:00
root e865e3c68a fix 2025-07-10 17:28:13 +08:00
root 988c9e4333 fix 2025-07-10 17:25:08 +08:00
root 08b2c7080f fix 2025-07-10 17:23:30 +08:00
root 3de6b09fe5 fix 2025-07-10 17:21:53 +08:00
root ed27ecb4a0 fix 2025-07-10 17:20:19 +08:00
root 195f2207d5 fix 2025-07-10 17:19:19 +08:00
root 59ec478665 fix 2025-07-10 17:15:49 +08:00
root 22097ca2b3 fix 2025-07-10 17:10:52 +08:00
root 761f924b55 fix 2025-07-10 15:22:53 +08:00
imeepos d2bcaae157 fix: requirement 2025-07-10 15:20:02 +08:00
root 9ddd0fc0c2 fix: requirement 2025-07-10 15:08:08 +08:00
root 17a8311768 fix: requirement 2025-07-10 15:07:28 +08:00
root 3d49505e65 fix: requirement 2025-07-10 15:05:19 +08:00
root ece222ba4b fix 2025-07-10 15:02:28 +08:00
root 95f7921199 fix: add pydantic_settings to requirements 2025-07-10 14:54:38 +08:00
root a6052a731d fix: pydantic 2025-07-10 14:53:27 +08:00
root 1ff49a3c26 refactor: 统一使用相对导入,规范 Python 包结构
🏗️ **Python 包结构规范化**:

1. **导入方式统一**:
   - 移除所有 sys.path.append() hack 方式
   - 统一使用相对导入 (from ..config import settings)
   - 符合 Python 包管理最佳实践

2. **包结构简化**:
   - 简化 python_core/__init__.py,移除复杂依赖
   - 避免包初始化时的循环导入问题
   - 清理不必要的 try-except 导入逻辑

3. **模块运行方式**:
   - 支持标准的模块运行: python -m python_core.ai_video.video_generator
   - Rust 代码使用 -m 参数调用 Python 模块
   - 相对导入在模块运行时正常工作

4. **涉及文件修改**:
   - python_core/__init__.py: 简化包初始化
   - python_core/ai_video/video_generator.py: 相对导入
   - python_core/ai_video/cloud_storage.py: 移除 fallback 逻辑
   - python_core/ai_video/api_client.py: 统一相对导入
   - python_core/video_processing/core.py: 相对导入
   - python_core/audio_processing/core.py: 相对导入
   - python_core/utils/logger.py: 相对导入
   - python_core/services/*.py: 统一相对导入
   - src-tauri/src/commands/ai_video.rs: 使用模块运行方式

5. **代码质量提升**:
   - 移除重复的 sys.path 操作
   - 清理冗余的 try-except 导入
   - 统一的错误处理方式
   - 更清晰的模块依赖关系

 **改进效果**:
- 符合 Python 最佳实践 ✓
- 代码结构更清晰 ✓
- 易于维护和测试 ✓
- 消除 hack 式路径操作 ✓
- 支持标准模块运行 ✓

现在整个 Python 包结构规范且易于维护!
2025-07-10 14:47:32 +08:00
root 3cd3ac9b71 fix: import error 2025-07-10 14:38:13 +08:00
root fff058bf39 fix: 修复进程终止检测和错误处理
🔧 **进程终止检测和错误处理修复**:

1. **问题分析**:
   - Python 进程在执行过程中被意外终止
   - Rust 代码没有正确处理进程终止情况
   - 前端显示 'unknown error' 而不是具体错误信息

2. **进程状态检测增强**:
   - 添加详细的进程退出码检查
   - 识别常见的进程终止原因:
     * 退出码 1: 一般错误
     * 退出码 -1073741510: 系统安全终止
     * 退出码 3221225786: 防病毒软件终止
   - 区分正常退出和异常终止

3. **错误信息改进**:
   - 捕获并保存 stderr 输出
   - 将 stdout 和 stderr 都包含在错误报告中
   - 提供用户友好的错误描述和解决建议
   - 针对防病毒软件终止提供明确指导

4. **数据类型修复**:
   - 修复 Windows 退出码的数值溢出问题
   - 正确处理 u32 和 i32 之间的转换
   - 修复 Vec<String> 的 join 方法调用

5. **详细错误报告**:

 **修复效果**:
- 准确识别进程终止原因 ✓
- 提供详细的错误信息和解决方案 ✓
- 修复数值溢出编译错误 ✓
- 改善用户体验和问题诊断 ✓

现在用户可以看到具体的错误原因和解决建议!
2025-07-10 14:35:29 +08:00
root f47c96d2c7 fix: add logs 2025-07-10 14:27:47 +08:00
root 0485f2d75d fix: 添加调试日志 2025-07-10 14:25:58 +08:00
root 47899ba5f5 fix: 修复 Python 进程启动失败问题
🔧 **Python 进程启动修复**:

1. **问题诊断**:
   - 用户日志显示 Python 进程启动后无输出
   - Rust 代码假设 Windows 有 'python' 命令
   - 实际系统可能只有 'python3' 或 'py' 命令

2. **多 Python 命令支持**:
   - Windows: 尝试 ['python', 'python3', 'py']
   - Linux/macOS: 尝试 ['python3', 'python']
   - 自动检测可用的 Python 解释器
   - 详细的错误日志和重试机制

3. **增强错误处理**:
   - 每个 Python 命令尝试都有详细日志
   - 失败时显示具体错误原因
   - 最终失败时提供完整的错误信息

4. **Python 脚本调试增强**:
   - 添加启动时的详细信息输出
   - 显示 Python 版本、工作目录、参数
   - 模块导入错误的详细诊断
   - 关键路径和环境信息输出

5. **环境测试函数同步修复**:
   - test_ai_video_environment 使用相同的多命令策略
   - 更好的错误报告和诊断信息

 **修复效果**:
- 支持多种 Python 命令 ✓
- 详细的启动和错误日志 ✓
- 自动环境检测和适配 ✓
- 更好的问题诊断能力 ✓

现在应该能够在不同的 Python 环境中正常启动!
2025-07-10 14:21:01 +08:00
root 30fce4ae6b feat: 完成所有任务 - 批量重复修复、UI改进、代码重构
🎯 **批量任务重复生成问题修复**:
- 添加调试日志追踪批量处理的提示词和文件夹
- 修复可能导致重复生成的逻辑问题
- 确保一张图片对应一个提示词的正确映射

🔄 **前端任务列表优化**:
- 最新任务排在前面:使用 jobs.slice().reverse() 显示
- 提示词改为多文本框:批量模式支持独立的提示词输入框
- 添加/删除提示词功能,动态管理提示词列表
- 单个模式保持原有的文本域输入

📱 **左侧菜单栏 Tab 化**:
- Sidebar 组件重构为 Tab 形式
- 导航 Tab:传统的页面导航功能
- 任务列表 Tab:显示 AI 视频生成任务状态
- 任务数量徽章:实时显示当前任务数量
- 任务详情:状态图标、进度条、时间信息

🏗️ **Commands.rs 代码重构**:
- 按功能模块化:basic.rs, video.rs, ai_video.rs, file_system.rs, project.rs
- 创建 commands/mod.rs 统一导出
- 单一职责原则:每个文件专注特定功能领域
- 保持向后兼容:所有命令函数正常工作

📊 **进度日志前端展示**:
- 添加 progressLogs 和 currentStep 到任务状态
- 实时显示运行中任务的详细进度信息
- 显示 '[运行中] 任务运行中,已等待18秒,预计剩余282秒' 等日志
- Python API 客户端发送 JSON-RPC 格式的详细进度
- 前端滚动显示最近3条进度日志

🎨 **用户界面增强**:
- 批量提示词管理:添加、删除、编辑功能
- 任务状态可视化:进度条、状态图标、时间显示
- Tab 切换:导航和任务列表的无缝切换
- 响应式设计:适配不同屏幕尺寸

🔧 **技术改进**:
- 模块化架构:代码组织更清晰
- 类型安全:TypeScript 类型定义完善
- 状态管理:Zustand store 功能扩展
- 错误处理:完善的异常捕获和用户反馈

 **完成状态**:
- 批量重复生成问题 ✓
- 最新任务排序 ✓
- 多文本框提示词 ✓
- Tab 化菜单栏 ✓
- 代码模块化重构 ✓
- 进度日志展示 ✓

现在应用具有更好的用户体验和代码结构!
2025-07-10 13:45:56 +08:00
root 45d679c0ea fix: 修复批量处理任务的 JSON-RPC 结果识别问题
🔧 批量处理修复:

1. Python 批量处理函数 JSON-RPC 支持:
   - 添加 request_id 参数支持
   - 初始化 JSON-RPC 响应处理器和进度报告器
   - 在函数结束时发送批量处理的最终结果
   - 成功时发送完整的批量结果数据

2. 批量处理结果格式标准化:
   - 成功时:rpc.success(result) 包含 success_count, failed_count, results
   - 失败时:rpc.error() 包含详细错误信息
   - 进度完成通知:progress.complete() 显示处理统计

3. Rust 解析逻辑优化:
   - 修改为始终更新 final_result 以获取最新的 JSON-RPC 响应
   - 确保返回批量处理的最终结果而不是单个视频结果
   - 改进日志信息便于调试

4. 命令行接口更新:
   - 批量处理调用添加 request_id 参数
   - 保持向后兼容性

🎯 问题解决:
- 批量处理时返回单个视频结果 → 返回完整批量结果 ✓
- 前端显示任务失败 → 正确识别批量处理成功状态 ✓
- JSON-RPC 结果优先级 → 最后的结果优先返回 ✓

 修复效果:
- 批量处理正确返回最终统计结果
- 前端能够识别批量任务的成功状态
- 完整的进度跟踪和错误处理
- 统一的 JSON-RPC 通信协议

现在批量处理功能应该能正确显示成功状态!
2025-07-10 13:15:13 +08:00