Your Name
231d726b37
fix: 完善智能自动模式对话流程
...
修复内容:
1. 前端:检查用户最后一条消息是否有图片(而不是整个对话最后一条)
2. 前端:useEffect 依赖项添加 selectedModelId
3. 后端:错误回退时也生成友好消息
4. 后端:保存消息时添加完整的数据库字段
5. 分析器:增加颜色调整关键词匹配(改成X色、换成X色)
现在大模型(Qwen3 VL)会生成自然对话回复
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 02:18:30 +08:00
Your Name
ddada59db1
fix: 使用特殊标记保持占位图显示
...
问题:对话消息发送后占位图消失
解决:
1. 后端在对话消息末尾加上 <!-- GENERATING_IMAGE --> 标记
2. 前端检测到此标记时继续显示占位图
3. 渲染时清理掉这个标记(用户看不到)
4. 数据库保存时不带标记(纯对话)
流程:
1. 用户发送请求
2. AI回复对话(带标记)+ 占位图继续显示
3. 图片生成后显示
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 02:12:08 +08:00
Your Name
920fb5aa95
fix: 添加延迟让前端渲染对话消息
...
在发送对话消息后等待500ms,让前端有时间渲染第一条消息,
然后再开始第二轮(图片生成),这样不会在同一个回复里重叠
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 02:04:31 +08:00
Your Name
ff9f45858b
feat: 智能自动模式先对话再生图
...
流程:
1. 用户发送请求(图片+文字)
2. AI立即回复对话('好的,我来帮你...')
3. 显示占位图(正在生成中...)
4. 图片生成后显示
修改:
- 后端:先发送对话消息,再调用生图API
- 前端:检查用户消息后所有assistant消息是否有图片
- 只有图片出现才隐藏占位图,对话文字不影响
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 02:00:21 +08:00
Your Name
73d1ab7912
fix: 智能自动模式对话和图片合并发送
...
修复流程:
1. 用户发送请求
2. 显示占位图
3. 图片生成后显示(对话文字 + 图片)
- 将对话消息和图片合并成一条消息
- 对话文字在前,图片在后
- 占位图显示到图片出现为止
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 01:56:18 +08:00
Your Name
6462fe2456
feat: 智能自动模式先对话再生图
...
修复内容:
1. 修复变量名 smartAutoHistoryImage -> smartAutoHistoryImages
2. 修复 model-router.ts 循环依赖问题
3. 智能自动模式显示占位图(当用户发送图片时)
4. 先发送对话消息(如:好的,我来帮你...),再生成图片
5. 让用户感受到是在和AI对话,而不是机器执行
流程:
用户发送请求 -> AI回复对话 -> 显示生图占位图 -> 显示生成结果
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 00:08:37 +08:00
Your Name
0901bc6329
feat: 支持历史多张图片的连续编辑
...
- 从历史对话中提取多张图片,支持多图融合编辑
- 收集同一条消息中的所有图片(用户上传或AI生成)
- 将所有历史图片注入到后续编辑请求中
- 日志输出图片数量便于调试
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 23:41:07 +08:00
Your Name
691e9862e7
feat: 自动使用历史图片进行连续对话编辑
...
- 用户没有发送新图片时,自动使用历史中最近的图片
- 支持连续对话场景:换颜色、调整、重做等
- 优先使用AI生成的图片,其次是用户上传的图片
- 让对话更自然,不需要每次都重新上传图片
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 23:37:23 +08:00
Your Name
760509100c
fix: 保持用户消息原样显示,AI自然对话后再执行编辑
...
- 用户发送的消息不再被修改,保持原样显示
- 优化后的提示词只用于API调用,不影响用户消息
- AI会先用自然语言回复用户,再显示编辑结果
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 23:29:30 +08:00
Your Name
8763e8d53f
feat: 智能图片编辑系统 - 意图分析、提示词优化、模型路由
...
新增智能自动模式功能:
- smart-analyzer.ts: 智能意图分析器,识别抠图/换背景/增强等8种子意图
- prompt-optimizer.ts: 提示词优化器,将简单输入转为专业提示词
- model-router.ts: 智能模型路由器,根据意图选择最佳模型
- 修改route.ts集成新模块,替换原有关键词匹配逻辑
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 23:15:11 +08:00
Your Name
8d580ad3ab
chore: sync local changes
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 22:39:49 +08:00
Your Name
2e62d17317
fix: preserve chat context after image generation by updating URL to /chat/id
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 22:11:29 +08:00
Your Name
876386ecec
fix: properly center video tutorial modal and fix featured image dialog overflow
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:51:35 +08:00
Your Name
da3c6bb135
fix: allow empty coverUrl in tutorial videos API
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:42:55 +08:00
Your Name
db070f8a37
fix: increase request body size limit to 500MB for video uploads
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:32:07 +08:00
Your Name
4e42b3e1c1
fix: use xhr.upload.onloadend to correctly show compressing stage
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:27:45 +08:00
Your Name
acc9407ec7
fix: improve video upload progress UI with better stage indicators
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:22:21 +08:00
Your Name
344c9bc956
feat: add real-time video upload progress bar with stage indicators
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 21:17:35 +08:00
Your Name
b99b3e5718
perf: optimize video playback and encoding for better web streaming experience
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 20:54:25 +08:00
Your Name
e861fc5203
feat: add multi-video tutorial support with dropdown menu and video management
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 20:48:14 +08:00
Your Name
024ec19c70
feat: add tutorial video button and ranking visibility toggle in navbar settings
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 20:37:29 +08:00
Your Name
c44c8cff6a
feat: add toolbox1/toolbox2 name and enable settings in navbar config
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 11:11:58 +08:00
Your Name
a76e97eec0
fix: save provider and photoroomApiKey in RMBG config
2026-01-27 22:22:37 +08:00
Your Name
ab583c38ef
feat: add PhotoRoom background removal support in RMBG settings
2026-01-27 22:15:29 +08:00
Your Name
59bc3636e1
feat: rename scene fusion to detail replace, add auto-retry up to 10 times
2026-01-27 21:47:59 +08:00
Your Name
ee4bb14736
feat: add banner settings to admin panel for configuring ad banner text and link
2026-01-26 22:26:44 +08:00
Your Name
0c4a2a455e
fix: create new canvas instead of redirecting when canvas not found
2026-01-26 22:17:58 +08:00
Your Name
8e82b0ea99
fix: use Button with router.push for reliable navigation
...
- Replace Link components with Button + router.push
- Add e.preventDefault() and e.stopPropagation() to prevent event issues
- Fix file list button click handler in CanvasChatPanel
- Ensures single click navigation works consistently
2026-01-26 21:31:58 +08:00
Your Name
2566c00cb1
fix: redirect /canvas to new canvas editor instead of list page
...
- Replace full-screen canvas list with auto-redirect to new canvas
- Ensures users always enter canvas editor mode directly
- Use Link component for reliable navigation in top navbar
2026-01-26 21:24:25 +08:00
Your Name
676be1c70c
feat: switch file list from dialog to inline panel
...
- Replace dialog-based file list with inline panel in sidebar
- Click file list button now switches panel content instead of opening popup
- Add CanvasFileListPanel component for embedded file list view
- Fix thumbnail property name and type casting issues
- Add placeholder handleAction function
2026-01-26 21:19:52 +08:00
Your Name
9385b6f6d6
feat: implement auto-save, auto-title, and canvas file list sidebar
...
- Remove manual rename and save buttons from canvas header
- Add auto-save logic with debounce
- Add AI auto-titling and thumbnail generation based on canvas content
- Add CanvasFileList sidebar for managing canvases
- Direct entry to new canvas from top navigation
- Add new API endpoint for auto-titling
2026-01-24 22:50:34 +08:00
Your Name
7704a799f8
fix: update canvas chat panel header to match official design
2026-01-24 22:29:31 +08:00
Your Name
77b2b765ea
fix: remove quick tools tab from canvas sidebar
2026-01-24 22:21:51 +08:00
Your Name
3c2943e1cb
feat: integrate image editing tools into canvas sidebar and optimize UI
2026-01-24 22:18:03 +08:00
Your Name
39c726b5af
fix: shrink canvas toolbar and restore chat banner
2026-01-24 22:03:17 +08:00
Your Name
1ad0bc8db6
fix: remove logo from canvas chat panel greeting
2026-01-24 21:57:55 +08:00
Your Name
601900f933
fix: adjust canvas UI layout - vertical toolbar and header position
2026-01-24 21:48:05 +08:00
Your Name
30950a89dc
fix: adjust canvas layout - move toolbar to left, save to left, increase chat height
2026-01-24 21:40:46 +08:00
Your Name
f5c52bfdc6
feat: redesign chat panel to match LOVART style
2026-01-24 21:36:05 +08:00
Your Name
79e5a870e1
feat: comprehensive UI redesign for infinite canvas (LOVART style)
2026-01-24 21:27:36 +08:00
Your Name
f289eca90c
feat: integrate chat panel into canvas sidebar
...
- Add CanvasChatPanel component for AI conversation in canvas
- Auto-sync generated images from chat to canvas nodes
- Add tabbed interface to switch between AI Chat and Quick Tools
- Widen sidebar to 384px to accommodate chat interface
- Extract image URLs from messages and create canvas nodes automatically
2026-01-24 21:19:25 +08:00
Your Name
6a2cbb1b49
feat: use image URLs instead of Base64 for canvas image operations
...
- Modified ImageNode to upload images to storage bucket before use
- Updated RMBG API to support imageUrl parameter (fetch from URL and convert to Base64 internally)
- Updated Enhance API to support imageUrl parameter
- Updated canvas service layer to use imageUrl for all image processing APIs
- All processed images are saved to storage bucket and user gallery
2026-01-24 20:58:15 +08:00
Your Name
0d5742a7a8
fix: add missing Settings import in canvas editor page
...
Fixed ReferenceError: Settings is not defined by adding the Settings icon import from lucide-react.
2026-01-24 20:48:53 +08:00
Your Name
485d6c0615
feat: use main navbar for canvas page
2026-01-24 20:30:36 +08:00
Your Name
1a9f453a20
fix: use correct function names for AI model queries
2026-01-24 20:23:41 +08:00
Your Name
c7ffcda87b
feat: add infinite canvas feature with AI image generation
...
- Add canvas project and node database tables
- Create canvas workspace with drag, resize, zoom and pan
- Add ImageNode with background removal, enhance, extend, angle edit, scene fusion
- Add VideoNode with playback controls
- Add TextNode for text editing
- Integrate AI image generation API (Gemini/Alibaba)
- Implement viewport culling for performance optimization
- Add canvas entry in top navigation bar
2026-01-24 19:48:13 +08:00
Your Name
da99fbdc93
fix: improve error handling for streaming response in scene fusion
2026-01-22 19:41:58 +08:00
Your Name
bec71cf195
feat: implement streaming response for scene fusion - show images as they complete
2026-01-22 19:33:06 +08:00
Your Name
b8efd6b096
fix: optimize scene fusion prompts - use 'reference' approach for better product preservation
2026-01-18 22:03:06 +08:00
Your Name
0333f1953e
fix: use 'auto' value instead of empty string for Select component
2026-01-18 21:45:52 +08:00