Repository navigation
Releases
v2.8.0
2image v2.8.0
本次更新以「可控、可恢复、可读」为主题:生成过程可以随时取消,删除的历史图片进入系统回收站可再恢复,退出应用有了进行中任务守卫,失败原因按类型给出可读文案;同时完成两项视觉系统建设(全界面调色板统一与图标矢量字体化),提示词模板与词库数据补齐英文。全部改动对配置、历史数据库、标签、图片与词库完全兼容。
主要更新
生成与任务控制
- 生成按钮兼作取消按钮:生成进行中点击同一按钮即取消,不再需要干等或另找入口;新增在飞守卫,Ctrl+R 与「重新生成」无法再并发派生第二个任务覆写取消令牌;取消、失败、成功各出口统一恢复按钮与进度条(此前取消路径会让按钮永久滞留生成态)。
- 退出守卫:主窗口此前未拦截关闭事件,生成或队列进行中 Alt+F4 会直接销毁窗口、后台线程静默消失。现在关闭时有任务在飞会先确认。
- 生成过程反馈降噪:进度条改为常驻占位,消除每次生成前后工作区的两次布局跳动;失败详情未命中已知类别时降级为通用提示、原始堆栈只进调试日志;单图成功不再强制弹出独立查看器抢焦点(已打开才同步刷新);图生图缺参考图在派发前即判定,不再闪一轮生成态再报错。
数据安全
- 删除进回收站,可恢复:历史删除、清空历史、批量丢弃此前一律永久删除,一次误点不可逆。现在优先经系统回收站删除,非 Windows 或网络盘等不可用场景自动回落永久删除。
- 删除不再连带清空草稿:删除选中的历史卡片不再把正在输入的提示词、筛选条件与滚动位置一并抹掉,只清理与选中项关联的预览/对比状态。
- 查看器保存格式按扩展名:覆盖保存与裁剪覆写此前一律写 PNG 字节,JPEG 文件会被替换成 .jpg 名义的 PNG 内容、体积虚增。现按源文件扩展名选择格式,JPEG/BMP 先合成白底再写。
界面与交互
- 侧栏键盘导航:方向键 / Home / End 在过滤后的可见卡片上移动,越界卡片自动滚入视口;卡片补悬停提亮与手型光标,整卡可点可被感知。
- 空态给出下一步:首用、搜索无匹配、无收藏、无标签四种空态各自给出操作指引;搜索无匹配直接提供「清除搜索」按钮;「显示更多」计数改用过滤后语义,筛选态不再显示全库总数。
- 高频交互降噪:收藏改为即点即切换 + toast 反馈,不再弹两次模态框;内联重命名回车直接提交;搜索换词后回到顶部、同内容刷新保留滚动锚点;生成成功后新作品自动进入选中态;队列失败行保留提示词与任务标识;快捷键帮助补齐 6 项已绑定快捷键;错误提示改用独立错误红。
- 对话框纪律:所有模态对话框支持 Esc 关闭;付费向导补 X 关闭协议、变量脏追踪与未保存确认;重复点击配置向导唤起已有窗口而非堆叠;配置向导高度钳制到屏幕内,768p 笔记本保存按钮不再出屏。
- 提示词助手状态机修复:AI 生成与会话历史回载的结果此前落在空闲态,「使用 / 填入维度」按钮永远禁用,最常用的生成→使用路径只能手动复制;现正确进入待填充态。
- 统计看板窗口治理:二次打开与刷新重建崩溃修复,窗口生命周期语义由实例持有并代理。
视觉系统:统一调色板与矢量图标
- 调色板收敛到主题令牌:15 个界面文件里 130 个互不一致的硬编码色值——5 种深色内嵌面、6 种浅紫、4 种绿、3 组互不配套的状态胶囊、图生图面板自创的子调色板、统计看板漂移出去的灰系——全部归并到主题字典统一取色;亮绿按钮白字仅 2.2:1 的对比度缺陷一并修复;新增护栏测试冻结允许清单(数据可视化渐变、分类品牌色、算法黑白两极之外出现新裸色值即失败),杜绝回潮。
- 图标从 emoji 换为矢量字形:侧栏操作行(编辑/收藏/标签/对比/删除)、词库、队列与缩略图占位、预览空态、密钥可见性切换、统计 KPI 卡等 35 处纯图标位,从固彩 emoji 换为系统图标字体的单色字形——颜色随主题令牌、随 DPI 锐利缩放;全部码位经截图网格逐个目视验证。
错误反馈与多语言
- 失败原因可读且分类:23 个生成接口约 150 处失败语义归入鉴权、配置、额度、限流、策略、参数、响应、瞬时八类错误码;重试与回退按类型决策,状态栏按错误类型显示文案,不再靠子串嗅探猜测。
- 模板与词库数据双语:31 个提示词模板与 45 条词条的名称、描述、提示与建议补齐英文,分类名按当前语言渲染;持久化键保持中文,自定义词库与历史配置零迁移。
- 多语言盲区清扫:免费配置向导 108 个缺失翻译键修复(首启界面曾渲染 ??wz_*_?? 占位);维度预设与状态徽标改运行时取词(英文界面整窗中文的问题);英文界面残留中文清理,编排器状态栏显示接口名称而非内部 ID,「按中文子串判断占位符」的程序行为一并终结。
性能
- 历史列表增量物化:满页 100 卡 × 15 控件曾在单次同步循环里全量重建,搜索防抖、筛选切换、启动刷新都会卡住主线程一整段。现只同步物化首批 12 张填满视口,其余分批追加、批间归还事件循环;「显示更多」走同一分批路径,过期刷新整队作废。
下载与安装
- 安装包:下载
2image-setup-v2.8.0.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.8.0.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作;已内置应用内更新的用户可直接在关于窗口完成升级。
完整变更:v2.7.3...v2.8.0
v2.7.3
2image v2.7.3
本次更新集中修复界面上「看起来能用、实际没有生效」的一批问题:菜单与按钮上标注的快捷键此前从未绑定,供应商下拉框显示的是内部标识而非接口名称,四个已经实现参考图的接口在图生图模式下选不到;同时修复窄窗口下「生成」按钮被裁出可视区、按钮按下瞬间闪白、深色图与画布边界消失等观感缺陷。
主要更新
图生图接口恢复
- 四个接口重新出现在图生图下拉框:Gemini Nano Banana、OpenAI GPT-Image、MiniMax Image、豆包 Seedream 均已实现参考图逻辑,但注册表未声明图生图能力,导致配好 Key 也选不到。现已补全声明,图生图可用接口从 4 个增加到 8 个。
- 下拉框按「是否配好 Key」筛选,而非按接口分类:此前用免费/付费分类判断接口能否使用,与向导里实际有没有配置卡片不是一回事——豆包属于商用分类但付费向导已有完整配置卡片,却被排除在图生图下拉框外。现改为以实际配置能力为准,并新增测试从两个向导源码中提取真实写入的配置键做比对,避免这张表再次漂移。
- 下拉框显示接口名称而非内部标识:此前直接渲染注册表 key,用户看到的是
bria_ai、gemini_nano_banana_pro这类内部标识。现显示人类可读名称,生成、变体、队列、侧栏四条派发路径在边界处统一转回稳定 ID。
快捷键与输入
- 补齐五个从未绑定的快捷键:界面多处标注 Ctrl+B / Q / L / P / 2 可用,但代码里从未绑定,按下毫无反应。现已全部绑定;其中 Ctrl+B、Ctrl+L 在文本控件内原本是编辑键(光标后退、清行),走了输入焦点守卫,打字时不会被弹窗打断。
- 菜单快捷键改用系统绘制:快捷键从拼进菜单文字改为原生 accelerator 显示,由 Tk 右对齐绘制、使用系统字体,切换语言后不会错位。
- 快捷键说明收敛为一处:主界面原先在四处重复罗列快捷键,现只保留 Ctrl+Enter(在输入框内触发、没有对应菜单项),其余由菜单栏承载;状态栏回归纯状态显示。
布局与窄窗口
- 窄窗口不再裁掉生成按钮:侧栏宽度上限原是固定 600px,与窗口宽度无关。窗口缩到最小(1000px)时若侧栏拖到上限,右侧工作区只剩 366px,「🎨 生成」按钮被整个裁出可视区。现侧栏上限随窗口宽度动态收缩,保证工作区至少保留 760px。
- 次要提示自适应让位:工具行的 Ctrl+Enter 说明与预览工具栏的双击提示在窄窗口下会把自己压成几像素残片并挤掉按钮。现按可用宽度决定显示与否——提示是补充信息,按钮是操作入口。
- 下拉框不再截断长接口名:ttk 弹出列表的宽度此前无论如何设置都固定为 20 列。现直接配置弹出列表的列宽,并按中文与 emoji 占 2 列计算所需宽度,控件本身同步加宽,最长的接口名也能完整显示。
视觉与可读性
- 按钮按压与禁用态改用自绘配色:按钮的按压底色、按压文字色、禁用文字色此前全部回落到 Windows 系统色——深色界面里每次点击都闪一块白,禁用态的系统灰落在饱和底色上只有 1.35:1。现按压底色由常态底色派生,禁用态底色压暗、文字按对比度重新取色,图标按钮按图形对象的 3:1 判定。运行时创建的对话框、向导、面板按钮同样覆盖。
- 七组低对比度文字修复:收藏按钮的两种状态、队列空状态提示、搜索框占位符、图生图提示条与四处破坏性操作均低于 4.5:1 阈值,其中最低仅 1.35:1。全部改用既有主题令牌,未新增颜色值。
- 空状态提示可读了:对比画布、批量格、参考图预览、历史与队列缩略图的空态提示原本只有 1.5–2.2:1,首次打开时几乎看不到「这里能做什么」。统一提升至 6.2–6.8:1。
- 图片加 1px 描边:深色图落在深色画布上时边界几乎消失(1.21:1),只能靠四周留白判断范围。预览、对比、批量缩略图与查看器四个图像面统一加一圈低透明度描边,查看器的描边跟随拖拽与每一帧缩放。
- 主界面标题改用产品名:窗口标题栏与顶部栏原显示「✨ 文字生图工具 v10」,既不是产品名,版本号也与实际版本对不上。现统一为
2image。 - 两套悬浮提示统一节奏:侧栏气泡提示与词条库说明卡的延迟相差 1.5 倍、淡入时长相差 2.2 倍,看起来像其中一个坏了。现共用一套参数(400ms 延迟、约 150ms 缓出淡入)。
数据安全
- 丢弃变体改走安全删除通道:批量面板丢弃变体时原先在后台线程直接调用
os.remove,绕过了data/file_ownership的路径校验,路径穿越与符号链接防护对该入口完全失效。现改为经safe_delete_file()删除,越界路径与已删除文件静默忽略。
下载与安装
- 安装包:下载
2image-setup-v2.7.3.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.7.3.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作;早先版本用户可直接在关于窗口完成升级。
完整变更:v2.7.2...v2.7.3
v2.7.2
2image v2.7.2
本次更新修复应用内更新安装流程的关键缺陷,并优化关于窗口与启动向导的用户体验。
主要更新
应用内更新修复
- 独立更新器参数传递修复:
2image_updater.exe复制自身到运行时目录后重新执行时,未能继承原始命令行参数(--installer、--expected-sha256等),导致安装流程静默失败。现修复为完整传递sys.argv[1:] + --runtime,更新安装恢复预期行为。
用户体验修复
- 启动向导不再重复弹出:用户关闭或跳过免费接口配置向导后,
show_wizard_on_start偏好已正确持久化,下次启动不再自动弹出。 - 关于窗口优化:窗口尺寸从 560×560 增大至 640×680,完整显示版本信息、更新状态与操作按钮;进度条采用自定义样式(trough 深色背景 + 亮色填充),下载进度更易辨识。
- GitHub 仓库直达:关于窗口新增 🐙 GitHub 按钮,点击直接跳转开源项目页面。
下载与安装
- 安装包:下载
2image-setup-v2.7.2.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.7.2.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作。
完整变更:v2.7.1...v2.7.2
v2.7.1
2image v2.7.1
本次更新修复界面语言切换功能:所有 UI 文案已全面接入 i18n 系统,简中/英文切换后各面板(菜单、向导、对话框、状态栏等)均正确显示对应语言,不再出现中文硬编码残留。
主要更新
界面语言切换修复
- 全面 i18n 覆盖:
ui/下 13 个面板文件、services/application/下 2 个控制器中的所有硬编码中文文案已替换为_()语言键调用,涵盖菜单栏、批量变体面板、队列面板、图片查看器、主内容区、历史侧栏、提示词片段库、免费/付费/LLM 配置向导、提示词助手、统计看板等全部 UI 组件。 - 新增 400+ 翻译键:
config/i18n.py的 STRINGS 字典从 226 键扩展至 658 键,所有键均提供zh-CN与en双语言对照,键集合由tools/check_i18n.py全量对齐校验。 - 模型显示名称国际化:GPT-Image、Gemini Nano Banana、豆包 Seedream/SeedEdit 等模型的人类可读名称已支持双语显示。
- 修复变量覆盖缺陷:
ui/prompt_wizard.py中_局部变量覆盖 i18n 函数的问题已修复,确保模板应用后状态消息正确本地化。
下载与安装
- 安装包:下载
2image-setup-v2.7.1.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.7.1.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作。
- 语言切换在 设置 → 界面语言 中选择,重启应用后生效。
完整变更:v2.7.0...v2.7.1
v2.7.0
2image v2.7.0
本次更新交付两项标志性变化:应用正式更名为 2image,安装包与便携版从此以项目本名发布;应用内自动更新体系完整落地——检查更新、下载、SHA-256 校验、静默原位升级、失败自动回滚全部在应用内闭环,从此升级不再需要打开浏览器手动下载。安装程序改用固定应用身份,更名前后均视为同一应用,升级原位覆盖旧程序文件,配置、历史记录与图片完整保留。
主要更新
应用内自动更新
- 关于窗口一键升级:菜单「检查更新」打开关于窗口即可检测 GitHub 最新发行版,展示版本号、发布日期、安装包体积与更新内容入口;发现新版本后点击下载并安装,进度条实时显示百分比、已下载量与下载速度,全程可取消。
- update.json 清单为唯一更新通道:客户端读取每个发行版附带的机器可解析更新清单(不依赖 GitHub API,无频率限制);清单经严格校验——协议版本、渠道、语义化版本号、资产完整性字段、下载地址域名白名单,任何字段不合法都直接拒绝更新而非猜测下载。
- 下载完整性双门禁:安装包以
.partial临时文件流式落盘,下载完成后先校验字节数与清单一致,再校验 SHA-256 与清单一致,全部通过才原子改名就绪;校验失败立即删除已下载内容,绝不执行来源可疑的安装包。 - 独立更新器接管升级:下载校验完成后由独立的 2image_updater 接管——先把自身复制到运行时目录,等待主程序正常退出(绝不强杀),二次校验安装包,静默原位安装新版本,安装完成后启动新版并等待其自证版本;安装失败或新版启动异常时自动恢复备份的旧版本并重新拉起,更新失败绝不劣于不更新。
- 任务运行时不会被悄悄打断:检测到正在进行的生成任务或队列任务时,安装前强制弹出三选确认(仍要退出并更新 / 等待任务完成后重试 / 暂不更新),默认不中断任何工作。
- 启动自动检查低侵入:打包版启动后延迟后台检查一次,24 小时至多一次且完全静默——只在发现新版本时轻提示,绝不自动下载;用户关闭提示后同版本不再重复打扰;偏好设置中可一键关闭自动检查。
- 网络失败可解释:检查失败明确区分"已是最新"与"检查失败",给出可能原因(网络 / GitHub 不可达 / 清单无效),检查按钮即重试入口。
应用更名与发行资产
- 应用名统一为 2image:安装包更名为
2image-setup-v<版本>.exe,便携版更名为2image-portable-v<版本>.exe,主程序更名为2image.exe,开始菜单、桌面快捷方式与卸载条目同步显示新名。 - 固定应用身份:安装程序显式固定 AppId,与历史所有版本保持同一安装实例——本次及以后升级均原位覆盖旧程序文件,不产生第二套并行安装;旧版
text2image_pro.exe在升级完成后即被新版替换移除。 - 发行链路自动化升级:构建时自动从真实安装包计算 SHA-256 并生成 update.json;发布前强制校验 tag、version.json、发行说明三者一致,并检查全部发行资产在磁盘就绪,杜绝"先发布后补资产"。
稳定性修复
- 缩略图管线关停竞态修复:关闭窗口或刷新历史列表时,后台加载线程此前可能因队列哨兵比较异常而崩溃(测试中表现为未处理线程异常);现改用可排序的低优先级哨兵任务,混合队列下关停完全干净。
下载与安装
- 安装包:下载
2image-setup-v2.7.0.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.7.0.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作。
- v2.6.0 及更早版本尚未内置应用内更新功能,本次仍需手动下载安装一次;此后即可直接在关于窗口内完成后续所有升级。更名前安装的用户升级后安装目录保持原位置,旧程序文件自动被新版替换。
验证
- GitHub Actions:Ubuntu 质量门禁 + Windows 测试(3.11/3.12 双矩阵)+ Windows 构建三阶段全绿。
- 完整测试套件:618 项通过,0 失败(较 v2.6.0 新增 94 项,含更新协议专项矩阵:版本比较、清单校验、下载完整性、状态机、静默安装参数、独立更新器回滚)。
- i18n 双门槛:226 键 × 2 语言全量对齐,硬编码文案棘轮基线零新增。
- 发行链路新增门禁:版本一致性、update.json 同源校验、资产存在性检查。
完整变更:v2.6.0...v2.7.0
v2.6.0
2image v2.6.0
本次更新以安全与正确性为核心:修复了火山引擎图片下载的安全防护绕过、旧版 JSON 历史迁移可能静默丢数据的问题;生成主流程三处断链全部修复——生成成功后界面卡住、新配置的 API Key 需重启才生效、付费接口配置重启丢失;付费日预算防线完整恢复生效。生成可控性升级:模型队列类接口的轮询任务现在可随时取消,立即中断而非空转到超时。界面语言精简为简体中文与 English 双语,繁体旧配置自动回落,无需手动操作。
主要更新
安全与数据保护
- 火山引擎图片下载接入安全通道:豆包返回的图片 URL 此前未经校验直接下载,已接入与全部其他接口一致的 SSRF 防护下载通道(内网地址拦截、重定向逐跳校验、25MB 上限、Content-Type 白名单)。
- 旧版 JSON 历史迁移不再丢数据:迁移改为逐条校验写入,主键冲突的记录会计入失败并保留原始文件,不再出现"报告全部成功、实际部分丢失"后把源文件归档的情况。
- 图片下载统一限长:直接返回图片二进制的五个接口(Stability/Cloudflare/HuggingFace/Segmind/Pollinations)全部接入 25MB 上限,异常响应不再可能耗尽内存;Pollinations 重定向后的最终地址同样过安全校验。
生成流程正确性
- 生成成功后界面不再卡住:恢复被重构误删的成功回调,单图生成完成后按钮/进度条/预览/历史列表正常联动;协议合规护栏同步扩扫应用控制器目录,杜绝同类回归漏网。
- 新配置的 Key 即时生效:生成控制器不再缓存旧配置引用,向导保存后无需重启即可使用新填写的接口。
- 付费接口配置落盘:付费配置向导与免费向导语义对齐,OpenAI/Stability/Replicate/豆包/BFL 的 Key 与模型选择保存后重启不再丢失。
- 付费日预算防线恢复生效:修复供应商身份记录错位导致付费消耗从未计入台账的问题;批量变体路径补齐 Key 与预算预检,自动回退链不再包含未配 Key 或未授权的付费接口——三条付费消费入口全部收口。
- 翻译等待纳入取消保护:中文提示词翻译的限流等待期间点击停止可立即中断。
生成可控性
- 轮询任务可随时取消:Replicate、通义万相、BFL、fal.ai、StableHorde、ModelsLab 等"提交后排队"型接口的任务轮询接入取消通道,点击停止后在下一秒内中断,不再空转最长 6 分钟。
供应商稳定性
- 批量并发不再互相阻塞:七个供应商的重试与限流等待移出串行锁(统一为时间槽预占模式),此前 429 退避与 HTTP 超时全程持锁,六格变体并发时其余线程最长被阻塞约 5 分钟。
- GPT-Image 错误解析加固:网关返回非 JSON 错误体时不再丢失真实 400 详情,响应缺字段不再崩溃。
- 熔断器半开状态落实单探针:熔断恢复期只放行一个探测请求,探测失败立即重回熔断并重置冷却。
- 错误日志统一脱敏,429 类错误被正确分类后按退避策略重试。
界面与体验
- 错误提示不再以成功配色显示;统计看板防重复堆叠;对比选图弹窗缩略图改有界线程池(此前一次弹窗最多创建 200 个线程);查看器大图极限放大增加像素内存预算,不再冻结。
- 词库搜索结果中删除词条按真实归属分类执行(此前跨分类搜索时会删错);Toast 通知渲染异常不再卡死后续通知;批量变体飞行中启动单图生成不再污染变体的提示词。
- 生成、队列、预算、Key 引导、导出、收藏、重命名等十余处弹窗文案接入多语言,英文界面完整可读。
配置与基础设施
- 清理配置文件中六个重复定义的键,补齐 MiniMax/通义万相/Bria/BFL 四个接口缺失的配置键(此前只能手改配置文件);环境变量覆盖按类型显式转换,
0/false不再被误判为开启。 - 日志冲刷不再永久死锁并支持超时;自定义短语词库改原子写入,文件损坏时保留备份不再被空数据覆盖;场景路由关键词按词边界匹配("UI" 不再误命中 "fruit");字体下载改流式限长;翻译请求不再阻塞后续翻译;打包版迁移提示改写入日志文件(原控制台输出在安装版中不可见)。
界面语言
- 精简为简体中文与 English 双语:移除繁体语言包与切换项;原使用繁体的用户升级后自动回落为简体中文,无需任何手动操作。
开发者可见
- 测试套件扩至 524 项:新增注册表一致性护栏(7 项,锁定 provider 元数据单一真相)、协议合规 AST 扫描扩展至应用控制器;测试磁盘写入隔离扩展至数据库/日志/图片/词库/台账六处路径绑定,任何用例都无法触碰真实用户数据;治理三处重名测试定义。
- 供应商元数据漂移治理:manifest 与模块注册表对齐,Cloudflare 双凭证贯通路由/控制器/顶栏可用性判断;供应商速查表补全至 23 项。
- 构建脚本默认图标改为仓库相对路径,换机构建不再失败。
下载与安装
- 安装包:下载
text2image_pro_v2.6.0.exe,运行后按向导安装。 - 便携版:下载
text2image_pro.exe,无需安装即可直接运行。 - 配置与历史记录完全兼容,升级后无需任何手动操作。繁体用户将自动切换为简体界面;付费消耗台账自本版起正确累计,此前的日预算防线在 v2.5.0 及更早版本中实际未生效,升级后当日消耗从零起算。
验证
- GitHub Actions:Ubuntu 质量门禁 + Windows 测试(3.11/3.12 双矩阵)+ Windows 构建三阶段。
- 完整测试套件:524 项通过,0 失败(较 v2.5.0 新增 10 项护栏)。
- i18n 双门槛:177 键 × 2 语言全量对齐,硬编码文案棘轮基线零新增。
完整变更:v2.5.0...v2.6.0
v2.5.0
2image v2.5.0
本次更新以国际化与界面可用性为核心:新增界面语言切换器(简体中文/繁體中文/English),顶部菜单栏全面重整并接入多语言;操作反馈引入右下角 Toast 瞬态通知,补全常用键盘快捷键;历史侧栏获得滚动、搜索、布局记忆与右键菜单等多项体验优化,缩略图加载管线重写后快速滚动不再卡顿;提示词助手默认只展示核心维度,界面统一为暗色主题。
主要更新
界面语言与菜单
- 语言切换器:顶部菜单"设置 → 语言"新增简体中文/繁體中文/English 三选切换,偏好设置对话框同步提供语言选择项,选择后写入配置、重启应用生效。
- 菜单栏重整:顶部菜单重组为 文件/工具/接口配置/数据/设置 五组;新增"文件"菜单聚合图片查看器、另存为、导出与清空日志;全部菜单项文案接入多语言。
- 多语言覆盖扩展:翻译表扩展至 154 键 × 3 语言,并新增硬编码文案防回潮门槛(744 条存量基线)。
操作反馈与快捷键
- Toast 瞬态通知:右下角新增自动消失的轻量通知组件,批量变体与任务入队等操作的反馈不再依赖状态栏文字,不打断当前操作。
- 键盘工作流补全:
Ctrl+Shift+P呼出提示词助手、Esc关闭图片查看器等覆盖窗口、Delete删除选中的历史条目、←/→在历史列表中快速导航;输入框聚焦时快捷键自动让位,不会误触发。
历史侧栏体验
- 滚动与搜索优化:滚轮滚动按行归一化,鼠标与触控板步进一致;搜索框新增一键清除按钮;启用筛选时显示筛选状态条;刷新后保持原有滚动位置,长列表不再跳回顶部。
- 侧栏布局记忆:侧栏宽度调整后自动记住,支持一键折叠收起;双击分隔条恢复默认宽度。
- 右键菜单重排:常用操作(查看大图、在文件夹中显示)置顶,重命名与打标居中,删除等危险操作殿后并加分隔隔离;新增"在文件夹中显示"直接定位图片文件。
性能
- 缩略图加载管线重写:解码结果二级缓存 + 优先级队列 + 取消令牌,快速滚动历史列表时优先加载可视区域、跳过已滚离的请求,重复解码显著减少;加载工作线程与界面组件完全隔离,滚动保持流畅。
提示词助手
- 维度参数渐进披露:AI 提示词生成默认只展示风格与氛围两个核心维度,受众、构图、光影、色彩、细节五维折叠进"高级选项"按需展开,界面更聚焦。
- 视觉统一:助手面板头部与配色改用全局设计令牌,与主界面完全同调,清除突兀的独立配色。
主题精简
- 统一暗色主题:界面仅保留暗色模式,移除浅色主题及其切换基础设施;全局配色收敛为单一语义令牌体系(设计令牌由主题派生),视觉一致性与可维护性提升。
开发者可见
- 测试套件扩至 514 项:新增语言切换(8 项)、协议一致性(13 项)、缩略图管线、Toast 组件、侧栏交互与布局等回归测试;测试进程与真实用户配置完全隔离,杜绝测试覆写本机数据。
- 稳定性修复:历史侧栏销毁时正确关闭缩略图加载线程,修复线程泄漏;Windows 下测试进程复用共享 Tk 根实例,消除解释器反复创建销毁引发的崩溃。
- CI 动作升级:checkout@v5、setup-python@v6,消除非阻塞版本告警。
下载与安装
- 安装包:下载
text2image_pro_v2.5.0.exe,运行后按向导安装。 - 便携版:下载
text2image_pro.exe,无需安装即可直接运行。 - 配置与历史记录完全兼容,升级后无需任何手动操作。界面统一为暗色主题;如需切换界面语言,请在顶部菜单"设置 → 语言"中选择并重启应用。
验证
- GitHub Actions:Ubuntu 质量门禁 + Windows 测试(3.11/3.12 双矩阵)+ Windows 构建三阶段。
- 完整测试套件:514 项通过,0 失败(较 v2.4.1 新增 53 项)。
- i18n 完整性双门槛:154 键 × 3 语言全量对齐,硬编码文案棘轮基线 744 条零新增。
完整变更:v2.4.1...v2.5.0
v2.4.1
2image v2.4.1
本次更新为 v2.4.0 的紧急修复版:修复了 v2.4.0 安装包与便携版启动即报错("未处理的异常在脚本里",AttributeError: 'App' object has no attribute '_reset_view')的问题,并顺带消除了同源的两处潜在崩溃点。不包含任何新功能,从 v2.3.1 及更早版本升级的用户可直接跳过 v2.4.0 使用本版。
主要更新
缺陷修复
- 修复启动即崩溃(v2.4.0 全部构建包受影响):v2.4.0 前的界面重构误删了
App._reset_view(侧栏"重置视图"按钮的回调)方法,侧栏构建时直接引用不存在的属性导致主窗口尚未显示就抛出AttributeError。已恢复该方法(重置筛选状态、清空主界面并刷新历史列表)。 - 修复状态栏更新崩溃:同一次重构还误删了
App._st(状态栏文字与颜色更新)方法,修复启动问题后首次生成/选择历史条目即会触发该缺陷。已恢复。 - 修复字符计数联动失效:
App._update_char_count(词库面板插入词条后刷新输入框字数统计的转发方法)同样在重构中丢失,词库追加词条时字符计数不会更新。已恢复。 - 防回归:新增协议一致性静态测试(13 项),校验面板声明的接口方法与
self.app.*引用必须真实存在于App上——本次三个缺失方法在此测试下全部现形,杜绝同类漂移再次漏网。
下载与安装
- 安装包:下载
text2image_pro_v2.4.1.exe,运行后按向导安装。 - 便携版:下载
text2image_pro.exe,无需安装即可直接运行。 - 已下载 v2.4.0 的用户请替换为本版;配置和历史记录完全兼容,无需任何手动操作。
验证
- GitHub Actions:Ubuntu 质量门禁 + Windows 测试(3.11/3.12 双矩阵)+ Windows 构建三阶段。
- 完整测试套件:461 项通过,0 失败(新增协议一致性回归测试 13 项)。
- 启动冒烟验证:真实构造主窗口并调用
_reset_view/_st/_update_char_count全部通过。
完整变更:v2.4.0...v2.4.1
v2.4.0
2image v2.4.0
本次更新让生成过程更可控、更安全:批量变体与生成队列新增随时停止能力;付费供应商默认不自动参与生成链,并新增日预算计费器防止意外消费;历史记录搜索升级为全文检索(支持英文关键词),长历史列表改为增量加载不再一次全部载入。同时修复了 ModelsLab 同步成功路径丢弃结果、主窗口导出功能失效等缺陷。
主要更新
生成任务可控性
- 批量变体与生成队列支持中途停止:变体网格与任务队列各自接入
CancellationToken,点击 ⏹ 停止按钮后当前正在生成的任务会在下一个网络等待点立即中断,状态标记为"已取消",不会占用后续任务。 - 翻译等待可中断:中文提示词的翻译限流等待改为 0.1 秒粒度的分段检查,停止任务后不会卡在翻译等待上。
付费消费防护
- 付费供应商默认不自动参与:新增
paid_auto_opt_in配置(默认关闭),付费/商业供应商仅在用户显式开启或手动选择时才会进入生成链,避免免费额度场景下意外调用付费接口。 - 日预算计费器:新增
paid_daily_budget_usd配置(默认 $2.00/天),按供应商维护单张估值表,当天消费达到预算后自动将付费供应商移出候选链并弹出阻断提示;消费记录按天分桶存储于本地spend.json,写入为原子操作。
历史记录与搜索
- 全文检索(FTS5):历史记录英文关键词搜索升级为 SQLite FTS5 全文索引,通过数据库触发器增量维护(插入/删除/修改自动同步),前缀匹配支持输入即搜;中文关键词自动回落到 LIKE 查询。
- 增量加载:侧边栏历史列表改用 keyset 分页,滚动到底部时增量加载下一页,不再一次性载入全部记录;对比选择器与导出功能同样接入分页读取。
可靠性与性能
- 异步日志写入:文件日志改为单写线程 + 有界队列(队满丢弃、永不阻塞 UI),新增
flush_logs()供退出前冲刷。 - 线程隔离网络会话:全部 23 个供应商文件迁移至 thread-local
requests.Session,消除多线程共享连接池的竞争。 - 路由 v3 全面接入生产:场景路由与供应商健康度(熔断/降级/延迟惩罚)共同决定生成顺序,付费供应商经 opt-in 与预算双重过滤;停止任务时异常立即传播,不再吞掉取消信号。
- 字体随安装包分发:构建期按锁定的 tag + SHA256 校验获取 JetBrains Mono 字体并打入安装包(PyInstaller
fonts目录),界面字体不再依赖运行时网络下载,且分发符合 OFL 许可。
缺陷修复
- 主窗口三处
NameError:补齐ImageViewerWindow/ConfigWizard导入,恢复被误删的导出(Export)方法体——修复点击导出崩溃。 - ModelsLab:同步 success 路径直接返回下载结果,修复结果被后续模型迭代覆盖导致"所有模型均失败"的假失败。
- 翻译隐私:文件日志不再落完整译文,仅记录长度与哈希前缀。
开发者可见
- CI 质量门升级:全树 ruff F821/E9 阻断、mypy 非阻塞检查、Python 3.11 + 3.12 双矩阵、i18n 完整性双门槛(131 键 × 3 语言)、硬编码文案棘轮基线(735 条存量)。
- 测试套件扩至 448 项:新增供应商契约测试(33+42 项)、预算计费器、取消令牌、FTS 搜索与分页回归套件;代码覆盖率 54% → 70%,覆盖率门槛锁定 68%。
下载与安装
- 安装包:下载
text2image_pro_v2.4.0.exe,运行后按向导安装。 - 便携版:下载
text2image_pro.exe,无需安装即可直接运行。 - 现有用户的配置和历史记录完全兼容,升级后无需任何手动操作。如需让付费供应商自动参与生成链,请在配置中开启
paid_auto_opt_in并按需调整paid_daily_budget_usd日预算。
验证
- 完整测试套件:448 项通过,0 失败(较 v2.3.1 新增 115 项)。
- 代码覆盖率 70%(覆盖率门槛 68%),全树静态检查零阻断。
完整变更:v2.3.1...v2.4.0
v2.3.1
2image v2.3.1
本次更新扩展了模型目录并新增一个付费供应商:OpenAI GPT-Image 家族新增 2.5-flare(快速高质量)与 2.5-sunburst(最强画质)两个型号,默认模型从 gpt-image-1 升级至 gpt-image-2;Google Gemini Nano Banana 家族新增 v2 Lite 与 Pro 版本,默认从即将下线的 v1 切换至 Nano Banana 2;新增付费供应商火山引擎豆包(Seedream 3.0/4.0 文生图 + SeedEdit 3.0 图生图)。同时修复了 Gemini 缺失 requests 导入与 MiniMax 返回值错位两个缺陷。
主要更新
模型目录扩展(config/model_catalog.py)
- GPT-Image 家族扩展至 6 个型号:新增
gpt-image-2.5-flare(快速高质量日常生图)与gpt-image-2.5-sunburst(最强图像生成与编辑),保留 gpt-image-1/1-mini/1.5/2。默认模型从gpt-image-1切换至gpt-image-2;gpt-image-1 系列标记为 Legacy(UI 显示"旧版"标签,默认不选中)。 - Gemini Nano Banana 家族扩展至 4 个型号:新增
gemini-3.1-flash-lite-image(Nano Banana 2 Lite,轻量快速)与gemini-3-pro-image(Nano Banana Pro,最强画质)。默认从gemini-2.5-flash-image(v1,2026-10 下线)切换至gemini-3.1-flash-image(Nano Banana 2);v1 标记为弃用。 - 新增可读名称映射:
GPT_IMAGE_NAMES、GEMINI_IMAGE_NAMES、ARK_IMAGE_NAMES三组字典,UI 下拉显示友好名称(如"GPT-Image 2.5 Sunburst (最强)"),内部仍使用 stable model ID。
新增付费供应商:火山引擎豆包
services/providers/volcengine_ark.py:接入火山引擎 Ark 平台,支持 3 个模型——doubao-seedream-3-0-t2i(文生图 3.0)、doubao-seedream-4-0-t2i(文生图 4.0,默认)、doubao-seededit-3-0-i2i(图生图 3.0)。端点ark.cn-beijing.volces.com,Bearer 认证,响应支持data[].url与data[].b64_json双格式。- 内置串行锁(最小间隔 1.5s)防批量并发触发速率限制;3 次指数退避重试;120s 超时。
- 配置项:
volcengine_key(API Key)。
配置向导升级(ui/wizard_paid.py v3)
- GPT-Image 模型选择:下拉框使用人类可读名称,支持 6 个型号切换。
- 新增豆包配置节:API Key 输入 + 模型选择(Seedream 3.0/4.0 + SeedEdit 3.0)。
- 窗口布局精简(820×720),移除未使用的 i18n 绑定。
缺陷修复
- gemini.py:补全
import requests,修复RequestException处理器因缺少导入导致的NameError。 - minimax_image.py:移除错位放置的
return image_bytes(引用了未定义的image_bytes),修复特定错误路径下的F821未定义名称问题。
测试
- 新增
tests/test_new_providers.py(25 项):覆盖 model_catalog 常量完整性(GPT-Image 6 型号、Gemini 4 型号、豆包 3 型号)、默认值正确性、Legacy/弃用标记、可读名称映射、以及 volcengine_ark 的 mock HTTP 测试。
下载与安装
- 安装包:下载
text2image_pro_v2.3.1.exe,运行后按向导安装。 - 便携版:下载
text2image_pro.exe,无需安装即可直接运行。 - 现有用户的配置(
~/2image/config.json)和历史记录(~/2image/history.db)完全兼容;GPT-Image 与 Gemini 的默认模型已自动升级,无需手动修改。如需使用豆包,需在付费配置向导中填写volcengine_key。
完整变更:v2.3.0...v2.3.1