Skip to content

ASRbox v0.1.5

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Jul 08:21

ASRbox demo

ASRbox v0.1.5 是一次以安全边界、任务可靠性和字幕数据一致性为核心的加固版本。它不改变正常转写、编辑和导出的使用方式,重点修复并发重试、worker 退出、活动任务误操作、长音频时间轴、音频访问凭据和桌面特权文件操作等异常路径;同时把字幕编辑真正接入后端版本化保存,并补齐此前没有进入 CI 的维护测试。

中文 README · English README

当前 DMG 未签名、未公证,仅支持 Apple Silicon Mac。升级前建议备份 ASRbox 数据;完成正在运行的转写和模型下载后,正常退出应用,再打开 DMG 手动替换。

下载

下载后建议校验:

shasum -a 256 -c SHA256SUMS.txt

本版本变化

安全与隐私边界

  • MCP 本地路径摄取限制在明确允许的根目录,避免容器或非桌面部署读取任意宿主文件。
  • API token 改用 Authorization header;浏览器原生音频播放使用单路径资源票据,30 分钟空闲过期且最长 24 小时不可续期,敏感 query 参数在访问日志前移除。
  • 非回环 Docker 发布地址缺少 token 时拒绝启动;桌面端不再收养无法验证所有权的既有健康服务。
  • 模型删除必须命中注册表,批量导出会净化 ZIP 条目名;WebView 不再拥有宽泛 shell-open 能力。
  • Tauri 侧校验保存目录、打开目标和更新下载目标,拒绝可执行应用包及其符号链接别名。

任务与字幕可靠性

  • worker 异常或线程级退出不会让任务队列永久停摆,受影响任务会记录失败并自动补员。
  • retry、retranscribe、delete、failed-chunk retry、派生文件清理和媒体 relink 遵守单写者规则;活动任务收到冲突响应,不会重复入队或交错覆盖字幕段。
  • failed-chunk 恢复只认领失败分片,支持部分恢复、取消优先和最终单版本合并;耗时推理不再阻塞 API 事件循环。
  • 删除运行中任务必须先取消;切片失败清理本次生成的部分文件,orphan 清理递归扫描但保留数据库引用。
  • 校对建议应用与任务状态转换互斥,避免同时编辑产生不一致版本。

用户可感知修复

  • OpenAI 兼容 ASR 的时间戳单位不再因音频超过约 16.7 分钟而误判,长音频字幕时间轴保持正确。
  • SSE 首次连接失败会自动重连;服务器地址和 token 只在明确保存后应用。
  • 字幕文本、时间戳和说话人编辑会保存到后端并创建不可变版本,导出的 SRT/VTT/ASS/TXT/JSON/Markdown 使用最新保存内容。
  • 转写轮询不会覆盖正在编辑的草稿;大字幕版本 diff 使用有界算法,长音频波形和全局快捷键的资源/输入边界更安全。
  • SQLite 备份使用在线快照,媒体与网络 subprocess 具有超时,runtime 兼容性探测在有界子进程中完成。

测试与发布质量

  • 为 MCP、特权文件边界、任务生命周期、字幕结构编辑、资源票据、SSE、快捷键和大字幕 diff 增加回归测试。
  • 前端单元测试和全部维护 Playwright 场景现在由本地开源门禁、CI 和 Release 共同执行。
  • 版本门禁同时检查 package、后端、Tauri、Docker/Compose、Bun/Cargo 锁文件、README、发布指南和版本化 release notes。
  • 全部变化见 CHANGELOG

验证情况

  • 后端、API contract、前端单元、TypeScript 与 Web 生产构建通过。
  • 完整维护 Playwright 套件与 Tauri/Rust 单元测试通过。
  • 第三方 FFmpeg 校验、依赖审计、Docker 构建/持久化/浏览器验证和开源就绪门禁通过。
  • GitHub Release workflow 会再次构建并测试 Docker、冻结 FastAPI sidecar、构建 Apple Silicon DMG,并发布校验值与 FFmpeg 源码包。

已知限制

  • 仅发布 macOS Apple Silicon DMG;Docker 为 Linux CPU(不含 MLX),默认绑定回环地址。
  • 安装包未签名、未公证,可能触发 macOS Gatekeeper;应用内下载不会自动安装或绕过系统安全检查。
  • Provider API key 仍以明文保存在本地 SQLite,并可能包含在用户主动创建的备份中;请保护应用数据目录和备份文件。
  • 进程内任务转换锁以当前单 Uvicorn 进程部署为边界;未来若支持多进程 worker,需要数据库级任务认领。
  • 模型需单独下载,可能占用较多磁盘、内存和首次加载时间。

完整比较:v0.1.4...v0.1.5