Skip to content

Releases: xujunjiex/StarFlow

v0.9.2

Choose a tag to compare

@xujunjiex xujunjiex released this 21 Jul 20:21

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

Choose a tag to compare

@xujunjiex xujunjiex released this 15 Jul 08:59

v0.8.6 更新内容

🐛 Bug 修复

  • 修复游戏/视频翻译退出时偶发 SIGSEGV 崩溃(Shooter use-after-free,quitSafely 后未 join 回调线程)
  • 修复引导页面"无障碍服务"页"继续"按钮点击无响应(缺少 setOnClickListener)
  • 修复个性化设置运行时修改部分开关不生效(漫画文字/背景颜色、AI 上下文开关/轮数未监听 prefs 变化)
  • 修复模型管理页面显示 bug

🔧 其他改动

  • 删除死代码:FloatingTextView.kt 整个文件、TranslationResultView.setLocked/isLockedView/onLockChangedIncremental_Render no-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

Choose a tag to compare

@xujunjiex xujunjiex released this 27 Jun 20:38

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

Choose a tag to compare

@xujunjiex xujunjiex released this 21 Jun 11:59

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

Choose a tag to compare

@xujunjiex xujunjiex released this 13 Jun 17:33

@## 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 翻译
    @