Ariver
2026-06-07 a1fc54478e517b7bfdc26f7cd544acfab61658f4
Record X-ASR experimental build 0147
1 files modified
2 files added
98 ■■■■■ changed files
02-P-NBL/freeze/20260607-x-asr-experimental-build.md 17 ●●●●● patch | view | raw | blame | history
Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md 80 ●●●●● patch | view | raw | blame | history
Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt 1 ●●●● patch | view | raw | blame | history
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
Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/RELEASE_MANIFEST.md
New file
@@ -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 替代。
Release/PrivateVoice-Dictation-2.1.29-build20260607.0147/SHA256SUMS.txt
New file
@@ -0,0 +1 @@
8b2d85b31236ce83ac2ff692e6d095574ce117c0f1783bb85d882ea300288cfa  PrivateVoice-Dictation-2.1.29-build20260607.0147-arm64-local.dmg