From 58c2c4ae5eaca3dff127f2ffb15f9dd2b160f994 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sun, 07 Jun 2026 01:45:59 +0800 Subject: [PATCH] Record X-ASR experimental build --- 02-P-NBL/freeze/20260607-x-asr-experimental-build.md | 52 +++++++++++++++++ Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/RELEASE_MANIFEST.md | 78 ++++++++++++++++++++++++++ Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/SHA256SUMS.txt | 1 3 files changed, 131 insertions(+), 0 deletions(-) diff --git a/02-P-NBL/freeze/20260607-x-asr-experimental-build.md b/02-P-NBL/freeze/20260607-x-asr-experimental-build.md new file mode 100644 index 0000000..597b22f --- /dev/null +++ b/02-P-NBL/freeze/20260607-x-asr-experimental-build.md @@ -0,0 +1,52 @@ +# 2026-06-07 X-ASR 2.1.29 实验包记录 + +## 结论 + +已生成 `2.1.29 build 20260607.0141` Apple Silicon 本机实验包,用于测试 X-ASR 960ms 效果。 + +此包不是 App Store 上传包,不替代当前 2.1.28 App Store 审核线。 + +## 回滚 + +稳定上架基线: + +- Tag: `v2.1.28-build20260605.0353-appstore-upload` +- Branch: `codex/freeze-2.1.28-appstore-20260605.0353` +- Commit: `82ce4aa571dfa74032d4697984cc932257cfa35b` + +实验包源码: + +- Branch: `codex/x-asr-experiment-2.1.29` +- Commit: `825443c94207230def2fb467bfa6e665478e03f2` +- Tag: `v2.1.29-build20260607.0141-xasr-experimental` + +## 产物 + +```text +/Users/ar/Desktop/PrivateVoice-26.0604上架/03-本机测试包/PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg +/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg +``` + +SHA256: + +```text +365b98d908e2ab2614cc73a97da6fa2a9398482a2823f69312d75e9b8a2d51bb +``` + +## 验证记录 + +- X-ASR 960ms 四文件下载并安装到本机模型目录:PASS +- 模型目录无 `com.apple.quarantine`:PASS +- `go test -count=1 ./internal/model ./internal/modelselection ./internal/engine`:PASS +- `PRIVATEVOICE_XASR_SMOKE=1 go test -count=1 ./internal/engine -run TestXASRRealModelSmoke -v`:PASS +- 本机 arm64 DMG 构建:PASS +- DMG `hdiutil verify`:PASS +- 安装到 `/Applications/PrivateVoice Dictation.app`:PASS +- 安装后 code signature:PASS +- 安装后版本/build/category/export compliance plist:PASS + +## 已知范围 + +- 当前只是把 X-ASR streaming recognizer 接入现有最终文本听写流程。 +- 还没有做 live partial 上屏,也没有做 VAD endpointing 产品化。 +- X-ASR 模型没有随 DMG 打包,需要先运行安装脚本或保留当前本机模型目录。 diff --git a/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/RELEASE_MANIFEST.md b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/RELEASE_MANIFEST.md new file mode 100644 index 0000000..009178e --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/RELEASE_MANIFEST.md @@ -0,0 +1,78 @@ +# PrivateVoice Dictation 2.1.29 build 20260607.0141 + +## 类型 + +X-ASR 技术实验本机测试包。 + +这不是 App Store 上传包,不是 universal 包;仅用于 Apple Silicon 本机测试 X-ASR 960ms 模型效果。 + +## 源码 + +- Branch: `codex/x-asr-experiment-2.1.29` +- Commit: `825443c94207230def2fb467bfa6e665478e03f2` +- Tag: `v2.1.29-build20260607.0141-xasr-experimental` +- Rollback baseline: `v2.1.28-build20260605.0353-appstore-upload` +- Rollback branch: `codex/freeze-2.1.28-appstore-20260605.0353` + +## 变更 + +- 新增 `x-asr-zh-en-960ms` experimental model profile。 +- macOS 下新增 sherpa-onnx `OnlineRecognizer` backend,用于 X-ASR 960ms 最终文本识别实验。 +- 新增 `privatevoice.src/scripts/install-x-asr-zh-en-960ms.sh`,只下载 `chunk-960ms-model` 所需文件。 +- `Info.plist` 新增 `ITSAppUsesNonExemptEncryption=false`。 + +## 构建命令 + +```bash +cd /Users/ar/Projects/PrivateVoice/privatevoice.src +./scripts/build-local-macos.sh arm64 --install +``` + +## 产物 + +```text +/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg +/Users/ar/Desktop/PrivateVoice-26.0604上架/03-本机测试包/PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg +``` + +SHA256: + +```text +365b98d908e2ab2614cc73a97da6fa2a9398482a2823f69312d75e9b8a2d51bb PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg +``` + +## 本机模型依赖 + +X-ASR 模型未打包进 DMG。测试机器已通过安装脚本安装: + +```text +/Users/ar/Library/Application Support/PrivateVoice Input/models/x-asr-zh-en-960ms +``` + +模型目录大小:`598M`。 + +必需文件: + +- `encoder-960ms.onnx` +- `decoder-960ms.onnx` +- `joiner-960ms.onnx` +- `tokens.txt` + +## 验证 + +- `go test -count=1 ./internal/model ./internal/modelselection ./internal/engine`: PASS +- `PRIVATEVOICE_XASR_SMOKE=1 go test -count=1 ./internal/engine -run TestXASRRealModelSmoke -v`: PASS +- X-ASR 960ms model load: PASS, `X-ASR zh-en 960ms · CPU` +- Installed app bundle ID: `com.shanghai3168.privatevoicedictation` +- Installed app version/build: `2.1.29 / 20260607.0141` +- `LSApplicationCategoryType`: `public.app-category.productivity` +- `ITSAppUsesNonExemptEncryption`: `false` +- `codesign -vvv --deep --strict /Applications/PrivateVoice Dictation.app`: PASS +- Installed binary architecture: `arm64` +- DMG SHA256 recorded: PASS + +## 注意 + +- 本包使用 `PrivateVoice Local Code Signing` 本地签名身份。 +- 本包已安装到 `/Applications/PrivateVoice Dictation.app`。 +- 如果系统辅助功能权限失效,需要在系统设置里移除旧的 `PrivateVoice Dictation` 权限项后重新添加 `/Applications/PrivateVoice Dictation.app`。 diff --git a/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/SHA256SUMS.txt b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/SHA256SUMS.txt new file mode 100644 index 0000000..f607b59 --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0141/SHA256SUMS.txt @@ -0,0 +1 @@ +365b98d908e2ab2614cc73a97da6fa2a9398482a2823f69312d75e9b8a2d51bb PrivateVoice-Dictation-2.1.29-build20260607.0141-arm64-local.dmg -- Gitblit v1.9.3