feat(mac): add Qwen3 MLX streaming dictation

Replace the Sherpa offline pipeline with native MLX streaming, resilient model downloads, live transcript previews, and supporting tests and documentation.
This commit is contained in:
Rocky
2026-07-23 14:34:56 +08:00
parent f1a811fbf0
commit c0c9dad149
35 changed files with 1373 additions and 764 deletions
@@ -84,6 +84,11 @@ public enum LocalASRModelInstallState {
fileManager: FileManager
) -> Bool {
switch model.backend {
case .mlx:
guard let config = layout.mlxConfig,
let weights = layout.mlxWeights else { return false }
return fileManager.fileExists(atPath: root.appendingPathComponent(config).path)
&& fileManager.fileExists(atPath: root.appendingPathComponent(weights).path)
case .sherpaQwen3:
guard let conv = layout.convFrontend,
let encoder = layout.encoder,