Skip to content

SnapOCR v1.0.2

Choose a tag to compare

@github-actions github-actions released this 06 Nov 05:45
· 20 commits to main since this release

SnapOCR v1.0.2 是稳定性修复版:功能与界面没有变化,修掉 18 个缺陷,其中 3 个会让程序「双击没反应」,3 个会在长时间任务里把界面卡住或让数据悄悄丢掉。

🛡️ 修好了「双击没反应」

  • 历史文件被改坏就打不开程序:history.json 里只要有一条结构不对(手工编辑、磁盘写坏、旧版本残留),构造窗口时就抛异常,进程直接退出、连报错窗口都没有。现在逐条校验,坏记录跳过并在状态栏提示「已跳过 N 条」,11 组脏数据全部能正常启动。
  • 设置文件里快捷键写错也打不开:settings.json 的 hotkey_capture 变成 null、数字或数组时,拼提示文字时 .upper() 直接崩。现在逐项类型兜底,非法值回落到默认的 Ctrl+Alt+Q,9 组脏数据全部正常启动。
  • 双开互相覆盖历史:同时开两个实例时,两边各自持有全量历史、退出时全量重写,后写的把先写的记录永久抹掉,还会出现一次热键弹出两个遮罩。现在程序是单实例的:再次双击只是把已有窗口唤到前台。需要刻意多开排查问题可以加 --multi。

🚀 修好了「卡住 / 占内存 / 静默失效」

  • 导出大文件时界面整段冻住:PDF / docx 渲染原来在主线程同步跑,10 万行 PDF 要 137 秒,期间窗口无法拖动。现在整体搬到后台线程:77 万字符导出时 start() 1 毫秒返回;超过 20 万字会先提示预计耗时;进度框可取消,取消后会删掉半成品文件。
  • 批量识别一次性把图片全读进内存:500 张 1080p 会常驻 600 MB 以上,读盘还在 GUI 线程里做,点下去界面先卡 1 秒。现在只把路径交给线程,线程逐张读、逐张识别,并显示「第 x/y 张:文件名」进度。
  • PDF 识别点了「取消」没反应:取消后不发任何信号,进度框留在屏幕上下不去。现在取消必定发信号、关框、提示「已取消」。
  • 改快捷键失败却提示「已保存」:注册失败被静默吞掉,用户以为生效了、实际热键全废。现在失败会回滚到上一次真正注册成功的组合并弹窗说明(提示文案按平台区分:Linux 需 root、macOS 需辅助功能权限)。
  • 单个按键也能被注册成热键:把热键设成 A 或 F1 会把全系统这个键劫持掉,打字都在截图。现在保存前校验必须是「修饰键 + 普通键」,A / F1 / Ctrl+Shift 一律拒绝。

🔧 其它加固

  • 历史写入改「临时文件 + 原子替换 + fsync」:磁盘写满或断电不会把已有记录截断成半个 JSON,写失败会提示而不是静默丢失。
  • 截图遮罩改为覆盖整个虚拟桌面,副屏在主屏左侧/上方(坐标为负)时选区不再偏移;长截图回传绝对物理坐标。
  • 零尺寸图片不再触发除零;灰度 / 四通道截图统一转成三通道再识别。
  • 超长单行文本翻译会循环分块(每段 ≤5000 字符),不会再发出超限请求被接口拒绝。
  • 预热失败(模型缺失、目录不可写)会在状态栏说明,不再静默。
  • 空内容不再导出空白文件;Excel 导出跳过空行;旧版本识别结果结构异常时容错。

📦 下载说明

文件 说明
SnapOCR-v1.0.2-win64.7z 推荐:onedir 绿色包,解压一次即用,启动约 2.5 秒
SnapOCR.exe 单文件版,双击即用(每次启动要自解压 160 MB,约 11–16 秒)
*.sha256 SHA-256 校验文件

系统要求:Windows 10/11 x64。默认简体中文模型已内置,识别全程离线;切换到繁中 / 英 / 日 / 韩时首次会下载对应模型(只下载模型文件,不上传任何截图或识别文本),之后离线可用。

SHA-256 校验值:

SnapOCR-v1.0.2-win64.7z
40bd0c545cd41d360b3fc72755b7b89fac566178c4d02694e1db2ba18af7570e

SnapOCR.exe
ef694b4a52ac28679a70594129ef461d8cacd6e9f21e661324aec6c44d8bd50c

⬆️ 要不要升级

建议都升。 v1.0.1 在下面这些情况下会出问题,而它们都不是极端操作:

  • 用过一段时间的 history.json 恰好有一条坏记录 → 打不开;
  • 手工改过设置里的快捷键(写错格式)→ 打不开;
  • 习惯开两个窗口对照着用 → 历史会莫名少记录;
  • 导出大段内容、批量识别几十张图 → 界面冻结几十秒。

⚠️ SmartScreen 提示

本程序暂未做代码签名,首次运行可能弹出「Windows 已保护你的电脑」。点「更多信息 → 仍要运行」即可,建议先用上方校验值核对文件完整性。介意的话可从源码自行构建(Python 3.10+):pip install -r requirements.txt && python entry.py。

📝 反馈

识别不准、有 bug、想要新功能?欢迎提 Issue,附上截图(脱敏后)和期望文本是最有效的反馈方式。完整测试报告见仓库 docs/QA-REPORT-2026-11-06.md。