Releases: xujunjiex/StarFlow
Releases · xujunjiex/StarFlow
Release list
v0.9.2
v0.9.2 更新内容
🐛 Bug 修复
- 漫画历史记录预览页修复:旋转后 ImageView 上下黑边遮挡(改用 imageMatrix 旋转而非 View.rotation,消除父容器裁切);三态切换(译文/原文/纯原图)崩溃修复(renderOverlay PLAIN 模式子 bitmap 共享原图 buffer 回收后失效 → 复制独立副本,彻底消除
Canvas: trying to use a recycled bitmap崩溃) - bitmap 回收纪律重构:BitmapLruCache 运行期只移除 cache 引用不再主动 recycle,防止相邻页 ViewPager2 holder 持有的 bitmap 被静默回收导致绘制崩溃;异步渲染回调增加过期校验(boundEntryId/boundMode),翻页/切三态过快时丢弃过期结果
- 重新翻译流程简化:去掉「重新框选」对话框,按原有框选区域原地重译(refreshCacheInPlace),完成后实时刷新详情面板
- 下载弹窗去掉更新日志内容行,简化界面
🔧 其他改动
- CLAUDE.md 过时描述同步:renderCache 回收策略、forFullImage 表格、重翻流程、旋转逻辑均已更新
- 删除不再使用的 view_manga_retranslate_recrop.xml 布局文件
- 公告面板底部大片空白修复:showNotificationDialog 用 setLayout(maxW, maxH) 固定 maxH=70% 屏高,短公告时 dialog 占大片屏幕但内容只占顶部一小块。改为 WRAP_CONTENT + 宽度 90% 屏宽限制,多时 ScrollView 滚动、少时自适应
- 进程组内排序方向反转:sortedBy(createdAt) → sortedByDescending(createdAt),最新创建的条目排在顶部
- OCR 参数架构重构:新建 manga/PPOcrParams.kt(PPOcrKey prefs key 常量 + PPOcrDefault 默认值 + PPOcrPrefs 读写封装)作为单一来源,消除之前默认值散落三处(UI 滑块 / PPOcrV5Engine 兜底 / PPOcrV6Engine 兜底 / FAQ 描述)不一致隐患
- 首次添加自定义 API 测试报错修复:OpenAIText.testConnection 在 isNew=true 路径下 providerIndex 越界导致 Index 6 out of bounds 崩溃,改为安全访问 + setupUserMode 显式设置自动追加开关默认勾选
⚠️ 历史记录兼容性提醒:v0.9.0 重构了漫画翻译的缓存存储方式,旧版保存的翻译历史记录可能无法正常显示译文 overlay。请更新前提前对有需要的翻译历史进行截图或下载保存。
v0.9.1 更新内容
✨ 新功能
- 本地 AI 翻译 更名为 本地机器翻译,所有 UI 文案统一更新
🐛 Bug 修复
- NLLB 旧值兼容迁移:修复之前选择 NLLB 翻译的用户升级后翻译配置丢失导致翻译失败的问题
- 彻底清理 ML Kit 离线翻译残留的代码引用、死字符串和文档描述
- 更新弹窗和通知弹窗限制最大高度(屏幕70%)和最大宽度(屏幕90%),内容可滚动,不再占满全屏
- 引导页模型介绍更新:PP-OCRv5 改为 PP-OCR 系列(v5/v6),说明双版本差异
⚡ 性能优化
- 删除 ML Kit 离线翻译引擎(libtranslate_jni.so 16.4MB),APK 从 95MB 缩小至 80MB
- 排除无用的 libsentencepiece_train.so 训练库(1.6MB),APK 进一步降至 78MB
v0.9.0 更新内容
✨ 新功能
- PP-OCRv6 完整集成:新增 PP-OCRv6 引擎,支持 small(内置)和 medium(下载)双档位切换,完整的调试面板和模型管理 UI
- 漫画翻译实时渲染共享层重构:数据库不再存储译文 overlay 图片,所有显示通过 renderOverlay() 即时渲染,支持三态切换(译文/原文/纯原图),减少存储并避免图片过期
- 漫画翻译复制模式:点击气泡可复制原文或译文,支持逐段复制和全部复制
- 繁体中文(zh-TW)源语言支持:新增繁体中文作为翻译源语言选择
- 浮动菜单屏幕自适应:游戏和漫画浮动菜单根据屏幕尺寸自动缩放图标大小和字号,小屏幕不再占满屏幕
- 游戏翻译结果框增强:文字阴影开关、复制原文/译文按钮、⚡ 缓存标识
- 内置聚合 API 支持自定义模型名称
- 历史记录增强:游戏历史支持原文/译文复制、组下载 TXT 文件、漫画详情文字可选
- 调试面板升级:PP-OCRv6 参数面板按 Det/Global/Rec/App 分类分组,新增 7 个参数调节,折叠面板设计
- PP-OCRv5 全部模型改为下载管理(det + rec_zh + 多语言字典),不再内置于 APK
🐛 Bug 修复
- 下载改用 MediaStore.Downloads 写入(Android 11+ Scoped Storage 兼容),修复 SAF 文件选择器在某些版本上写入 ZIP 为 0B 的问题
- 漫画翻译强制刷新时清空 translatedRegions 内存缓存,避免重新翻译命中过期缓存
- groupMangaEntriesByPHash 返回所有变体(之前只返回代表 entry),修复下载/浏览漏图
- renderOverlay Bitmap.createBitmap 子 bitmap 共享底层数据修复:先渲染后 recycle,防止崩溃
- BitmapLruCache 替代 ConcurrentHashMap:真 LRU 淘汰 + 自动回收,修复 ViewPager2 滑动后 bitmap 回收崩溃
- TXT 下载增加 ProgressDialog 进度反馈,DB 兜底查询上限从 500 提升到 10000
- 俄文语言提示全面修正:区分 PP-OCRv5/v6,v6 内置俄语支持不再误报"请下载模型"
- 修复多处滑块整数截断、面板标签与 prefs key 不一致问题
- 修复设置项实时生效:漫画颜色、AI 上下文开关/轮数监听 prefs 变化
⚡ 性能优化
- menuScale 计算提取为公共方法(calculateMenuScale),消除两处重复代码
- 浮动菜单缩放系数根据屏幕宽度动态计算(0.75-1.0),避免硬编码
- PP-OCRv6 medium 模型可选下载,small 模型内置开箱即用
🔧 其他改动
- 模型管理 UI v4 重构:按引擎组合分组,统一 4 段 UI 布局,删除冗余角标
- 删除 CTD 模型和高级模式残留,manga-ocr 单版本化
- 删除 PP-OCRv5/v6 cls 方向分类模型和相关代码
- 清理大量死代码和调试日志
- CLAUDE.md 持续更新:设置项实时生效规范、缓存标识规则、高频踩坑记录
下载说明:
v0.8.6
v0.8.6 更新内容
🐛 Bug 修复
- 修复游戏/视频翻译退出时偶发 SIGSEGV 崩溃(Shooter use-after-free,quitSafely 后未 join 回调线程)
- 修复引导页面"无障碍服务"页"继续"按钮点击无响应(缺少 setOnClickListener)
- 修复个性化设置运行时修改部分开关不生效(漫画文字/背景颜色、AI 上下文开关/轮数未监听 prefs 变化)
- 修复模型管理页面显示 bug
🔧 其他改动
- 删除死代码:
FloatingTextView.kt整个文件、TranslationResultView.setLocked/isLockedView/onLockChanged、Incremental_Renderno-op listener - 统一
FloatingBallService显示原文模式逻辑到composeResultText()(之前双实现 DRY 违反)
v0.8.5 更新内容
🔧 其他改动
- applicationId 改为 com.moe.starflow,支持与原项目共存安装
- 修复 Gist 公告双文件不同步问题(删除过期 starflow-announcement.md)
- CLAUDE.md 补充 BallStateManager 文档 + 藏球 delay(50) 说明
📋 后续更新计划
- 后台批量漫画翻译和打包下载
- 测试本地离线翻译功能
- 添加更快、精度更高的 OCR 模型
- 优化当前专用 OCR 模型的响应速度,替换使用最新版 PP-OCRv6 模型
v0.8.4 更新内容
✨ 新功能
- 悬浮球状态图标系统(BallStateManager):Idle/Processing/Translating/Completed 四态切换 + Error 红圈脉冲动画
- 游戏/漫画模式独立悬浮球图标定制
🐛 Bug 修复
- 手动截图藏球后加 delay(50) 等 VD 刷新,避免悬浮球图标被截入翻译结果
- 分批翻译 Translating 图标提前到第一批翻译开始时显示,避免一闪而过
🔧 其他改动
- README 完全重写:专业结构、演示 GIF、功能详解
- CLAUDE.md 补充 ML Kit OCR 内置 vs 翻译需下载说明
v0.8.3 更新内容
🐛 Bug 修复
- 修复录屏超时后 imageAvailable 未重置导致持续超时的问题
- 修复 ensureBufferOrientation 在 Service context 横屏下可能获取错误屏幕尺寸的问题
- 移除 frameSeq 录屏死亡检测(框选模式下误报严重),自动翻译改用 40s pHash 超时兜底
🔧 其他改动
- 错误代码页面迁移至各 API 配置页内显示
- FAQ 合并 Q9→Q10,新增 Q11:录屏冲突症状及解决方案
- README 添加演示 GIF 并优化内容结构
v0.8.2 修订(2026-07-05)
🐛 Bug 修复
- 录屏横屏坐标对齐:Shooter 屏幕旋转后自动重建 ImageReader + resize VirtualDisplay,buffer 始终与屏幕方向对齐。修复横屏下框选底部却识别顶部文字的问题
- ensureBufferOrientation 竞态闪退:关闭旧 ImageReader 前等待回调线程执行完毕,防止 native SIGSEGV
- 自动翻译方向不匹配:startAutoTranslate 横屏时正确 return(原只弹 toast 不返回)
- 屏幕旋转时自动清除旧框选区域并停止自动翻译
🔧 其他改动
- MediaProjectionProvider / ScreenshotManager 移除冗余坐标变换逻辑
- CLAUDE.md 更新
v0.8.2 更新内容
🐛 Bug 修复
- 纯色/纯白页面精确检测:dHash 全零直接判断,防止假命中低纹理缓存页面
- 历史记录 manga-ocr 重翻译修复:模型从下载目录加载(原错误从 assets 读取)
- 历史记录原图/尺寸切换冲突修复:切换尺寸时清除原图覆盖
- 历史记录重翻译破坏多尺寸分组修复:保留完整 256-bit 扩展哈希
- 历史记录列表与浏览器分组不一致修复:统一为 256-bit 相似度算法
- 历史记录重翻译 manga-ocr 引擎选择无效修复:改为 RT-DETR-V2 + MangaOcr
- UI:按钮/下拉框黑色背景修复(亮度调整)
- DB MIGRATION_10_11 幂等化:先 PRAGMA 检查列是否存在再操作
🔧 其他改动
- 删除 PerceptualHash 中未使用的直方图/方差代码(quickSameCheck/isUniform 等)
- DetectionBridge.runOCR 各分支统一添加模型选择日志
- 纯色页面检测到后弹出 toast 提示"未检测到文字"
v0.8.1 更新内容
✨ 新功能
- 256-bit 扩展感知哈希(17×16 dHash):漫画缓存匹配更精确,减少误命中
- 截图时自动隐藏悬浮球:翻译截图不再包含球体,干净页面入缓存
- 跨截图方式缓存匹配:MediaProjection 和无障碍截图可互相命中缓存
🐛 Bug 修复
- pHash 历史记录显示完整 64 位哈希值
- 修复无障碍干净截图拦截时机 bug
- 漫画自动翻译重截图流程优化 + VirtualDisplay 死亡检测(frameSeq 不变则弹窗提示 + 关闭服务)
- 防止 overlay 污染截图(进度条/球体被截入图导致 pHash 失真)
🔧 其他改动
- 清理死代码 DAO 查询,简化 processMangaScreenshot Step3 分支
- 更新 CLAUDE.md 缓存机制说明
v0.8.0 更新内容
✨ 新功能
- 历史记录页面重构:双视图(默认视图 + 管理视图),统一卡片布局,四种显示模式
- 管理视图引擎选择器:独立于悬浮窗配置
- 管理视图:历史记录可直接重新翻译(独立 OCR→翻译→渲染→替换,不需要启动翻译服务)
- 管理视图:进程组 ZIP 下载(SAF 文件选择器选保存位置)
- 管理视图:多尺寸变体管理(切换、删除)
- 详情页全屏浏览:原文/译文切换、变体切换、重翻/删除操作
- 保存原始截图(originalImagePath),重翻时可用原图重新裁剪翻译
- 双视图时间显示:卡片显示创建/修改时间,默认视图按修改排序,管理视图按创建排序
🐛 Bug 修复
- Shooter DirectByteBuffer native crash 修复(copyPixelsFromBuffer 改用 heap byte[] 中转)
- Dialog 主题崩溃修复(Material3 + AppCompat 不兼容改用 android.app.AlertDialog)
- 引擎初始化只初始化 PP-OCR,漏了 CTD/RT-DETR/MangaOcr/MLKit
- cropRect 枚举 ordinal vs value 混淆导致选 PP-OCR 却跑 RT-DETR,OCR 永远失败
- OcrLock 未保护增量渲染路径,自动翻译和重翻同时跑会 native crash
- 缓存去重永远不命中(findCacheByHashAndSize 查废弃的 cropWidth/cropHeight,新记录存 0)
- 清除按钮误清两边历史记录
- DB Migration 5→6/6→7/7→8 缺失导致降级用户数据丢失
⚡ 性能优化
- 提取 TranslateUtils 公共翻译层,重翻和正常翻译共用同一套翻译管线
- OcrLock 单例互斥锁,保护 ONNX 引擎单例并发调用
- 统一卡片布局,净删 600+ 行冗余代码
- 翻页闪屏优化(只通知旧页面清除 override,不触发新页 rebind)
- 管理视图组内按 createdAt ASC 排序,顺序不随修改变化
🔧 其他改动
- 所有弹窗改用自定义暗色(详情页)/ 浅色(历史主页)主题
- UiUtils.showToast 替代系统 Toast,操作反馈统一
- 下载改用 SAF ACTION_CREATE_DOCUMENT 文件选择器
- CLAUDE.md UI 规范更新
下载说明:
v0.7.0
v0.7.0 更新内容
✨ 双模式截图系统
- 新增 MediaProjection 截图器(Shooter),支持双模式截图
- 新增 AccessibilityService 截图模式(无障碍服务持久授权)
- 截图方式可在关于页面自由切换
- 前台服务适配 MediaProjection 模式
- 授权流程优化:授权后自动启动服务,无需二次点击
✨ 漫画引擎重构
- TextRegionMerger 全新合并模块,替代旧的 BoxMerger + TextLineMerger
- 支持倾斜文字检测、合并与渲染(canvas.rotate)
- 新增增量渲染:超过 6 个气泡时分批 OCR+翻译,提速首次显示
- PP-OCRv5 调试面板 5 个参数实时调节(检测/识别置信度、扩展比例等)
- 调试面板支持折叠展开、图例说明
✨ 缓存与历史重构
- 双 sessionId 架构:分离创建排序 / 修改排序语义
- 漫画缓存 pHash 精确匹配 + 相似度匹配(阈值 0.85)
- 缓存数量滑动条 + 清除缓存按钮移至历史页面
- 历史卡片 UI 修复(会话分组 + 尺寸管理)
✨ 其他新功能
- 悬浮窗菜单支持运行时切换源语言
- 悬浮球手势自定义(单击/双击/长按可分配不同动作)
- RT-DETR text_free 识别开关
- 常见问题新增 PP-OCRv5 调试面板参数详解
🐛 Bug 修复
- Shooter release() 时序修复:先退出 listener 线程再关闭 ImageReader,避免崩溃
- MediaProjection 横屏截图修复 + 延迟初始化
- cropBitmap 裁剪偏移计算修复
- rec 模型加载失败时弹窗报错
- 版本更新检查仅在启动时触发一次
- 授权窗口与服务自动启动修复
- 安全加固:禁止明文流量 + 排除数据库备份
下载说明:
- 百度网盘:暂无
- 夸克网盘:暂无
v0.6.7
v0.6.7 更新内容
- ✨ 倾斜文字全链路处理:角度检测(atan2)、倾斜合并(canMergeTilted)、旋转渲染(canvas.rotate)
- ✨ TextLineMerger 识别后合并模块:MST 拆分算法,支持倾斜文字角度感知合并
- ✨ PP-OCRv5 参数调节滑块:检测置信度/扩展比例/识别置信度/大框过滤,调试面板实时调整
- ✨ 调试面板增强:显示所有丢弃选区(检测丢弃红色虚线+识别丢弃橙色虚线)、图例说明
- ✨ 单字符噪声过滤:自动过滤标点符号独立气泡
- 🐛 调试面板折叠按钮修复:OnTouchListener 吞掉子 View 事件问题
- 🐛 通知系统修复:Gist JSON 解析兼容非 JSON 前缀
- 🐛 race condition / debug mismatch 修复
- 🔧 删除开发者页面硬编码版本号
- 🔧 CLAUDE.md 文档更新:倾斜文字处理、PP-OCRv5 参数、TextLineMerger
v0.6.6 更新内容
- ✨ 主页版本号显示:翻译主页底部显示当前版本号
- ✨ 悬浮窗关闭手势:悬浮球手势配置新增"关闭悬浮窗"选项
- 🐛 增量翻译 text_free 修复:RT-DETR-V2 的 text_free 识别开关在增量翻译路径生效
- 🐛 调试模式优先级修复:调试模式优先于增量翻译执行
- 🐛 调试面板折叠按钮修复:修复 OnTouchListener 吞掉子 View 事件问题
- 🐛 通知系统修复:Gist JSON 解析兼容非 JSON 前缀
- 🐛 Bitmap.recycle() 顺序修复:避免绘制帧使用已回收的 bitmap 导致崩溃
- 🐛 RT-DETR-V2 debug keepTextFree 修复:debug 视图正确反映 text_free 状态
- 🔧 更新检测缓存:添加 Cache-Control: no-cache 防止缓存
- 🔧 通知权限:Android 13+ 请求 POST_NOTIFICATIONS 权限
- 🔧 ML Kit 面板:简化显示内容,删除多余描述
- 🔧 代码清理:提取 bringFloatingBallToFront() 消除重复代码,版本号改用 BuildConfig
v0.6.5 更新内容
- ✨ 受限区域截图检测:检测到全黑/纯色截图时提示用户(安全应用/DRM保护)
- ✨ RT-DETR text_free 识别开关:个性化设置中可开启自由文字区域识别(旁白/音效等)
- ✨ 悬浮球双击动画反馈:双击时显示快速脉冲动画,区分单击/长按
- 🔧 框选视图全屏适配:横屏模式下使用屏幕真实像素尺寸,修复悬浮窗定位问题
v0.6.4 更新内容
- ✨ 框选视图全屏适配:横屏模式下使用屏幕真实像素尺寸,修复悬浮窗定位问题
v0.6.3 更新内容
- ✨ 安全加固:禁止明文HTTP流量、排除数据库备份
- 🐛 更新对话框版本校验修复:meta文件缺失时不再安装未验证版本的APK
- 🐛 网盘链接解析改进:支持关键词和URL分行的格式
- 🐛 漫画按钮onResume状态刷新:修复极端情况下按钮状态不一致
- 🔧 广播action硬编码改为常量(ACTION_MANGA_SERVICE_STOPPED)
- 🔧 日志规范统一:TranslateFragment / UpdateChecker全部改用LogCollector
v0.6.2 更新内容
- ✨ PP-OCRv5独立模式增量渲染:气泡合并+分批OCR+翻译,首批翻译完立即显示
- ✨ 增量渲染开关从开发者选项移到个性化设置(漫画翻译结果分类)
- 🐛 可穿透性设置修复:改为alpha透明度控制,开启后仍可拖动
- 🐛 增量渲染上下文修复:仅批次间使用,翻译完回滚,不污染后续页面
- 🔧 分类标题改为游戏/视频翻译结果设置
- 🔧 同时显示原文移到游戏/视频翻译结果设置分类
- 🔧 删除无用的OCR分类和不显示调整完成提示开关
- 🔧 悬浮窗长按延迟默认值统一300ms
- 🔧 正常漫画翻译不使用上下文(仅增量批次间生效)
v0.6.1 更新内容
- ✨ 漫画翻译增量渲染:超过6个气泡时自动分批OCR+翻译,首批翻译完立即显示,减少等待时间
- ✨ 开发者选项新增增量渲染开关(自动开启AI上下文)
v0.6.0 更新内容
- ✨ 悬浮球手势自定义:支持单击/双击/长按分配不同动作(翻译、打开菜单、自动翻译开关)
- 🐛 修复用户取消安装后自动重复弹出安装器的问题
- 🐛 修复安装修复逻辑:移除onResume自动安装,改为用户手动点击安装按钮
- 🐛 修复个性化设置页面闪退问题(ListPreference类型转换错误)
- 🐛 修复悬浮球手势配置读取兼容性
后续更新计划:
- 功能:第一次使用后添加API引导页面(需截图和视频链接配合)
- 功能:长时间待机自动退出翻译进程
- 待测试:本地AI翻译
- 功能(低优先级):分场景提示词模板(用户可选)
- 功能:漫画模式自动翻译添加个性化菜单设置
下载说明:
- 百度网盘:暂无
- 夸克网盘:暂无
v0.5.2
@## v0.5.2 更新内容
✨ 新功能
- 更新下载流程改进:下载前检查安装权限,弹窗解释权限用途
- 下载过程中新增「取消下载」按钮
- 公告弹窗「去更新」跳转到关于页面并自动检查更新
- APK 存储改为外部文件目录,退出页面后下载不丢失
- 下载文件 24 小时自动清理
🐛 Bug 修复
- 修复 AI 翻译偶尔返回原文不翻译的问题(系统提示词明确指定目标语言)
- 修复检查更新下载 APK 后"安装中"卡住的问题(关闭对话框让用户与系统安装器交互)
- 修复缺少 REQUEST_INSTALL_PACKAGES 权限导致无法安装更新
- 修复 FileProvider 未配置 downloads 目录导致安装崩溃
🧹 清理与优化
- 翻译运行中禁止切换源语言/目标语言,避免语言不一致导致翻译错误
v0.5.1 更新内容
✨ 新功能
- 漫画图片全分辨率显示 + 手势缩放(双击缩放、捏合缩放、拖拽平移)
- 历史记录页面添加"刷新"按钮
- 缓存文本匹配:OCR 文本指纹排序匹配,提高框选偏移时缓存命中率
- 游戏模式缓存命中显示 ⚡ 标识 + 重新翻译按钮
- 自动翻译增加数据库缓存层,跨会话也能命中缓存
🐛 Bug 修复
- 修复漫画历史图片模糊问题(移除 inSampleSize 降采样)
- 修复缓存 key 不一致导致重新翻译产生重复记录
- 修复缓存淘汰时历史记录和图片文件残留(孤儿数据)
- 修复游戏翻译缓存命中后重新翻译无法正确替换旧记录
🧹 清理与优化
- 图片存储 PNG → JPEG,文件大小减少约 80%
- 漫画 pHash 缓存使用中心裁剪 70%,提高框选偏移命中率
- 相似度阈值从 0.92 调整为 0.85
v0.5.0 更新内容
✨ 新功能
- PP-OCRv5 模型管理:支持单独下载 en/ko/ru 模型,模型存储迁移到外部存储
- 俄文/西里尔文字识别支持(PP-OCRv5)
- 游戏/漫画翻译语言模型可用性提示(自动检测语言与模型匹配)
- 游戏/漫画提示词分离 + 续写格式控制(火山/通义/DeepSeek/智谱)
- 内置 AI 翻译提供商(火山/智谱/DeepSeek/通义千问)
- 个性化设置:游戏/漫画提示词独立配置
- 历史记录 UI 改版 + 漫画图片浏览
- 关于页面改版 + FAQ 更新
- 检查更新改进
- 框选暂停自动翻译、确认按钮移入选框内
- 游戏翻译 UI 改版:可拖动结果、锁定/关闭按钮、菜单简化
- 翻译通知 UI 优化
🐛 Bug 修复
- 修复 manga-ocr 删除后状态不更新问题
- 修复 PP-OCRv5 各语言名称冗余前缀
🧹 清理与优化
- 模型管理页面改版(PP-OCRv5 合并到识别器区域)
- 所有下载模型添加浏览器下载按钮
- 图片资源 png → webp 格式转换
- 代码重构:提取 OnnxUtils、GeometryUtils、UiUtils、ServiceUtils
- 重命名:MoeTranslate → StarFlow
v0.4.0 更新内容
✨ 新功能
- 像素驱动自动翻译引擎:YIQ 感知像素对比,跳过稳定页面的重复 OCR
- LRU 缓存(20条):相同文字直接返回缓存翻译,无需调用 API
- 游戏翻译调试浮窗:实时显示状态、像素差异、耗时,可折叠日志面板
- 翻页稳定性检测开关:开启等页面稳定再翻译,关闭立即翻译(适合视频字幕)
- 像素变化阈值可调(默认 1%):控制页面变化检测灵敏度
- 检测间隔可调(最低 300ms):控制截图和像素检查频率
- IDLE 状态详细日志:显示每次像素比较结果
🐛 Bug 修复
- 修复像素阈值设置无效的 bug:SIMILAR_THRESHOLD 硬编码为 0.5%,忽略用户设置
- 修复截图裁剪区域越界崩溃:悬浮球靠近屏幕边缘时坐标超出 bitmap 范围
- 修复 OCR 为空时反复触发 OCR 的死循环:改为进入 IDLE 等待页面变化
- 修复翻译回调后不调度下一次检测的问题
🧹 清理与优化
- 删除无用的字长阈值和相似度阈值设置(已被像素检测替代)
- 删除 OCR 合并模式设置,MLKit/PP-OCRv5 固定直接合并
- 菜单名"游戏翻译"改为"游戏/视频翻译"
- 检测间隔不再依赖稳定性检测开关,随时可调
- 截图错误添加 logcat 日志输出
v0.3.0 更新内容
🎨 界面更新
- 替换应用启动图标为全新星星角色图标
- 更新关于页面和调试页面的图标
- 调试菜单改为二级结构(一级标题带图标,二级开关无图标)
- 开放源码声明添加 fork 项目(MoeTranslate)和 5 个参考项目
- 更新 README.md 项目描述和 Logo
- 个性化设置:字长阈值和相似度阈值设置项(游戏翻译专用)
✨ 新功能
- 实现检查更新功能(GitHub Releases API)
- 实现公告系统(GitHub Gist)
- 历史记录页面:游戏列表 + 漫画网格,支持查看大图和删除
- 游戏翻译缓存命中时显示 ⚡ 标识
- 文字相似度设置:字长阈值和相似度阈值(游戏翻译自动翻译专用)
🐛 Bug 修复
- 修复普通模式下 manga-ocr 模型未下载时无法切换到下一个模型的问题(现在会自动跳过不可用模型)
- 修复漫画自动翻译 MOTION 状态卡住 10 秒的问题(改为连续截图比较)
- 修复进度 overlay 被截图捕获导致 pHash 不稳定的问题
🧹 清理与优化
- 清理 git 历史中的大文件,仓库体积从 1.28GB 降至 ~280MB
- 更新 .gitignore,排除 .reference/、docs/ 临时文件、tools/ 等
- 删除无用的 VuePress 文档部署 workflow
- 精简 CLAUDE.md(339行→112行)
- 移除游戏翻译 pHash 缓存查找,改用文字相似度检测
- 移除废弃的漫画翻译模型设置(det/rec model)
- 移除自动翻译轮询间隔和消失延迟设置,硬编码为 1000ms
- 漫画自动翻译:关闭 overlay 后立刻恢复检测,翻页响应更快
下载说明:
后续更新计划:
- 截图内容分组提交,manga 等识别慢速模型分批翻译,显示部分翻译结果
- 分场景提示词模板(用户可选)
- 个性化悬浮窗手动翻译快捷键:双击/单击/长按(翻译/打开悬浮窗/切换模型/自动翻译)
- 第一次使用后添加 API 引导页面
- 长时间处于相同页面待机状态自动退出翻译进程
- 测试本地 AI 翻译
@