From a1fc54478e517b7bfdc26f7cd544acfab61658f4 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sun, 07 Jun 2026 01:51:24 +0800 Subject: [PATCH] Record X-ASR experimental build 0147 --- Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md | 80 ++++++++++++++++++++++++++++++++++++++++ Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt | 1 02-P-NBL/freeze/20260607-x-asr-experimental-build.md | 17 +++++--- 3 files changed, 91 insertions(+), 7 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 index 597b22f..557efe1 100644 --- a/02-P-NBL/freeze/20260607-x-asr-experimental-build.md +++ b/02-P-NBL/freeze/20260607-x-asr-experimental-build.md @@ -2,9 +2,11 @@ ## 结论 -已生成 `2.1.29 build 20260607.0141` Apple Silicon 本机实验包,用于测试 X-ASR 960ms 效果。 +已生成 `2.1.29 build 20260607.0147` Apple Silicon 本机实验包,用于测试 X-ASR 960ms 效果。 此包不是 App Store 上传包,不替代当前 2.1.28 App Store 审核线。 + +`20260607.0141` 是早期实验包,因 X-ASR 中文字间空格修复被 `20260607.0147` 取代,不建议再使用。 ## 回滚 @@ -17,28 +19,29 @@ 实验包源码: - Branch: `codex/x-asr-experiment-2.1.29` -- Commit: `825443c94207230def2fb467bfa6e665478e03f2` -- Tag: `v2.1.29-build20260607.0141-xasr-experimental` +- Commit: `90dfe73f1a1b6815cfba08ec165394719005e4cf` +- Tag: `v2.1.29-build20260607.0147-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 +/Users/ar/Desktop/PrivateVoice-26.0604上架/03-本机测试包/PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg +/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg ``` SHA256: ```text -365b98d908e2ab2614cc73a97da6fa2a9398482a2823f69312d75e9b8a2d51bb +8b2d85b31236ce83ac2ff692e6d095574ce117c0f1783bb85d882ea300288cfa ``` ## 验证记录 - X-ASR 960ms 四文件下载并安装到本机模型目录:PASS - 模型目录无 `com.apple.quarantine`:PASS -- `go test -count=1 ./internal/model ./internal/modelselection ./internal/engine`:PASS +- `go test -count=1 ./internal/textproc ./internal/model ./internal/modelselection ./internal/engine`:PASS - `PRIVATEVOICE_XASR_SMOKE=1 go test -count=1 ./internal/engine -run TestXASRRealModelSmoke -v`:PASS +- X-ASR 中文字间空格后处理测试:PASS - 本机 arm64 DMG 构建:PASS - DMG `hdiutil verify`:PASS - 安装到 `/Applications/PrivateVoice Dictation.app`:PASS diff --git a/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md new file mode 100644 index 0000000..a3afabb --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md @@ -0,0 +1,80 @@ +# PrivateVoice Dictation 2.1.29 build 20260607.0147 + +## 类型 + +X-ASR 技术实验本机测试包。 + +这不是 App Store 上传包,不是 universal 包;仅用于 Apple Silicon 本机测试 X-ASR 960ms 模型效果。 + +## 源码 + +- Branch: `codex/x-asr-experiment-2.1.29` +- Commit: `90dfe73f1a1b6815cfba08ec165394719005e4cf` +- Tag: `v2.1.29-build20260607.0147-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` 所需四个文件。 +- 修复 X-ASR 中文输出常见的 CJK 字间空格,例如 `请 你 根 据` 会归并为 `请你根据`。 +- `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.0147/PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg +/Users/ar/Desktop/PrivateVoice-26.0604上架/03-本机测试包/PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg +``` + +SHA256: + +```text +8b2d85b31236ce83ac2ff692e6d095574ce117c0f1783bb85d882ea300288cfa PrivateVoice-Dictation-2.1.29-build20260607.0147-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/textproc ./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.0147` +- `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`。 +- `20260607.0141` 是早期实验包,已被本 build 替代。 diff --git a/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt new file mode 100644 index 0000000..9a085bc --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt @@ -0,0 +1 @@ +8b2d85b31236ce83ac2ff692e6d095574ce117c0f1783bb85d882ea300288cfa PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg -- Gitblit v1.9.3