Your Name
|
fbe797d436
|
fix: 简化智能自动模式占位图逻辑
问题修复:
1. 移除复杂的延迟状态管理
2. 使用 isGeneratingImage 标记来区分阶段
3. 简化占位图显示条件
流程:
1. 提交/streaming -> 显示思考动画
2. 收到对话消息+GENERATING_IMAGE标记 -> 显示生图占位图
3. 收到图片 -> 隐藏占位图
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-01 02:34:39 +08:00 |
|
Your Name
|
98807b135a
|
fix: 对话消息出现后延迟6秒再显示生图占位图
流程:
1. 用户发送请求 → 显示思考动画
2. 对话消息出现 → 思考动画消失,显示对话文字
3. 等待6秒 → 显示生图占位图
4. 图片生成完成 → 占位图消失
修改:
- 添加 showImagePlaceholderDelayed 状态
- 收到 GENERATING_IMAGE 标记后延迟6秒设置状态
- 生图占位图根据延迟状态显示
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-01 02:28:38 +08:00 |
|
Your Name
|
58d0b8b5dd
|
fix: 智能自动模式分阶段显示占位图
流程:
1. 用户发送请求 → 显示'AI正在思考'(Qwen3在分析)
2. 对话消息出现(带GENERATING_IMAGE标记)→ 切换到生图占位图
3. 图片生成完成 → 隐藏占位图
修改:
- 检测 GENERATING_IMAGE 标记来区分阶段
- 分析阶段显示 ThinkingMessage
- 生图阶段显示 ImageGenerationLoading
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-01 02:24:53 +08:00 |
|
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
|
6ccdd73c65
|
fix: 既梦API直接使用图片URL,不再转Base64
- 删除urlToBase64函数
- 直接传递图片URL给既梦API(API原生支持)
- 只有前端上传的Base64图片才需要先上传S3获取URL
- 大幅减少请求体大小和处理时间
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 23:59:51 +08:00 |
|
Your Name
|
04bd6dda32
|
fix: 修复智能分析器循环依赖导致的初始化错误
- 改用动态导入 getEnabledAiModelsWithProvider 和 getLanguageModelById
- 避免 Cannot access 'T' before initialization 错误
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 23:51:44 +08:00 |
|
Your Name
|
64dbbd8e6e
|
fix: 智能自动模式使用通用思考动画
- 智能自动模式后端还在分析意图时,显示通用思考动画
- 避免在后端未确定生图前就显示生图占位图
- 等后端确定是生图模型后,自然切换到对应占位图
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 23:46:30 +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
|
6d37542b0b
|
fix: 智能自动模式 - 将 auto 传递给后端而非前端选择
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 23:17:53 +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
|
81d2489649
|
refactor: clean up debug logs and simplify message handling
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:36:29 +08:00 |
|
Your Name
|
258c4ce173
|
fix: clean up timer logic to prevent memory leaks
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:33:55 +08:00 |
|
Your Name
|
eca231575d
|
fix: show loading placeholder when streaming but last message is user message
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:29:00 +08:00 |
|
Your Name
|
ddd0006f1e
|
fix: use replaceState instead of redirect to preserve message state
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:25:58 +08:00 |
|
Your Name
|
cd5669a8bf
|
fix: redirect to /chat/id after image generation to ensure messages load correctly
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:20:08 +08:00 |
|
Your Name
|
2fdf27e611
|
debug: add logging to track message state during image generation
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:18:02 +08:00 |
|
Your Name
|
390ab1b935
|
fix: add timeout protection for loading placeholder and improve image content detection
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:17:18 +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
|
9fcb170483
|
fix: reduce zoom step to 2% for even finer scaling control
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:05:26 +08:00 |
|
Your Name
|
486877b323
|
fix: reduce zoom step to 5% for finer image scaling control
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 22:02:59 +08:00 |
|
Your Name
|
960013d507
|
fix: move close button inside modal to prevent being hidden
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:58:48 +08:00 |
|
Your Name
|
51ba20be21
|
fix: use React Portal to render video modal outside nav element for proper centering
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:56:43 +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
|
f8b5de0aaf
|
fix: remove dropdown title, improve video modal centering
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:48:10 +08:00 |
|
Your Name
|
9653f47560
|
fix: center video modal properly on screen
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:45:01 +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
|
077451de2f
|
fix: use correct Next.js 16 config for body size limit
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:32:38 +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
|
10fecf0892
|
feat: add custom high-performance video player optimized for slow networks
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-01-31 21:00:06 +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
|
48a8d2e1ff
|
feat: rename button to batch add for clarity
|
2026-01-27 21:59:19 +08:00 |
|
Your Name
|
cfa61a426d
|
fix: maintain processing status during auto-retry to show loading animation
|
2026-01-27 21:56:09 +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
|
0d69e8d9fa
|
fix: scene fusion retry now correctly handles streaming response and batch download works for all images
|
2026-01-27 21:40:46 +08:00 |
|