工程版本记录 · 2026.10.04
桌面状态反馈与本地识别后的可选 AI 润笔
恢复系统图标的状态切换,同时明确本地识别、渐进预览和可选文字润笔的区别。本页记录 2.0.37 候选进展,不代表新安装包已完成公证、安装验收或正式上线。
01 · 用户症状
应用在录音,但菜单栏图标没有切换。
菜单栏或系统托盘仍显示完整 InkTyper 品牌图标,却不能看出正在录音、转写、润笔还是写入文字。悬浮窗能帮助判断,但隐藏它之后,系统图标就缺少状态反馈。
关键代码证据是显示层缺口:Electron 路径只更新 tooltip 和菜单文字,没有在初始化之后切换托盘图片;旧原生客户端原本会切换图标。这不代表识别 API 没有运行。
02 · 修复机制
一套状态机,不依赖悬浮窗是否显示。
共享桌面代码保留完整品牌图形,加上有明确形状的状态徽标。tooltip 与菜单显示实际处理阶段,不使用闪烁动画。
| 状态 | 图形反馈 | 恢复规则 |
|---|---|---|
| 就绪 | 原始完整品牌图标 | 直到开始录音 |
| 录音 | 红色录音圆点 | 直到停止或取消 |
| 上传 / 转写 / 润笔 / 写入 | 琥珀色时钟 | 直到完成、取消或失败 |
| 完成 | 绿色勾 | 1.8 秒后恢复就绪 |
| 出错 | 珊瑚色感叹号 | 3.5 秒后恢复就绪;主窗口保留具体错误 |
状态由可信录音与处理事件驱动,悬浮窗隐藏不会清空状态。停止后迟到的音量事件不能重新标为“录音”;新录音会覆盖旧完成定时器。Live 即时插入过程中,只要麦克风仍在录音,就保持录音提示。
03 · 性能保护
状态变化不等于波形动画。
图像按状态缓存,并准备多显示比例表示。连续音量帧不会重复重建图标或菜单。取消、账号切换、窗口关闭与退出会清理定时器。这减少了可避免的界面工作,但不能当作已经测得的内存或延迟提升。
04 · 本地识别不等于本地 AI 润笔
Progressive Preview 显示识别结果,不是滚动 AI 润笔。
已检查的本地路径在录音时出现的是 ASR 文字。基础清理和用户维护的纠正规则,与语义编辑模型不同。候选代码可以在停止后选择将最终文字送至 API 润笔,不会安装独立本地润笔模型。
| 路径 | AI 编辑 | 数据边界 |
|---|---|---|
| 本地识别 · Raw | 不执行独立 AI 编辑 | 不为云端 ASR 上传识别音频 |
| 本地识别 · Progressive Preview + API 编辑 | 停止后可选;本地预览中不做 rolling AI | 获许可后发送文字、词表、纠正规则和自定义指令,不发送音频 |
| Live 即时插入 | 跳过润笔;不重写已插入的文字 | 识别采用所选、受支持的本地或云端路径 |
文字润笔需要非 Raw 模式、登录、联网、文字上传许可与剩余 AI 编辑额度,单次最多 4000 字。拒绝上传仍可本地识别;条件不满足、超时或润笔失败时保留原文。
AI 编辑不保证识别准确,也不能代替前段切分、去重或最后尾段提交机制。
05 · 验证证据
代码、包内容与隔离 GUI 检查,不等于已安装用户验收。
| 检查 | 实际结果 | 证据边界 |
|---|---|---|
| 2026-10-03 桌面测试基线 | 177 项:175 通过、0 失败、2 跳过 | 跳过项依赖 Windows 签名验证 |
| 2026-10-04 2.0.37 macOS 复验 | 178 项:176 通过、0 失败、2 跳过;TypeScript / 界面构建通过 | 新增签名 probe 回归;平台专用检查仍需 Windows |
| Windows CI 37137401715 | 178 / 178 通过,0 失败、0 跳过;x64 NSIS 安装器构建成功 | 安装器与应用仍为 NotSigned;未进行物理设备安装或输入验收 |
| 四目标 packaged 本地 ASR | win32-x64、darwin-arm64、darwin-x64、linux-x64 五语种六场景检查通过 | 只覆盖 renderer adapter 与 native worker,不含真实麦克风 IPC、热键或目标应用粘贴 |
| macOS arm64 候选包 | Developer ID 构建完成;严格签名、稳定开发者 / Bundle 身份、架构、entitlements 与包内 ASR 检查通过 | Gatekeeper 为 Unnotarized Developer ID;公证预检仍被账号协议要求阻止 |
| Linux 候选包 | AppImage 与 deb 构建完成,两种包内 ASR 均通过;AppImage 隔离 GUI smoke check 通过 | GUI 在 Xvfb 运行,截图确认主界面正常,不等于物理用户桌面安装 |
| 独立原生 Tray 探针 | macOS 与 Linux 探针通过;macOS 覆盖五状态及多比例图像 | 独立测试环境;Windows 原生托盘及第三方菜单栏集成仍未验收 |
ASR 测试覆盖中文 zh、英语 en、粤语 yue、日语 ja、韩语 ko。六个场景为完整句、渐进预览、Live 即时输出、停顿后继续与最终尾段、取消正在进行的 native decode、静音。受控样例通过,不代表对所有口音或真实输入目标的一般准确率承诺。
状态回归覆盖 1000 次连续音量事件、停止后的竞争、旧定时器取消、结束状态恢复及生命周期清理。这些检查不证明新的生产 p50/p90/p95、真实麦克风 / 热键 / 粘贴验收,也不表示已更新安装应用。
06 · 发布边界
工程报告上线,不会自动更新已安装的二进制。
已检查基线中,Mac 安装版本为 2.0.32,不包含本地识别后的可选 API 润笔。该能力已在 2.0.36 候选代码中,本轮 2.0.37 候选继续包含它和托盘状态修复。
下载审计发现 Windows 官网固定别名实际为 2.0.3,而更新接口提供 2.0.19;2.0.36 包是内部未签名候选。这是不同的分发状态,不是同一次同步发布。
2.0.37 候选现已构建:macOS arm64 的 Developer ID 签名已检查,但未公证;Windows x64 明确保持 INTERNAL-UNSIGNED;Linux AppImage / deb 通过包内 ASR,AppImage 的隔离 GUI 检查也通过。这些结果不表示已为用户安装新包,也不表示已推广至稳定发布通道。
07 · 下一步验收
验证真实安装包和普通下载路径。
- 保留同版本、可追溯的候选产物,完成最终哈希、签名与安装验收。
- 完成 Apple 公证 / Gatekeeper,以及 Windows 发行者 / 时间戳 / 公信证书链检查。
- 实测系统托盘状态、麦克风、目标应用粘贴和重启后登录恢复。
- 在真实系统上验证 Windows 第三方菜单栏与 Linux 托盘。
- 同步官网固定下载、精确版本产物、更新接口和发布记录,不要求页面附加 version 参数。
这些门禁完成之前,内部未签名包继续保持内部状态。后续发布证据应明确补充到日期化记录,不能把候选检查悄悄改成生产声明。