From 605a6b2b280c0b2d555f0e2fad56b289361ce29c Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sun, 07 Jun 2026 11:28:52 +0800 Subject: [PATCH] Add X-ASR live captions --- CHANGELOG.md | 257 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 257 insertions(+), 0 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78f0f20..86c2b3e 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,80 @@ # Changelog +## 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 样本,用于低延迟字幕,不影响最终录音样本收集。 + +### 构建 + +- build: `20260607.1127` +- 说明: 本版本为 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 候选包 @@ -118,6 +193,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) ### 改进 -- Gitblit v1.9.3