Commit Graph

486 Commits

Author SHA1 Message Date
imeepos f10633f64d fix: 创建material_usage_records表修复素材片段使用状态跟踪
- 创建material_usage_records表存储素材使用记录 (v18)
- 添加相关索引优化查询性能
- 修复模板匹配应用后片段管理显示'已使用为0'的问题
- 支持素材片段使用状态的正确跟踪和更新

现在点击'应用匹配结果'后,对应的素材片段会正确标记为已使用状态。
2025-07-23 19:11:30 +08:00
imeepos a39cc1a12d fix: 添加matching_segment_results表支持模板匹配详细结果
- 创建matching_segment_results表存储成功匹配的片段详情 (v17)
- 创建matching_failed_segment_results表存储失败匹配的片段信息
- 添加相关索引优化查询性能
- 修复'no such table: matching_segment_results'错误

现在模板匹配功能可以正常保存和查询详细的片段匹配结果。
2025-07-23 19:03:05 +08:00
imeepos d1448f7073 fix: 修复数据库表结构问题并添加默认AI分类数据
- 修复video_classification_records表结构,添加缺失字段 (v10)
- 修复template_matching_results表结构,添加缺失字段 (v11)
- 创建video_classification_tasks表 (v12)
- 创建export_records表 (v13)
- 创建project_template_bindings表 (v14)
- 添加默认AI分类数据:全身、上半身、中段特写、下半身 (v15)
- 修复AI分类表中的日期时间格式问题 (v16)

解决了所有'no such table'和'no such column'错误,
现在应用程序可以正常使用所有功能模块。
2025-07-23 19:00:13 +08:00
imeepos 4291230acb fix: 修复React渲染错误和数据库迁移问题
- 修复ModelDetail.tsx中直接渲染Gender枚举导致的React错误
- 修复TemplateDetailModal.tsx中直接渲染TemplateMaterialType和TrackType枚举的问题
- 添加枚举到中文文本的转换函数(getGenderText, getMaterialTypeText, getTrackTypeText)
- 实现完整的数据库迁移系统,支持版本化迁移
- 添加迁移v9修复template_materials表file_size字段允许NULL
- 改进数据库迁移执行逻辑,使用execute_batch方法
- 添加数据库集成测试和迁移测试
- 修复template_materials表约束问题,解决模板导入失败

主要变更:
- 新增数据库迁移系统(migrations.rs)
- 新增9个数据库迁移文件(v1-v9)
- 修复前端枚举渲染问题
- 完善数据库测试覆盖
2025-07-23 18:30:52 +08:00
imeepos b5bf049371 fix: build error 2025-07-23 13:56:55 +08:00
imeepos cef2842811 fix: image 2025-07-23 13:55:40 +08:00
imeepos 4269b72c04 feat: 实现批量缩略图生成器功能
- 添加批量缩略图生成的数据模型和类型定义
- 实现ThumbnailGeneratorService核心服务
- 实现BatchThumbnailProcessor批量处理器
- 添加Tauri命令接口支持前端调用
- 创建完整的前端UI组件和页面
- 支持多种时间戳配置和尺寸预设
- 支持时间轴缩略图生成
- 支持并发处理和进度监控
- 集成到便捷工具页面

遵循promptx/tauri-desktop-app-expert开发规范
2025-07-23 13:44:19 +08:00
imeepos 29a4c32096 feat: 完善水印处理工具功能
- 修复批量处理进度条不更新问题
  - 实现任务状态管理器(task_manager.rs)
  - 添加实时进度更新和任务状态跟踪
  - 完善前端进度轮询逻辑

- 丰富水印检测结果展示
  - 添加详细检测结果信息(位置、置信度、类型等)
  - 显示处理统计和性能信息
  - 优化结果展示UI和用户体验

- 修复水印模板上传和删除功能
  - 实现内存存储系统管理模板
  - 修复参数匹配问题
  - 添加模板缩略图展示功能

- 优化文件上传体验
  - 使用Tauri Dialog API替代HTML5文件输入
  - 实现原生文件选择器
  - 添加WatermarkTemplateThumbnail组件

- 完善水印工具集成
  - 创建WatermarkTool页面
  - 添加到便捷工具列表
  - 完善路由配置和UI展示
2025-07-23 12:51:49 +08:00
imeepos c3cad2254c fix: 调整大模型参数 2025-07-22 19:11:06 +08:00
imeepos 4fd6e8b0f4 fix: system 系统提示词优化 2025-07-22 18:57:48 +08:00
imeepos dd0a4f1470 fix: system 系统提示词优化 2025-07-22 18:57:18 +08:00
imeepos 3a67bbf52a fix: 优化markdown解析器 2025-07-22 18:40:03 +08:00
imeepos 34895c2d55 fix: 优化markdown解析器 2025-07-22 18:36:13 +08:00
imeepos e70bf2b6c0 fix: 优化markdown解析器 2025-07-22 18:25:21 +08:00
imeepos 26518569f4 fix: 优化markdown解析器 2025-07-22 18:23:00 +08:00
imeepos cd7e9b351d fix: 优化markdown解析器 2025-07-22 18:15:52 +08:00
imeepos 66c737e2ed fix: 优化markdown解析器 2025-07-22 18:13:53 +08:00
imeepos 9d3eb6d925 fix: 优化markdown解析器 2025-07-22 18:06:46 +08:00
imeepos 9a0ddb72d5 fix: 优化markdown解析器 2025-07-22 17:47:31 +08:00
imeepos d1a2c885fb fix: 优化markdown解析器 2025-07-22 17:35:10 +08:00
imeepos 7fcf0a1702 fix: 优化markdown解析器 2025-07-22 17:33:09 +08:00
imeepos 16ca52fa27 fix: 优化markdown解析器 2025-07-22 17:29:21 +08:00
imeepos 0a50700e4b fix: 优化markdown解析器 2025-07-22 17:22:25 +08:00
imeepos 8f910c033e fix: 优化markdown解析器 2025-07-22 17:15:35 +08:00
imeepos eb9ec73889 fix: 优化markdown解析器 2025-07-22 16:43:17 +08:00
imeepos ba2ff0a2b0 fix: 优化markdown解析器 2025-07-22 16:16:11 +08:00
imeepos dde679fd6e fix: markdown解析bug 2025-07-22 16:09:31 +08:00
imeepos 725514af2d fix: 匹配markdown 2025-07-22 15:57:36 +08:00
imeepos f92d9a7c39 fix: 优化markdown解析器 2025-07-22 15:04:37 +08:00
imeepos 31d97834dc fix: markdown render 2025-07-22 13:53:25 +08:00
imeepos 98254ddc09 fix: 优化界面展 及引用关系 2025-07-22 13:35:18 +08:00
imeepos cb5a137ec9 fix: 添加文字图片关联关系 2025-07-22 12:21:39 +08:00
imeepos e6d54e44aa fix: remove test error 2025-07-22 11:46:04 +08:00
imeepos 730b0f32b5 fix: 修复历史消息总是0的问题
- 添加ensure_session_exists方法确保会话在保存消息前存在
- 修复会话ID不匹配导致的历史消息丢失问题
- 在保存消息前自动创建会话,使用前端传递的session_id
- 添加详细的调试日志跟踪会话创建和消息保存过程
- 使用INSERT OR REPLACE确保会话记录的正确性

问题原因:
- 前端传递的session_id与数据库中的会话ID不匹配
- 消息保存时会话不存在,导致外键约束失败
- 历史查询时找不到对应的会话,返回空结果

现在多轮对话应该能正确保存和加载历史消息了
2025-07-22 11:32:53 +08:00
imeepos 4293fbb4c7 fix: 重构ConversationRepository使用只读连接避免锁竞争
- 修改ConversationRepository使用Database而不是直接的连接
- 为读操作使用专用只读连接,避免与写操作的锁竞争
- 实现非阻塞连接获取,避免查询卡住问题
- 添加连接获取失败时的降级处理
- 优化数据库访问性能,提高并发能力

核心改进:
 只读连接 - 查询操作使用专用只读连接
 非阻塞获取 - 使用try_get_read_connection避免阻塞
 降级处理 - 连接不可用时返回默认值而不是阻塞
 性能优化 - 减少锁竞争,提高并发性能
 错误恢复 - 连接问题时的优雅降级

这应该解决多轮RAG查询卡在get_conversation_history的问题
2025-07-22 11:26:48 +08:00
imeepos dca2c15bb9 fix: 修复多轮RAG查询卡住问题 2025-07-22 11:16:30 +08:00
imeepos 35b7a489c2 debug: 添加详细调试日志定位多轮RAG查询卡住问题 2025-07-22 11:09:15 +08:00
imeepos 25eaed89d8 fix: 打开多轮会话开关 2025-07-22 11:02:30 +08:00
imeepos 1b39bd9b21 doc: add multi turn 2025-07-22 11:00:00 +08:00
imeepos 0b42ea8dcc feat: 改造query_llm_with_grounding支持多轮对话
- 扩展RAG Grounding数据模型支持会话管理
- 添加多轮对话的RAG查询方法query_llm_with_grounding_multi_turn
- 集成现有会话管理服务,支持历史消息存储和检索
- 更新前端类型定义和服务层,支持多轮对话参数
- 创建多轮RAG对话测试组件和页面
- 支持系统提示词、历史消息数量控制等配置选项
- 保持向后兼容,单轮对话功能不受影响

核心功能:
 多轮RAG对话 - 基于检索增强生成的多轮对话
 会话历史管理 - 自动保存和加载对话历史
 智能检索增强 - 结合Vertex AI Search的知识检索
 上下文保持 - 在多轮对话中保持对话上下文
 灵活配置 - 支持历史消息数量、系统提示词等配置
 来源追踪 - 显示检索来源和相关性信息

遵循promptx/tauri-desktop-app-expert开发规范
2025-07-22 10:56:54 +08:00
imeepos 8b92cc130c feat: 完善多轮对话功能实现
- 修复编译错误和类型问题
- 添加完整的单元测试套件
- 创建多轮对话测试组件和页面
- 添加详细的功能文档和使用说明
- 优化错误处理和类型安全
- 遵循promptx开发规范的完整实现

功能特性:
 多轮对话支持 - 历史消息传递和上下文保持
 会话管理 - session_id管理和生命周期控制
 数据持久化 - 完整的会话历史存储
 类型安全 - 完整的TypeScript类型定义
 测试覆盖 - 单元测试和集成测试
 文档完善 - 详细的实现文档和使用指南
2025-07-22 10:43:36 +08:00
imeepos 5296039785 feat: 实现多轮对话功能
- 添加会话管理数据模型和仓库层
- 扩展Gemini服务支持多轮对话的contents数组构建
- 实现会话历史存储和检索功能
- 添加多轮对话业务服务层
- 创建前端TypeScript类型定义和服务层
- 实现Tauri命令处理多轮对话请求
- 添加会话管理功能(创建、删除、更新标题等)
- 创建多轮对话测试组件和页面
- 遵循promptx/tauri-desktop-app-expert开发规范
- 支持session_id管理和历史消息传递
- 实现完整的四层架构设计
2025-07-22 10:39:26 +08:00
imeepos 317b9bb8b2 fix: add system prompt 2025-07-22 10:18:40 +08:00
imeepos f467b215b5 fix: build error 2025-07-21 23:47:20 +08:00
imeepos 343688af56 chore: bump version to 0.2.1 2025-07-21 23:43:20 +08:00
imeepos 94e9f74b15 feat: 完善聊天界面功能和用户体验
界面优化:
- 修复页面头部信息重复问题,统一为时尚穿搭顾问
- 优化欢迎界面布局,移除重复标题
- 调整标签激活状态样式,使其更加subtle和优雅

 标签系统增强:
- 实现卡片标签与底部工具栏标签完美同步
- 修复标签选中状态的实时更新问题
- 添加气泡卡片展示所有标签详情
- 优化标签折叠功能,默认隐藏,一行布局

 功能完善:
- 修复输入框和发送按钮对齐问题
- 优化聊天输入框固定到底部
- 将弹框改为更优雅的气泡卡片消息
- 生成搜索和清空按钮移到外层,始终可见

 导航优化:
- 服装搭配导航直接链接到AI智能聊天
- 配置独立路由避免与便捷工具冲突
- 移除原有的服装搭配页面和路由

 用户体验:
- 标签选中状态双向同步更新
- 气泡卡片支持标签选择和实时反馈
- 优化加载状态显示和错误处理
- 完善的视觉反馈和交互动画
2025-07-21 23:35:04 +08:00
imeepos 07ecd9cee7 feat: 优化聊天界面为女装穿搭专业顾问
-  更新UI主题为粉色系,适配女装穿搭业务
-  默认展示12张图片卡片,支持展开查看全部
-  默认隐藏AI文字回答,点击查看详情时显示
-  新增智能标签汇总功能,支持多选标签生成搜索
-  优化提示词和建议问题,专注女装穿搭场景
-  修复加载状态显示问题,优化用户体验
-  支持gs://到Google Storage的URI转换
-  增强图片卡片交互,悬停显示查看原图按钮
2025-07-21 22:56:57 +08:00
imeepos 1fb5468ecc feat: 实现RAG Grounding服务功能
基于promptx/outfit-match中的query_llm_with_grounding实现,遵循Tauri开发规范

## 新增功能
- 实现RAG Grounding核心服务逻辑
- 支持基于Vertex AI Search的检索增强生成
- 集成Cloudflare Gateway和Google Gemini API
- 提供完整的TypeScript类型定义和前端服务封装

## 技术架构
- Rust后端:GeminiService扩展RAG功能
- Tauri命令:query_rag_grounding, test_rag_grounding_connection, get_rag_grounding_config
- 前端服务:RagGroundingService类,支持统计监控和错误处理
- 数据模型:完整的请求/响应结构和配置管理

## 核心特性
- 检索增强生成:基于数据存储的智能检索和内容生成
- 容错机制:内置重试机制和错误处理
- 性能监控:响应时间统计和性能指标
- 类型安全:完整的TypeScript类型定义
- 会话管理:支持上下文保持的对话功能

## 测试覆盖
- 25个单元测试,覆盖核心功能和边界情况
- 包括序列化/反序列化、错误处理、配置验证等
- 所有测试通过,确保功能正确性

## 文档和示例
- 完整的API文档 (docs/rag-grounding-api.md)
- 详细的使用示例 (examples/rag-grounding-usage.ts)
- 包含最佳实践和错误处理指南

## 遵循规范
- 严格遵循promptx/tauri-desktop-app-expert开发规范
- 安全第一:最小权限原则,数据加密保护
- 性能优先:异步处理,响应时间优化
- 模块化设计:清晰的架构分层
- 错误处理完善:全面的错误处理和用户反馈
2025-07-21 21:07:03 +08:00
imeepos c3c72ce8bd feat: 实现一键匹配实时进度通讯
修复问题:
- 一键匹配进度条没有逐步递增,只在开始和结束时更新

实现内容:
1. 后端进度事件发送:
   - 在事件总线中添加BatchMatchingProgress事件类型
   - 在批量匹配服务中集成Tauri事件发送
   - 在每个模板匹配开始时发送实时进度事件

2. 前端进度事件监听:
   - 修改BatchMatchingService支持事件监听
   - 添加batch_matching_progress事件监听器
   - 实时更新进度条状态

3. 事件通讯机制:
   - 使用Tauri的emit系统发送事件到前端
   - 前端通过listen监听实时进度更新
   - 确保进度条能够逐步递增显示

技术细节:
- 后端:使用app_handle.emit()发送进度事件
- 前端:使用listen()监听batch_matching_progress事件
- 进度计算:基于当前轮数、绑定索引和总绑定数

现在一键匹配过程中进度条会实时更新,用户可以看到匹配的实际进展。
2025-07-21 20:07:27 +08:00
imeepos 70e8669ace refactor: 移除模板匹配中的日志并增强死循环防护
优化内容:
1. 移除所有println!和eprintln!日志输出,提升性能
2. 增强批量匹配的死循环防护机制:
   - 添加实质性进展检测(检查是否新增已使用片段)
   - 如果本轮虽有成功匹配但无实质性进展,则终止循环
   - 防止部分匹配成功但不消耗新素材的无效循环

死循环防护机制:
- 原有:本轮无成功匹配时终止
- 原有:最大轮数限制(100轮)
- 原有:预检查机制(每5轮检查模板可匹配性)
- 新增:实质性进展检测,防止无效循环

这确保了批量匹配在各种边界情况下都能正确终止,避免无限循环。
2025-07-21 19:52:05 +08:00