Ariver
2026-06-14 e86df221fa8f9d6796fb7fe59020767d7c806fac
CHANGELOG.md
@@ -1,5 +1,128 @@
# Changelog
## v2.1.31 (2026-06-14)
### X-ASR 实验修复
- **X-ASR 首字保护**:hold 模式在按下热键时立即开始预采集音频,确认不是组合键后再显示浮窗并进入正式录音,降低“你看看”等短句首字丢失概率。
- **组合键与短按隔离**:预采集阶段检测到组合键或用户过早松开热键时会丢弃音频,不进入识别流程。
- **X-ASR 开头上下文 padding**:X-ASR streaming session 首次接收音频时补 250ms 前置静音,提升贴近开头的短音节稳定性。
- **取消路径加固**:Escape 取消会停止实时字幕 session,并阻止同一次按住手势在 debounce 后重新启动录音;引擎不可用时仍允许已有录音释放/取消清理完成。
- **隔离范围**:首字保护能力仅由 X-ASR streaming engine 启用;SenseVoice、Qwen3-ASR、Moonshine、Parakeet 不启用预采集路径。
### 构建
- build: `20260614.2056`
- 说明: 本版本为 X-ASR 首字/尾字稳定性实验测试包,不是 App Store 正式上传包。
---
## v2.1.30 (2026-06-07)
### X-ASR 实验修复
- **X-ASR 尾句保护**:最终识别前追加 1.5 秒静音 padding,并保留 decode 过程中的最后一个非空结果,减少松开热键时最后一句丢失的问题。
- **录音中实时字幕**:X-ASR 录音时复用现有动态浮窗显示小号实时字幕;松开热键后浮窗切到“识别中/完成”,最终文本仍按原流程粘贴到目标 App。
- **流式 session 接口**:新增 streaming engine/session 抽象,当前只由 X-ASR 使用;SenseVoice、Qwen3-ASR、Moonshine、Parakeet 行为保持不变。
- **录音增量读取**:Recorder 支持安全读取新增 PCM 样本,用于低延迟字幕,不影响最终录音样本收集。
- **macOS 上屏安全同步**:同步正式上架线的剪贴板校验与代际保护,降低关闭“保留到剪贴板”时误粘旧内容的风险。
### 构建
- build: `20260613.2201`
- 说明: 本版本为 X-ASR 实时字幕与尾句修复实验候选包,不是 App Store 正式上传包。
---
## v2.1.29 (2026-06-07)
### 实验候选包
- **X-ASR 960ms 实验模型**:新增 `x-asr-zh-en-960ms` 实验模型 profile,用于评估中英混输和未来“边说边出字”方向。
- **macOS X-ASR streaming backend**:在 macOS 下接入 sherpa-onnx `OnlineRecognizer`,先复用现有“一段录音 -> 最终文本”听写流程验证模型效果,不改 live partial 上屏链路。
- **本地模型安装脚本**:新增 `scripts/install-x-asr-zh-en-960ms.sh`,只下载 Hugging Face `chunk-960ms-model` 所需四个文件,不把大模型放入 git。
- **回滚保护**:已创建 `codex/freeze-2.1.28-appstore-20260605.0353`,指向已上传成功的 2.1.28 App Store 源码基线。
### 构建
- build: `20260607.0147`
- 说明: 本版本为 X-ASR 技术实验候选包,不是 App Store 正式上传包。
---
## v2.1.28 (2026-06-04)
### 发布冻结
- **App Store 发布冻结版本**:冻结上一轮关于页审核信息补全后的代码,准备进入 Mac App Store 发布流程。
- **发布资料准备**:补充市场发布交接材料、App Store 元数据草稿、隐私与审核说明、构建与上传前置条件清单。
### 构建
- build: `20260604.0049`
- 说明: 本版本为 Mac App Store 发布冻结基线;本机可生成 App Store sandbox POC 包,真正上传包仍需 Apple Distribution / 3rd Party Mac Developer Installer 证书与 App Store Connect 账号。
---
## v2.1.27 (2026-06-03)
### QA 候选包
- **关于页审核信息补全**:关于页显示 `私语输入法 (PrivateVoice Dictation)`、离线识别说明、数据不出设备声明、开源项目归属、版权许可、隐私政策和支持反馈链接。
- **苹果审核链接更新**:版权许可、隐私政策、支持反馈统一指向 `privatevoice-dictation-support` 支持站点;保留 VoiceSnap 原项目地址入口。
- **英文界面同步**:English 关于页同步展示等价隐私与许可说明,避免系统语言为英文时仍显示旧审核信息。
### 构建
- build: `20260603.2238`
- 说明: 本版本为关于页审核信息补全后的用户验收候选包。
---
## v2.1.26 (2026-06-03)
### 修复
- **macOS App 名称按系统语言本地化**:中文系统显示 `私语输入法`,英文系统显示 `PrivateVoice Dictation`。
- **麦克风权限提示本地化**:中文系统下麦克风授权文案改为中文。
- **macOS 构建脚本复制本地化资源**:本地、正式、App Store POC 和 Developer ID sandbox 构建都会把 `*.lproj/InfoPlist.strings` 打入 `.app/Contents/Resources`。
### 构建
- build: `20260603.2151`
---
## v2.1.25 (2026-06-03)
### QA 候选包
- **中文界面品牌文案本地化**:中文语言版本下,侧栏和关于页显示 `私语输入法`、`永远离线·稳定极速`。
- **关于页中文卖点调整**:中文关于页卖点改为 `私密离线 · 自定义词库 · 保护隐私` 和 `真正属于你的语音输入法`。
- **英文正式名保留**:macOS App 正式包名和英文界面仍保持 `PrivateVoice Dictation`。
### 构建
- build: `20260603.2102`
- 说明: 本版本为中文界面品牌文案修正后的用户验收候选包。
---
## v2.1.24 (2026-06-03)
### QA 候选包
- **品牌命名调整**:App 正式名称从 `PrivateVoice Input` 改为 `PrivateVoice Dictation`,同步 macOS App bundle、DMG 文件名、Info.plist、Wails 构建配置和用户可见文案。
- **侧栏 Logo 区调整**:左侧品牌区只显示 `PrivateVoice`,下方小字显示 `Private. Offline.`。
- **升级兼容保护**:本轮不迁移用户数据目录,继续使用既有 `Application Support/PrivateVoice Input`,避免影响历史记录、模型文件和系统权限。
### 构建
- build: `20260603.1934`
- 说明: 本版本为 Round 5 后追加的 UI/品牌命名验收候选包。
---
## v2.1.23 (2026-06-03)
### QA 候选包
@@ -88,6 +211,188 @@
---
## v2.1.18 (2026-06-01)
### 改进
- **统一权限页字体层级**:收敛权限页标题、摘要、权限项标题、按钮和状态文字的字号与字重,使其与其他设置页保持一致。
### 构建
- build: `20260601.1905`
---
## v2.1.17 (2026-05-31)
### 改进
- **防止历史页清理菜单文案换行**:加宽底部“清理”下拉菜单,并保持清理选项单行显示,避免“清除已导出 CSV 的历史”断行。
### 构建
- build: `20260531.1359`
---
## v2.1.16 (2026-05-31)
### 改进
- **调整历史页清理入口位置**:将“清理”菜单从顶部工具栏移动到底部分页区域左侧,减少顶部操作拥挤,并让清理确认提示跟随底部入口显示。
### 构建
- build: `20260531.1131`
---
## v2.1.15 (2026-05-31)
### 改进
- **历史页增加基础分页与存储安全提示**:历史页改为后端分页加载,每页固定 100 条,并新增历史文件大小、打开所在文件夹、清除已导出 CSV 历史和基于全量统计的导出菜单状态。
- **用户词库列表增加基础分页**:词库页改为后端分页加载,每页固定 100 条,避免词库规则过多时一次性渲染整张列表。
### 构建
- build: `20260531.1102`
---
## v2.1.14 (2026-05-31)
### 改进
- **统一应用内图标视觉**:设置页侧边栏、About 页和首次设置页改用与 Dock 一致的蓝色麦克风图标,移除 `P` / `V` 字母图标。
### 构建
- build: `20260531.0120`
---
## v2.1.13 (2026-05-30)
### 改进
- **历史勘误 CSV 支持未处理增量导出**:历史记录新增 `exportedAt`,导出勘误 CSV 可选择“今天未处理 / 近 7 天未处理 / 全部未处理”,成功写入 CSV 后才标记本次历史,避免下次重复导出旧记录。
- **优化勘误表预览明细排序**:导入预览优先展示新增、冲突、无效、超限和重复等关键项,空项排到最后,摘要统计仍包含全部候选。
### 构建
- build: `20260530.1949`
---
## v2.1.12 (2026-05-30)
### 改进
- **调整词库页导入导出按钮**:用户词库按钮改名为“导入用户词库 / 导出用户词库”并放在一起,“导入勘误表”移动到工具栏最右侧。
### 构建
- build: `20260530.1800`
---
## v2.1.11 (2026-05-30)
### 改进
- **CSV 勘误表改为中文表头**:导出的勘误 CSV 使用 `记录ID`、`识别时间`、`识别历史文本`、`错误词/正确词` 等中文列名,样例行文案改为“正确的格式是点 CSV”,并保持导入端兼容旧版英文表头。
### 构建
- build: `20260530.1757`
---
## v2.1.10 (2026-05-30)
### Bug 修复
- **修复历史保留时长不生效**:移除后端固定最多 50 条历史的硬截断,识别历史现在会按用户选择的 7 天、30 天、90 天或永久真实保留。
- **修复历史文件清理不及时**:新增历史、读取历史和切换保留时长时都会按当前保留规则清理过期记录,并同步保存到 `history.json`。
### 改进
- **展示历史保存位置**:历史页面新增 `history.json` 保存路径展示,长路径单行省略但可复制完整路径,避免撑坏页面布局。
- **新增历史勘误 CSV 流程**:历史页可导出勘误 CSV,词库页可导入勘误表并先预览新增、重复、冲突、无效、空项和超限统计,确认后只追加新增规则。
- **增强词库写入安全**:CSV 勘误导入采用批量追加和写入失败整体回滚,避免半写入;新写入的 `history.json` 和 `userdict.json` 权限收紧到 `0600`。
### 构建
- build: `20260530.1640`
---
## v2.1.9 (2026-05-28)
### 改进
- **产品改名为 PrivateVoice Input / 私语输入**:更新应用可见名称、窗口标题、打包元数据、启动项名称、单实例锁和系统数据目录。
- **更新 About 信息**:关于页展示“永远离线·稳定极速 / Private.Offline”以及 MIT License 二次开发声明和支持页面链接。
- **保留旧用户数据迁移**:新数据目录会从旧 `VoiceSnap` 应用支持目录迁移配置、词库、历史和模型文件,已存在的新文件不会被覆盖。
### 构建
- build: `20260528.1206`
---
## v2.1.8 (2026-05-19)
### Bug 修复
- **修复长按松手后悬浮窗可能停在录音态**:松手后立即切到“识别中”,音频设备停止和采样转换改为后台执行,避免底层音频 stop 偶发卡住导致浮窗假死。
- **修复右 Alt 状态可能残留**:macOS 侧按键检测会用系统实时 Option flags 校正旧事件态,防止 release 事件异常时误判为仍在按住。
### 构建
- build: `20260519.1818`
---
## v2.1.7 (2026-05-19)
### Bug 修复
- **修复多屏输入时悬浮动效跑到别的屏幕**:macOS 录音动效现在优先跟随当前辅助功能焦点窗口,其次跟随前台 App 窗口,再兜底鼠标所在屏幕。
### 构建
- build: `20260519.1603`
---
## v2.1.6 (2026-05-18)
### Bug 修复
- **优化点按结束手感**:录音中第二次按下热键即刻停止,不再等到松开;“完成”状态自动隐藏缩短到 250ms。
- **修复 macOS 长按启动不稳**:右 Alt 的事件态不再 250ms 后过期,长按启动阈值调整为 180ms。
### 构建
- build: `20260518.2229`
---
## v2.1.5 (2026-05-18)
### 改进
- **重做 macOS 录音悬浮动效**:从黑色胶囊改为透明无边界的蓝粉光波样式,保留中心跳动元素与录音计时。
- **优化多显示器定位**:拖拽保存、启动还原和默认显示位置按对应屏幕处理,避免副屏或垂直排列屏幕下悬浮窗跳回主屏。
### 构建
- build: `20260518.2205`
---
## v2.1.4 (2026-05-18)
### 改进