275 Commits

Author SHA1 Message Date
Your Name
be6f22b3d6 feat: 优化画布缩放交互 - 滚轮直接缩放,添加缩放控制按钮 2026-02-03 10:19:10 +08:00
Your Name
ff5e78c5a9 fix: 标注成功后自动生成标签,无需点击确认按钮 2026-02-02 13:24:05 +08:00
Your Name
83737c7b9c fix: 使用 setTimeout 确保画布切换导航生效 2026-02-02 13:21:57 +08:00
Your Name
0369bc361d fix: 修复画布列表切换时页面不自动加载的问题 2026-02-02 13:18:46 +08:00
Your Name
5f88eb44b3 fix: 修复预览弹窗中标注点相对于图片实际区域的定位 2026-02-02 13:16:47 +08:00
Your Name
c74d2b7d44 feat: 改进物品标注交互,直接在画布图片上标注无需弹窗 2026-02-02 13:13:22 +08:00
Your Name
3d4cbf4662 fix: 使用 Portal 渲染标签预览弹窗到 body,修复 backdrop-blur 导致 fixed 定位失效的问题 2026-02-02 13:10:11 +08:00
Your Name
d14f7f263e fix: 简化标签预览弹窗位置计算,确保在视口内显示 2026-02-02 12:58:42 +08:00
Your Name
a5319b5346 fix: 修复标签预览弹窗显示到聊天面板外的问题,使用容器边界限制位置 2026-02-02 12:49:13 +08:00
Your Name
1b5bd33b54 fix: 修复标签预览弹窗位置溢出视口的问题 2026-02-02 12:44:52 +08:00
Your Name
46806b6f82 fix: 提高标签预览弹窗层级到z-10001 2026-02-02 12:41:32 +08:00
Your Name
da601a8c48 fix: 完成按钮移到图片底部,改为黑色风格与网站统一 2026-02-02 12:38:31 +08:00
Your Name
976e8de4c7 fix: 修复标签预览弹窗位置,固定显示在标签上方并防止超出边界 2026-02-02 12:36:12 +08:00
Your Name
e314edb283 feat: 画布点阵背景固定大小不随缩放变化,图片双击放大预览 2026-02-02 12:34:13 +08:00
Your Name
84726009ff fix: 使用全局事件监听修复标签悬停预览 2026-02-02 12:31:07 +08:00
Your Name
ee9ac5521f feat: 支持同一张图片标注多个物品,每个物品独立标签 2026-02-02 12:28:48 +08:00
Your Name
2722a231bc fix: 修复标签悬停预览事件绑定 2026-02-02 12:24:44 +08:00
Your Name
09e6b070c7 feat: 标签悬停预览功能,显示图片全貌和标注位置 2026-02-02 12:22:08 +08:00
Your Name
d169a3e931 fix: 附件名称移除emoji,保留原图片URL用于AI多图融合 2026-02-02 12:18:15 +08:00
Your Name
7f67259c94 fix: 物品标签使用图片缩略图,移除emoji图标 2026-02-02 12:17:05 +08:00
Your Name
221579abb2 fix: 在图片上绘制红色标记点让AI识别,识别后直接添加到对话框 2026-02-02 12:14:00 +08:00
Your Name
7db61d8533 fix: 识别成功后直接添加到对话框,去掉确认弹窗 2026-02-02 12:12:13 +08:00
Your Name
13e72c9134 fix: 去掉矩形轮廓框,优化物品识别prompt更聚焦点击位置 2026-02-02 12:10:35 +08:00
Your Name
3558eed251 fix: 改用 URL 方式发送图片给 Qwen-VL,修复数据库查询 2026-02-02 12:05:50 +08:00
Your Name
47afddfd73 feat: 添加物品拾取功能(MVP版本)
- 新增 ObjectPickerOverlay 组件,支持点击图片拾取物品
- 新增 /api/pick-object API,调用 Qwen-VL 识别物品
- Canvas Store 扩展拾取模式状态管理
- ImageNode 工具栏新增拾取按钮
- CanvasChatPanel 集成物品标签,发送时自动构建精准prompt
- 图片压缩至 600px 以内加速 AI 分析
- 物品名称限制 8 字,位置固定 4 字标准词库
2026-02-02 11:50:30 +08:00
Your Name
3fc00270c4 fix: 修复删除图片标签后无法重新添加的问题
- 改用 URL 而不是索引来删除附件,更可靠
- 优化 useEffect 中的附件去重逻辑
- 添加调试日志便于排查问题
2026-02-02 11:27:53 +08:00
Your Name
dbed4020c0 feat: 图片工具栏改为纯图标模式,悬停显示功能名称
- 移除工具栏按钮的文字标签,只显示图标
- 使用 Tooltip 组件在鼠标悬停时显示功能名称
- 将下载和删除按钮从下拉菜单移到工具栏直接显示
- 工具栏更紧凑,视觉更简洁
2026-02-02 11:07:52 +08:00
Your Name
ed71477f15 fix: 画布图片下载改为直接下载,不再跳转页面
- 使用 fetch 获取图片数据并创建 Blob URL
- 避免跨域图片导致的跳转问题
- 添加下载进度提示和错误处理
2026-02-02 11:01:32 +08:00
Your Name
d7c0e66c3e feat: 画布图片按原始比例 1:1 显示
- 图片使用 object-contain 保持原始比例,不再裁剪
- 添加 getImageDimensions 函数获取图片原始尺寸
- 图片节点大小根据原始尺寸动态设置(最大 500px,最小 150px)
- 图片间距动态调整,避免重叠
2026-02-02 10:57:42 +08:00
Your Name
52867404f7 feat: 画布图片添加到对话框改为手动触发
- 在图片工具栏添加"添加到对话"按钮
- 移除选中图片时自动添加标签的逻辑
- 通过 canvas store 的 pendingChatAttachments 实现跨组件通信
- 用户点击按钮后才会将图片添加到对话框,避免标签越来越多
2026-02-02 10:54:03 +08:00
Your Name
ba99ad212e fix: 删除聊天框图片标签时不再删除画布中的图片
- 修改全局键盘事件处理,增加对 contentEditable 元素的检测
- 在删除图片标签时阻止事件冒泡,防止触发画布的删除操作
2026-02-02 10:42:15 +08:00
Your Name
dd0b8e7357 debug: 添加占位图状态调试日志 2026-02-02 00:34:25 +08:00
Your Name
b8279e4b93 fix: 修复 huanke-gemini 占位图不显示问题
- 在 messages.tsx 中将 huanke-gemini 和 gemini-image 纳入 isGeminiModel 判断
- 在 chat.tsx 中将 huanke-gemini 和 gemini-image 记录为 gemini 类型的生成任务
- 确保使用 huanke-gemini 时显示 Gemini 图片生成占位图
2026-02-02 00:23:31 +08:00
Your Name
51196ea0dd feat: 添加无限画布设置(启用/禁用、默认模型) 2026-02-01 22:41:42 +08:00
Your Name
c8e565d016 fix: 修复发送按钮被挤出输入框的布局问题 2026-02-01 22:24:49 +08:00
Your Name
a4de05925a feat: 添加新建画布按钮功能 2026-02-01 22:08:05 +08:00
Your Name
97daaeeb36 fix: 切换画布时清空状态并重新加载数据 2026-02-01 19:46:00 +08:00
Your Name
2c8bcd14cd fix: 用户消息按parts原始顺序渲染图片标签和文字 2026-02-01 19:27:05 +08:00
Your Name
323646f1d4 feat: 用户消息显示图片标签样式,隐藏标注提示前缀 2026-02-01 19:00:51 +08:00
Your Name
2e6f9d52bb fix: 发送后清空选中状态和输入框标签
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 18:13:16 +08:00
Your Name
7d3f97e972 fix: 发送消息后清空contenteditable内容
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:43:27 +08:00
Your Name
923a2288da feat: 使用contenteditable实现图片标签和文字混合输入
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:28:27 +08:00
Your Name
de63528cc1 style: 优化输入框布局,图片标签在上方
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:24:34 +08:00
Your Name
e5524fbaf5 fix: 图片标签和文本输入在同一行
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:21:21 +08:00
Your Name
a0abd6959c style: 输入框内显示图片标签
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:18:11 +08:00
Your Name
59a81f3c0e feat: 画布图片节点添加图片标注功能
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 17:12:30 +08:00
Your Name
94640002d0 fix: 多图支持和画布自动命名模型ID映射
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 16:58:27 +08:00
Your Name
96e4c8ebe0 fix: 画布聊天面板过滤空消息
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 16:48:40 +08:00
Your Name
2a14ae8445 fix: 过滤清理后为空的消息,避免显示空对话框
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 16:42:23 +08:00
Your Name
ddf49cb329 feat: 画布聊天自动使用最近图片
当用户发送文字请求但没有附带图片时,自动按以下优先级获取图片:
1. 画布中选中的图片
2. 画布中最近添加的图片
3. 历史对话中的图片

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01 16:07:34 +08:00