Skip to content

feat: 图片附件自动压缩#705

Open
Ankairis wants to merge 3 commits into
Chevey339:masterfrom
Ankairis:feat/image-compression
Open

feat: 图片附件自动压缩#705
Ankairis wants to merge 3 commits into
Chevey339:masterfrom
Ankairis:feat/image-compression

Conversation

@Ankairis

Copy link
Copy Markdown
Contributor

为图片附件新增「入库时自动压缩」(默认开启),同时减小本地存储占用与发送给模型的 base64 体积(上传更快、token 更省)。复用项目已有的 image 包,不引入任何新依赖

功能

  • 图片复制进上传目录时即压缩:相册、相机、桌面选文件、拖放,以及全部剪贴板粘贴路径。
  • 仅按质量压缩(不缩放尺寸)。智能格式:带真实透明通道的 PNG 保留 PNG,其余一律转 JPEG(同步更新扩展名以保证 MIME 正确)。
  • 解码/编码在后台 isolate 执行。完全防御式:任何失败、或压缩后并未变小,都保留原图不动;动图 GIF/APNG/WebP 与 HEIC/HEIF 直接跳过(绝不破坏)。
  • 设置 → 显示:「图片压缩」开关(默认开)+ 质量滑块。
  • 聊天输入栏「+」号旁新增压缩快捷开关,绑定全局设置(桌面端位于同一底部栏)。
  • 顶部横幅显示整体压缩进度,并在完成后一次性提示「原图 → 压缩后(-N%)」。

说明

  • 新增 en / zh / zh-Hans / zh-Hant 本地化文案。
  • 无新增依赖。

@Ankairis

Copy link
Copy Markdown
Contributor Author

啊,这,没时间修了啊。。。等我中考完吧

Ankairis and others added 2 commits June 18, 2026 08:23
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 手机端「+」菜单新增图片压缩开关(与 OCR 同列,无条件显示),移除输入栏压缩图标按钮。
- 图片压缩默认关闭(旧版本升级与全新安装均为关),与 OCR 默认值逻辑一致,无迁移代码。
- 压缩进度横幅改用与「删除对话」通知同款卡片样式(深色 0xFF1C1C1E / 浅色白、圆角 14、阴影 blur16),进行中显示「第几张/共几张」+ 进度条,完成后显示「原图 → 压缩后(-N%)」3 秒消失。
- 清理闲置的 maxDimension resize 分支;chat_input_bar 三处重复压缩块抽成 helper;ImageCompressionProgress.step 改为私有。
- 设置页仅保留质量滑块,移除原压缩开关。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant