Skip to content

v1.1.3

Choose a tag to compare

@Bronzesakon Bronzesakon released this 10 Jul 13:57
· 9 commits to main since this release

MiMo ASR Assistant v1.1.3 发布说明

2026-07-10 | 工程优化版本


可维护性

  • Base64 编码去重:audio/mod.rs 和 dpapi.rs 中的重复 Base64 实现提取到 src-tauri/src/base64.rs,两处引用同一份代码
  • 重试逻辑统一:三处独立的 retry loop 收归 api/mod.rs(transcribe_with_retry / chat_with_retry),消除参数不一致风险

性能

  • SSE buffer 优化:parse_sse_stream 中用 drain/consumed 模式替代 buffer = buffer[N..].to_string(),消除长流场景下的每行堆重分配
  • slice_wav 快路径:16-bit PCM 切片跳过 hound 逐采样写入,直接构造 WAV 头 + dump 原始 PCM 字节,切片速度提升 3-5x
  • convert_to_wav 分段解码:全量解码积累(60 分钟 44.1kHz 立体声 ≈ 1.27GB)改为 30 秒分段解码(峰值 ~7MB),余料结转确保无音频丢失
  • Channel buffer 8→4:内存峰值减半
  • Markdown 三层渲染:纯文本快速路径(escapeHtml 跳过 marked.js)+ 150ms debounce 聚合 + marked.js 兜底,流式场景 CPU 开销降低 ~90%
  • 规整可中断:规整中按钮变为"停止规整",点击即取消后台任务,不再需要被动等完整结果

边界条件修复

  • 音频尾部阈值 1.0→0.2s:短音频(1.5s)最后 0.5s 不再丢失
  • chunks_exact(2)→chunks(2):防御计算误差导致的尾部字节静默丢弃
  • load_config 损坏保护:JSON 解析失败时备份原文件为 config.json.bak 并输出 error 日志,不再静默降级为默认配置
  • 文件导入去重:同一 path 的文件重复导入时 toast 提示,不再添加重复条目
  • Markdown 行间距修复:white-space: pre-wrap 仅纯文本模式生效,修复 Markdown 内容 5-7x 行高问题
  • 类型安全:移除 4 处不必要的 as any

版本号

index.html, package.json, Cargo.toml, tauri.conf.json → 1.1.3