From e1c362699c9a545b9db99130424f5f32d20723c4 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Wed, 03 Jun 2026 18:18:40 +0800 Subject: [PATCH] Record Round 5 QA and harden model downloads --- CHANGELOG.md | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd87d89..f836437 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,88 @@ # Changelog +## v2.1.22 (2026-06-03) + +### QA 候选包 + +- **Round 4 Parakeet English 高级模型**:English 语言版本新增 `parakeet-en` 可选高级模型,默认模型仍保持 `moonshine-en`。 +- **Nemo Transducer backend**:macOS sherpa-onnx 接入 Parakeet NeMo Transducer 配置,支持 `encoder.int8.onnx`、`decoder.int8.onnx`、`joiner.int8.onnx`、`tokens.txt` 四文件结构。 +- **模型选择 UI**:设置页新增 English 模型选择卡片,支持 Moonshine 与 Parakeet 下载、切换、当前状态展示和进度展示。 +- **语言隔离保护**:手动选择的模型必须兼容当前语言;切回中文后继续使用 SenseVoice 默认路径,不让 English 模型污染中文配置。 +- **下载失败保护**:Parakeet 下载中断后不会破坏当前 Moonshine/SenseVoice;下一次同模型下载前会清理旧 partial,避免残留大体积临时目录。 +- **真机 QA**:已完成 Parakeet 真实下载、加载、英文识别、断网英文识别、重启持久化、Moonshine 回退、中文 SenseVoice 回归和用户数据保护验证。 + +### 构建 + +- build: `20260603.1608` +- 说明: 本版本为 Round 4 QA 通过后的测试包候选,待生成 DMG、release manifest、验证并打 tag 后交付用户验收。 + +--- + +## v2.1.21 (2026-06-03) + +### QA 候选包 + +- **Round 3 Moonshine English 默认模型**:English 语言版本默认 current model 改为 `moonshine-en`,中文语言版本继续默认 `sensevoice-zh`。 +- **Moonshine backend**:macOS sherpa-onnx 接入 Moonshine v1 四文件配置:`preprocess.onnx`、`encode.int8.onnx`、`uncached_decode.int8.onnx`、`cached_decode.int8.onnx`、`tokens.txt`。 +- **模型选择解析**:新增 `ModelSelectionMode=auto|manual`,旧配置缺字段时按 `auto` 处理,避免 Round 2 的 `SelectedModelID=sensevoice-zh` 锁死 English 默认模型。 +- **按当前模型下载**:Onboarding 改为调用 `DownloadCurrentModel()`,由后端根据 effective language 和 profile 选择下载 SenseVoice 或 Moonshine。 +- **语言切换同步模型**:设置页切换中文/English 后会刷新 current model;缺模型时进入 onboarding,已安装时重载引擎。 +- **安全回归保护**:Moonshine 初始化失败会清空旧引擎,避免用户实际继续使用旧模型;SenseVoice 中文路径和用户数据保持兼容。 +- **QA 资料**:新增 `02-P-NBL/round-3` 下 PRD、研发拆解、QA 计划、自查、复审、QA handoff 和 QA 预检记录。 + +### 构建 + +- build: `20260603.1327` +- 说明: 本版本为 Round 3 QA 测试包候选,已完成源码级自查和 QA 预检,仍需真机验证 Moonshine 下载、加载、英文断网识别、history 写入、语言切换和中文 SenseVoice 回归。 + +--- + +## v2.1.20 (2026-06-03) + +### QA 候选包 + +- **Round 2 语言版本设置**:设置页新增“语言版本”,支持自动、中文、English 三种模式。 +- **系统语言解析**:新增语言 profile 和 resolver,中文系统默认中文,English 系统默认 English,其他语言默认 English。 +- **前端 i18n 切换**:语言切换后设置页、侧边栏、关于页等关键文案立即切换。 +- **老用户兼容**:旧 `config.json` 缺少 `LanguageMode` / `LanguageID` 时可正常启动,并自动 fallback。 +- **模型隔离**:本轮语言切换不引入 Moonshine / Parakeet / Qwen3-ASR,不改写或删除 SenseVoice 模型。 +- **QA 资料**:新增 `02-P-NBL/round-2` 下 PRD、研发拆解、QA 计划、QA 报告和验收记录。 + +### 构建 + +- build: `20260603.1145` +- 说明: 本版本为 Round 2 QA 通过后的测试包候选,已完成老用户升级、新用户临时 HOME、语言切换、重启持久化、断网启动和断网真实语音输入复测。 + +--- + +## v2.1.19 (2026-06-02) + +### QA 候选包 + +- **Round 1 模型 Profile 架构基线**:将正式源码目录固定为 `privatevoice.src`,建立模型 profile、安装状态、resolver、staging 下载校验和旧 `models/sensevoice` fallback 基线,为后续 Moonshine / Parakeet / Qwen3-ASR 多模型扩展做准备。 +- **模型下载安全性**:下载流程改为临时目录下载、staging 解压校验、安全替换;primary URL 下载到坏包时会继续尝试 fallback URL;失败时不删除已有可用模型。 +- **启动状态可恢复**:engine 初始化区分缺模型和模型结构存在但不可加载,前端可通过 `EngineService.GetStatus()` 补查启动早期状态。 +- **QA 资料**:新增 `02-P-NBL/round-1` 下 PRD、研发拆解、QA 计划、自查记录、预检记录和自动化测试日志。 + +### 构建 + +- build: `20260602.2022` +- 说明: 本版本为 Round 1 QA 测试包,尚需真机验证真实 SenseVoice 模型、麦克风权限、断网识别、replacement、历史写入、网络观察和 macOS 窗口/Dock smoke。 + +--- + +## v2.1.4 (2026-05-18) + +### 改进 + +- **更新 macOS App 图标**:采用最终确认的 B 版白底蓝色麦克风矢量图标,并保留轻微麦克风层次阴影,重新生成 PNG、iconset 和 `icon.icns`。 + +### 构建 + +- build: `20260518.1748` + +--- + ## v2.1.3 (2026-05-18) ### 新功能 -- Gitblit v1.9.3