Todo 或 In Progress。In Progress。Done,补一句完成结果。VoiceSnapGo/build/darwin/tray_icon.png 的有效内容区域从约 156x156 放大到约 220x220。20260517.2306VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.2306-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。/Applications/VoiceSnap.app。/Users/ar/.codex/generated_images/019e2f69-755a-74a2-9a61-0e390fda0463/ig_0a6e87fd2c8e3f65016a09c4c865688191ade9691cb608b2e4.pngVoiceSnapGo/build/darwin/macos26_mic_app_icon.pngVoiceSnapGo/build/darwin/icon.icnsVoiceSnapGo/build/darwin/VoiceSnap-macos26-mic.icns20260517.2142VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.2142-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。/Applications/VoiceSnap.app,安装后图标 hasAlpha: yes。VoiceSnapGo/build/darwin/app_icon_source.pngVoiceSnapGo/build/darwin/refined_mic_app_icon.pngVoiceSnapGo/build/darwin/VoiceSnap-refined-mic.icnsVoiceSnapGo/build/darwin/icon.icnsVoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.2046-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。/Users/ar/Downloads/VoiceSnap-2.1.1/VoiceSnapGo/build/windows/icon.icoVoiceSnapGo/build/darwin/original_app_icon.pngVoiceSnapGo/build/darwin/VoiceSnap-original.icnsVoiceSnapGo/build/darwin/icon.icnsVoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.2039-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。UserDictService.GetAll 返回时按 createdAt 倒序排列,时间相同时按 id 倒序兜底。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.1811-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。Hotkey combination source 日志,后续如果还被判定组合键,可以直接看到触发源。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.1631-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。Hotkey marked as combination 拦截,原因是 macOS 侧边 Option 查询会把左 Alt 误报为按下。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.1622-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。2.1.1 (build 20260517.1614)。CFBundleVersion 改为 20260517.1614,安装后的 /Applications/VoiceSnap.app 已验证。version、build、executable 和 dataDir。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-build20260517.1614-arm64-local.dmgVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg 已替换为同一份新包。L-Alt/R-Alt 原始事件序号、事件类型、flags、事件状态、轮询状态。~/Library/Application Support/VoiceSnap/app.logVoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmgflagsChanged 修饰键状态逻辑,避免重复事件把右 Alt 状态翻转错误。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmgCGEventTap 事件源追踪键盘状态。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg[2026-05-17 15:24:08] INFO ...。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmgflagsChanged 事件追踪左右修饰键状态。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmgApplication Support/VoiceSnap,避免更新 App 后丢失。~/Library/Application Support/VoiceSnapconfig.json、userdict.json、history.json、models/sensevoice、app.log.app/Contents/MacOS 位置复制缺失数据到新目录,不覆盖已有新数据。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmgR-Ctrl 改为 R-Alt。R-Alt 时左 Alt 不能触发。userdict-20260517-1503.json。from 和 to 字段。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg.app/.dmg。VoiceSnapGo/build/darwin/app_icon.pngVoiceSnapGo/build/darwin/icon.icnsVoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmguserdict.json。.app/.dmg,本次只替换图标资源,不改业务代码。VoiceSnapGo/build/local/arm64/VoiceSnap.appVoiceSnapGo/build/local/arm64/VoiceSnap-2.1.1-arm64-local.dmg.icns。VoiceSnapGo/build/darwin/approved_app_icon.pngVoiceSnapGo/build/darwin/VoiceSnap-approved.icns/Users/ar/Downloads/VoiceSnap-approved.icns