状态:功能性 QA PASS,可进入用户验收;正式公开分发仍需 Developer ID 签名和 notarization
日期:2026-06-02
测试包:PrivateVoice Input 2.1.19 build 20260602.2022
| 项目 | 内容 |
|---|---|
| QA 包目录 | /Users/ar/Projects/VoiceSnap-2.1.1-QA-build/Release/PrivateVoice-Input-2.1.19-build20260602.2022 |
| manifest | /Users/ar/Projects/VoiceSnap-2.1.1-QA-build/Release/PrivateVoice-Input-2.1.19-build20260602.2022/RELEASE_MANIFEST.md |
| 源码 commit | f4194105fe06baa18f0145cc59e1914f96f2d4cb |
| tag | v2.1.19-build20260602.2022 |
| 安装架构 | arm64 |
| 安装方式 | 覆盖安装到 /Applications/PrivateVoice Input.app |
旧版 App:
2.1.1820260601.1905com.privatevoice.inputPrivateVoice Local Code Signing用户数据:
| 项目 | 结果 |
|---|---|
| 数据目录 | /Users/ar/Library/Application Support/PrivateVoice Input |
| 数据目录大小 | 235 MB |
| 旧模型目录 | models/sensevoice |
config.json |
存在 |
userdict.json |
存在,146 条 replacement |
history.json |
存在,安装前 1640 条历史 |
备份:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/pre-upgrade-20260602.2030
结论:PASS。
已执行:
PrivateVoice Input。PrivateVoice Input.app 到 /Applications。/Applications/PrivateVoice Input.app 的 Info.plist 和 codesign。安装后 App 元数据:
CFBundleShortVersionString = 2.1.19CFBundleVersion = 20260602.2022CFBundleIdentifier = com.privatevoice.inputLSUIElement = trueLSMinimumSystemVersion = 11.0签名验证:
/Applications/PrivateVoice Input.app: valid on disk
/Applications/PrivateVoice Input.app: satisfies its Designated Requirement
结论:PASS。
启动日志确认:
PrivateVoice Input starting... version=2.1.19 build=20260602.2022
Loading model sensevoice-zh from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice
Engine initialized: SenseVoice · CoreML (Apple Neural Engine)
ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)
判断:
sensevoice-zh profile 成功 fallback 到旧目录 models/sensevoice。models/state.json 不存在时 fallback 路径正常。结论:PASS。
升级后关键哈希:
| 文件 | 结果 |
|---|---|
config.json |
与安装前一致 |
userdict.json |
与安装前一致 |
models/sensevoice/model.int8.onnx |
与安装前一致 |
models/sensevoice/tokens.txt |
与安装前一致 |
history.json |
发生变化,符合新增识别历史预期 |
升级后统计:
结论:PASS。
日志确认:
真实输入证据:
Recognized: 说完了。
历史写入证据:
history.json 最新记录包含真实识别文本。说明:
结论:PASS。
观察方式:
lsof -nP -a -i -p <PrivateVoice Input PID>
采样时间:
2026-06-02 22:09:47 - 22:10:17
结果:
PrivateVoice Input 进程持有网络 socket。日志文件:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/network-sample-20260602.log
结论:PASS。
执行方式:
App 重启证据:
PrivateVoice Input 当前进程:
PID 38909
启动时间 Tue Jun 2 22:59:09 2026
启动日志证据:
[2026-06-02 22:59:09] INFO PrivateVoice Input starting... version=2.1.19 build=20260602.2022
[2026-06-02 22:59:10] INFO Loading model sensevoice-zh from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice
[2026-06-02 22:59:16] INFO Engine initialized: SenseVoice · CoreML (Apple Neural Engine)
[2026-06-02 22:59:16] INFO ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)
真实识别证据:
[2026-06-02 22:59:19] INFO Recording started
[2026-06-02 22:59:25] INFO Recording stopped, 100800 samples captured
[2026-06-02 22:59:25] INFO Recognized: 这是 mac 电脑用 SenseVoice 做离线识别。
历史写入证据:
history.json 最新记录:
这是 mac 电脑用 SenseVoice 做离线识别。
网络证据边界:
PrivateVoice Input 当前进程也无网络 socket。日志文件:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/offline-restart-app-log-20260602.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/offline-restart-postcheck-20260602.log
判断:
结论:PASS。
已通过:
userdict.json。补测过程:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/userdict-before-replacement-rules-20260602.2216.json麦 ac -> Macss voiceice -> SenseVoicesin voice -> SenseVoice真实输入证据:
这是 mac 电脑用 SenseVoice 做离线识别。
历史写入证据:
history.json 最新记录包含:
好了。
这是 mac 电脑用 SenseVoice 做离线识别。
这是Mac 电脑用 sing voice 做离线识别。
这是咩卖。
判断:
sing voice -> SenseVoice 是后续可补充的词库覆盖项,不阻塞 Round 1 模型 profile QA。结论:PASS。
执行方式:
/Users/ar/Library/Application Support/PrivateVoice Input 临时移动到隔离目录。/Applications/PrivateVoice Input.app,模拟完全没有历史、词库和模型的新用户。备份与隔离:
完整备份:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/pre-new-user-clean-install-20260602.231851
原数据临时隔离:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/original-userdata-held-for-new-user-20260602.231851
新用户测试生成的数据:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/new-user-generated-data-20260602.231851
新用户首启结果:
启动时间:2026-06-02 23:19:19
新数据目录大小:228 MB
生成文件:
app.log
config.json
userdict.json
models/state.json
models/sensevoice-zh/model.int8.onnx
models/sensevoice-zh/tokens.txt
首启日志证据:
[2026-06-02 23:19:19] INFO PrivateVoice Input starting... version=2.1.19 build=20260602.2022
[2026-06-02 23:19:19] ERROR Engine initialization failed: model sensevoice-zh is not usable: not_installed missing=[/Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice] problems=[]
[2026-06-02 23:19:19] INFO Downloading model from URL 1: http://www.maikami.com/voicesnap/sensevoice.zip
[2026-06-02 23:19:27] INFO Extracting model archive...
[2026-06-02 23:19:27] INFO Model download and extraction complete
[2026-06-02 23:19:27] INFO Loading model sensevoice-zh from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice-zh
[2026-06-02 23:19:30] INFO Engine initialized: SenseVoice · CoreML (Apple Neural Engine)
[2026-06-02 23:19:30] INFO ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)
网络行为:
PrivateVoice Input 打开到 http://www.maikami.com/voicesnap/sensevoice.zip 的 HTTP 连接。
判断:
models/sensevoice-zh。models/sensevoice,但后续下载和 sensevoice-zh 初始化成功;这是日志可读性问题,不是本轮功能阻断。首轮遗留与补测结果:
2026-06-03 补测:
备份:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/pre-new-user-recognition-20260603.005122
原数据临时隔离:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/original-userdata-held-for-new-user-recognition-20260603.005122
新用户测试生成的数据:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/QA-backups/new-user-generated-data-20260603.005122
补测首启日志:
[2026-06-03 00:51:42] INFO PrivateVoice Input starting... version=2.1.19 build=20260602.2022
[2026-06-03 00:51:43] INFO Downloading model from URL 1: http://www.maikami.com/voicesnap/sensevoice.zip
[2026-06-03 00:51:50] INFO Extracting model archive...
[2026-06-03 00:51:51] INFO Model download and extraction complete
[2026-06-03 00:51:51] INFO Loading model sensevoice-zh from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice-zh
[2026-06-03 00:51:53] INFO ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)
补测真实识别与历史写入证据:
[2026-06-03 00:54:33] INFO Recognized: 我上次在 getthub 上,然后把我的软件的 help 文档都上传到这里了。我现在需要更新一下。
[2026-06-03 00:54:36] INFO Recognized: 我应该怎么操作呢?
[2026-06-03 00:54:45] INFO Recognized: 另外你建不建议我下一个 github 的 DMG 在本地安装一下,用客户端操作。
[2026-06-03 00:55:04] INFO Recognized: 我只是想覆盖一下已经上传的文件,然后文件名和下载地址都不要变。
新用户 history.json:
4 条记录,最新记录为:
我只是想覆盖一下已经上传的文件,然后文件名和下载地址都不要变。
恢复结果:
2026-06-02 首轮恢复时间:2026-06-02 23:22:04
2026-06-03 补测恢复时间:2026-06-03 00:55:54
恢复后数据目录大小:235 MB
恢复后历史:1676 条
恢复后 replacement:149 条
恢复后模型目录:models/sensevoice
恢复后 App 重新加载 SenseVoice 成功。
日志文件:
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-clean-install-20260602.231851.setup.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-clean-install-20260602.231851.launch.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-clean-install-20260602.231851.recognition.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-clean-install-20260602.231851.restore.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-recognition-20260603.005122.setup.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-recognition-20260603.005122.launch.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-recognition-20260603.005122.recognition.log
/Users/ar/Projects/VoiceSnap-2.1.1-QA-build/02-P-NBL/round-1/logs/qa-runtime/new-user-recognition-20260603.005122.restore.log
结论:PASS。
检查结果:
System Events process: PrivateVoice Input
background only=false
visible=true
frontmost=false
windows=2
LSUIElement=true
判断:
| 项目 | 状态 | 原因 |
|---|---|---|
| replacement 真实触发 | PASS | 补充规则并重启后,真实识别链路出现 SenseVoice 替换结果 |
| 完整断网启动识别 | PASS | 用户手动断网后 App 重启、SenseVoice 初始化、真实识别和历史写入均成功 |
| 新用户干净安装 | PASS | 首启、下载、安装、初始化、第一次真实识别和历史写入均通过 |
| Developer ID / notarization | NOT RUN | 当前包是本地签名 QA 包 |
当前结论:
2.1.19 Round 1 QA 包功能性 QA PASS,可进入用户验收;正式公开分发仍需 Developer ID 签名和 notarization。
已通过的核心项:
不属于本地功能 QA、但正式分发前仍需完成的项目: