跳转到主要内容
返回项目

ImagePort 更新日志

版本、改进与修复,按发布时间排列。

  1. v0.1.8

    ImagePort v0.1.8

    本版本引入多服务商图像生成架构,并完善了协议适配、能力管理、设置体验和发布流程。

    主要更新

    多服务商与协议适配

    • 新增 OpenAI Images 协议适配器
    • 新增 OpenAI Responses 协议适配器
    • 新增 xAI Grok Imagine Images 适配器
    • 新增 Google Gemini Interactions / Nano Banana 适配器
    • 支持自定义 Provider Manifest
    • 服务商能力预设与 API 协议解耦,第三方中转站可按实际兼容协议配置
    • 设置页新增最终请求地址预览和协议不匹配提示

    Gallery 能力管理

    • 根据当前服务商和模型动态显示可用参数
    • 不支持的质量、格式、审核、压缩和尺寸选项会自动隐藏或归一化
    • 根据服务商能力限制参考图数量
    • 不支持像素级蒙版的服务商会禁用蒙版入口
    • 不支持图像编辑的自定义服务商会禁用参考图入口
    • Gemini 多图生成会拆分为多次独立请求
    • 修复特殊竖图比例下 1K / 2K 分辨率档位误判问题

    设置与配置体验

    • API 配置页移除冗余介绍文字
    • 多个服务商添加按钮合并为“添加连接”下拉菜单
    • 服务商切换时分别保存各自的 URL、模型、API Key 和协议草稿
    • 支持恢复官方连接配置
    • API Key 导出默认脱敏
    • 旧版本配置会自动迁移到新的协议字段
    • Agent 模式继续使用 OpenAI Responses API

    稳定性修复

    • 阻止空 URL、相对 URL 等无效地址,避免出现 Invalid URL (POST /v1/interactions)
    • 修复 Google 官方地址误用 OpenAI Images 协议的问题
    • 修复 Gemini Interactions 地址拼接兼容性
    • OpenAI-compatible 响应支持根据 mime_type 正确生成图片 Data URL
    • 任务历史记录保存实际使用的 API 协议
    • 任务复用时优先匹配服务商、协议和模型

    发布流程

    • 新增统一发版命令:

      bun run release 0.1.9
  2. v0.1.7

    ImagePort v0.1.7

    这次更新重点改善任务历史、设置弹窗和发版更新体验,让大量历史任务下的操作更稳定、更流畅。

    新增

    • 在“关于”页新增 GitHub 仓库入口。
    • 新增手动检查更新功能,可从 GitHub Releases 获取最新版本并提示是否有更新。
    • GitHub 外链现在通过 Tauri opener 打开,并在前端限制为 ImagePort 仓库链接。

    改进

    • 设置页的任务存储估算改为异步分批计算,避免打开设置或切换到关于页时阻塞界面。
    • 存储估算文案改为“已加载任务导出 JSON 估算”,避免和完整本地历史占用混淆。
    • 关于页和数据页会区分“已加载任务数”和“历史总任务数”。
    • 完整备份、导出任务等文案改为明确说明当前导出的是已加载任务。

    修复

    • 修复任务列表底部分页/加载按钮可能被输入框遮挡,导致看起来无法继续加载的问题。
    • 修复框选任务时可能误选中页面文字、图片的体验问题。
    • 修复参考图 hover 操作区删除按钮显示不完整的问题。
    • 修复 GitHub 仓库按钮点击无反应的问题。

    工程质量

    • 增加更新检查、外部链接打开、异步存储估算等单元测试。
    • 通过前端构建、Svelte 类型检查、lint、Bun 测试和 Tauri cargo check。
  3. v0.1.6

    ImagePort Desktop v0.1.6

    这次是一次小版本体验修复,主要优化 Gallery 的框选交互、首次历史任务加载反馈,以及参考图操作按钮的显示细节。

    更新内容

    • 修复 Gallery 框选任务时会误选中文字、图片的问题
    • 任务卡片预览图禁用原生拖拽,框选体验更稳定
    • 首次进入 App 加载历史任务时增加骨架屏,减少“像是空列表”的等待感
    • 修复参考图缩略图 hover 删除按钮被裁切或位置过于靠内的问题

    验证

    • bun test
    • bun run lint:oxc
    • bun run check
    • bun run build
  4. v0.1.5

    ImagePort Desktop v0.1.4

    这版重点优化 Gallery 历史任务性能、任务删除体验,以及 Settings 打开时的响应速度,同时继续拆分 Gallery Workspace,降低后续维护成本。

    Highlights

    • 优化历史任务删除:删除任务时不再重写全部任务记录,改为按任务 ID 增量删除,减少大历史库下的等待时间。
    • 优化 Settings 打开速度:任务存储体积估算改为按需延后执行,打开设置弹窗时不再被大任务列表的同步计算阻塞。
    • 支持历史任务分页加载:启动时只加载首批任务,点击“加载更多”再继续从 SQLite 加载后续任务。
    • Gallery Workspace 继续模块化拆分,主组件更轻,任务状态、输入区、导入导出、任务卡片展示逻辑都有独立边界。

    Improvements

    • 提取 GalleryComposer,底部提示词、参考图和参数输入区从主工作台拆出。
    • 提取 AgentWorkspace,Agent 会话视图和 Gallery 主逻辑解耦。
    • 提取 TaskCard view model,任务卡片展示文案、预览图、按钮状态集中计算。
    • 提取任务状态 helper,减少散落的 tasks.map/filter 状态更新逻辑。
    • 导入、导出、完整备份逻辑移动到独立 helper,并补充测试。
    • 删除任务图片文件时改为有限并发清理,避免一次性启动过多文件操作。

    Fixes

    • 停止 Agent / 删除任务后,后台异步轮询与图片请求会更及时取消。
    • 修复 Settings 弹窗打开前同步估算任务存储大小导致的卡顿。
    • 保留 legacy localStorage fallback,避免 SQLite 读取为空或不可用时丢失旧历史。

    Verification

    • bun test
    • bun run check
    • bun run lint:oxc
    • bun run build
  5. v0.1.4

    ImagePort Desktop v0.1.4

    修复

    • 修复设置「关于」页版本号仍显示 0.1.0 的问题。
    • 关于页现在会优先读取 Tauri 应用真实版本,开发/非 Tauri 环境下兜底显示 package.json 版本。

    保留改进

    • 优化图片复制性能:优先使用浏览器剪贴板写入原始图片 Blob,减少大图复制时的 RGBA 解码和跨进程传输开销。
    • 修复 GitHub Actions Windows 构建中版本同步脚本无法处理 CRLF 换行的问题。
    • Release 构建时会从 tag 自动同步应用版本号。

    验证

    • 通过格式检查。
    • 通过 Svelte 类型检查。
    • 通过前端生产构建。
  6. v0.1.3

    ImagePort Desktop v0.1.3

    修复

    • 修复 GitHub Actions Windows 构建中版本同步失败的问题。
    • 版本同步脚本现在兼容 Cargo.lock 的 Windows CRLF 换行,避免出现 Could not update src-tauri/Cargo.lock。

    改进

    • 保留 v0.1.2 的图片复制性能优化:优先使用浏览器剪贴板写入原始图片 Blob,减少大图复制时的 RGBA 解码和跨进程传输开销。
    • 保留 Tauri 原生剪贴板写入作为兜底,提升不同系统环境下的兼容性。

    发布流程

    • Release 构建时会从 tag 自动同步应用版本号。
    • GitHub Actions actions/checkout 已升级到 v6,适配新版 Node.js Actions runtime。

    验证

    • 通过版本同步脚本 CRLF 回归测试。
    • 通过图片剪贴板单元测试。
    • 通过格式检查和 Svelte 类型检查。
  7. v0.1.2

    ImagePort Desktop v0.1.2

    改进

    • 优化图片复制性能:优先使用浏览器剪贴板写入原始图片 Blob,减少大图复制时的 RGBA 解码和跨进程传输开销。
    • 保留 Tauri 原生剪贴板写入作为兜底,提升不同系统环境下的兼容性。

    发布流程

    • 升级 GitHub Actions actions/checkout 到 v6,适配新版 Node.js Actions runtime。
    • 发版构建时会从 Release tag 自动同步应用版本号,避免安装包版本停留在旧版本。

    验证

    • 通过图片剪贴板单元测试。
    • 通过格式检查、Svelte 类型检查和前端构建。
  8. v0.1.1

    ImagePort v0.1.1

    这是一个体验修复与工程规范化版本,重点改善图片预览、复制、右键操作和项目检查流程。

    更新内容

    • 修复图片预览中点击“复制图片”失败的问题,避免出现 expected RGBA image data, found raw bytes 错误。
    • 为任务详情、图片预览和图库图片增加右键菜单,支持查看大图、保存、复制、设为参考图、遮罩编辑等常用操作。
    • 优化图片预览上一张/下一张按钮体验,修复点击时按钮位置下跳、偶发点击无效的问题。
    • 优化任务详情右侧操作按钮布局,让图片操作更集中、更顺手。
    • 更新应用图标与品牌展示资源。
    • 引入 Oxc 工具链,新增前端格式化与 lint 检查脚本,提升代码规范化和后续维护体验。

    开发与质量

    • 新增 Oxc 配置:oxfmt、oxlint。
    • 新增图片右键菜单和剪贴板复制相关回归测试。
    • 已通过格式检查、Oxc lint、Svelte 类型检查和相关单元测试。
  9. v0.1.0

    ImagePort Desktop v0.1.0

    ImagePort Desktop 首个预览版本发布。

    这是从原 gpt_image_playground 迁移到 Tauri 桌面端后的第一版,重点解决浏览器跨域限制,并补齐 Gallery、历史任务、本地存储和桌面端图片操作体验。

    Highlights

    • 基于 Tauri + SvelteKit 重写桌面端 Gallery。
    • 通过 Tauri 后端代理请求,避免浏览器 CORS 限制。
    • 支持 OpenAI-compatible Images API 与 Responses API。
    • 支持多任务并发生成、任务耗时、预期/实际生成数量展示。
    • 支持参考图、mask 蒙版编辑、多图生成与轮播查看。
    • 支持历史任务持久化到 SQLite,图片文件保存到本地 App Data。
    • 支持 Lightbox 查看、上一张/下一张、缩放、拖拽、下载、复制图片。
    • 支持 API Profile 管理、设置持久化、任务复用配置快照。
    • 增加 GitHub Actions 自动构建 macOS、Windows、Linux 安装包。

    Known Limitations

    • macOS / Windows 产物暂未配置代码签名。
    • macOS 未配置 notarization,首次打开可能需要手动允许。
    • Agent 模式仍处于早期可用阶段,后续会继续增强。
    • 自定义服务商能力仍在逐步完善。

    Test Notes

    本次 Release 主要用于测试 GitHub Actions 自动打包流程。发布后会自动构建并上传各平台安装包到 Release Assets。