我把 Typeless 刪啦!開源產品 Airtype 終於支持本地模型,本地優先的語音輸入真香!

作者:01麻瓜社
日期:2026年8月13日 上午8:10
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Airtype v0.13.0 加入完全本地語音識別,Qwen3-ASR + MLX 令語音輸入私隱優先、唔使 API Key

整理版摘要

呢篇文章由開源 macOS 語音輸入工具 Airtype 嘅開發者 sugarforever 親自寫,講述 v0.13.0 版本加入『MLX Local』,令語音轉文字可以完全喺 Mac 本地運行,徹底擺脱雲端 API Key 同音頻上傳。以前用 Airtype 要將錄音送去 OpenAI、ElevenLabs 等服務,用戶要自己搞 API Key,而且網絡唔穩定就會影響轉錄。今次改動最核心係將成條數據路徑變成『錄音 → Mac 本地模型 → 即時出字』,私隱同穩定性都大幅提升。

作者想帶出一個關鍵觀點:本地模型唔係就咁喺選單加個名咁簡單,背後要處理模型下載、管理、推理、同埋 macOS 公開分發嘅簽名公證等成串問題。佢揀咗 Qwen3-ASR 嘅 4-bit 量化版本,透過 MLX 框架喺 Apple Silicon 上執行,模型由 Hugging Face 嘅 mlx-community 倉庫下載。整體結論係呢個版本真正實現『Your voice. Your Mac.』嘅理念,但同時亦要對技術細節有足夠掌握先做到。

文章實際俾咗好清晰嘅用法:開設置揀 MLX Local,下載 0.6B 或 1.7B 模型,然後按住快捷鍵講嘢就得。對於開發者嚟講,佢亦分享咗發佈前遇到嘅問題,例如 MLX Audio 依賴要固定版本、公證時遇到開發者協議過期等,非常有參考價值。

  • 結論Airtype v0.13.0 透過 MLX Local 實現完全本地語音轉文字,唔使 API Key,錄音唔會上傳,私隱優先。
  • 方法:用 Qwen3-ASR 4-bit 量化模型(0.6B / 1.7B)+ MLX 框架,喺 Apple Silicon 上直接推理,模型由 Hugging Face 下載。
  • 差異:本地化唔係加個模型名,而要處理模型選擇、模型管理同本地推理三層能力,仲要考慮依賴版本同 macOS 公證。
  • 啟發:代碼可以編譯唔等於功能可以發佈,發佈前要處理簽名、公證、依賴固定,先係一個完成嘅功能。
  • 可行動點:用戶可以而家就試:設置揀 MLX Local → 下載模型 → 按 Option+Space 講嘢;0.6B 慳資源,1.7B 質素更高。
值得記低
連結 airtype.space

Airtype 官網

產品首頁,宣示『Your voice. Your Mac. Nothing else.』

連結 github.com

Airtype 開源代碼倉庫

GitHub 上嘅 Airtype 源碼

連結 github.com

Airtype v0.13.0 Release

下載最新版本

連結 huggingface.co

Qwen3-ASR-0.6B-4bit

MLX Community 轉換嘅 4-bit 模型,約 708 MB

整理重點

點解要將識別搬返 Mac?

Airtype 原本嘅做法係錄音後將音頻交俾雲端服務(OpenAIElevenLabsMistral、豆包等)轉寫,再將結果插入當前應用。呢條路徑雖然可以快速接入唔同服務商,但用戶要自己準備 API Key,而且每次講嘢都會產生網絡請求。

用戶要自己準備 API Key,錄音仲要上傳

對於一個長期待喺菜單欄、隨時可能被喚起嘅語音輸入工具,呢啲摩擦好難忽略。用戶講嘅內容可能係未寄出嘅郵件、一段代碼、會議筆記,甚至只係未成形嘅想法。

  • API Key 要自己去申請,增加入門門檻
  • 錄音要經網絡送出,有私隱顧慮
  • 轉寫受網絡同外部服務狀態影響,唔穩定

v0.13.0 冇移除原有雲端服務,而係增加咗 MLX Local。揀佢之後,基本過程變成:麥克風錄音 → Mac 本地音頻文件 → Qwen3-ASRMLX 喺 Apple Silicon 上推理 → 文字出現喺當前光標位置。

錄音唔使上傳,API Key 都唔使

整理重點

本地模型唔係下拉框裏面嘅一個名

開始研究 Qwen3-ASR 時,好自然會以為:Airtype 已經支援好多語音模型,再向列表加兩個名就得。答案係唔夠。雲端模型背後有服務商負責模型文件、GPU、推理服務同版本更新,應用只需要組織一次網絡請求;本地模型將呢啲責任帶返客戶端。

要令普通用戶喺 Airtype 入面揀一個模型並開始講嘢,至少需要三層能力:

  1. 1 模型選擇:話畀應用知要跑 0.6B 定 1.7B
  2. 2 模型管理:完成首次下載、緩存檢查、安裝狀態顯示同刪除
  3. 3 本地推理:讀取錄音,用對應模型生成文字,並接返 Airtype 原有輸入流程

呢次改動最後涉及 13 個文件,新增同調整咗約 840 行代碼。項目入面加入咗獨立嘅本地 ASR 接口、模型管理器、MLX 轉寫服務同 Qwen3-ASR 適配層;設置頁同首次啟動流程亦要理解一種『唔需要 API Key 嘅 Provider』。

涉及 13 個文件、約 840 行代碼

唔需要 API KeyProvider

整理重點

Qwen3-ASR、MLX 同 4-bit

Qwen3-ASR 官方發佈咗 0.6B 同 1.7B 兩個主要尺寸,支援自動語言識別、30 種語言同 22 種中文方言。官方常見運行方式係 PythonTransformers 或 vLLM,適合伺服器同 Python 環境,但唔係原生 Swift 菜單欄應用最自然嘅依賴方式。

Airtype 用嘅係 MLX Community 轉換嘅兩個版本,佢哋唔係重新訓練,而係由 Qwen 官方權重轉換同量化而來。4-bit 指主要模型權重經過低比特量化,令模型文件同內存佔用降低,代價係理論上可能輕微損失精度。

  • Qwen3-ASR-0.6B-4bit:約 708 MB,預設選擇,佔用更低
  • Qwen3-ASR-1.7B-4bit:約 1.6 GB,更看重識別質量先揀

MLXApple 面向 Apple Silicon 推出嘅機器學習框架。Airtype 透過 Swift 依賴直接加載模型,利用 Mac 嘅統一內存同 GPU 完成推理,唔需要在後台啟動 Python 服務。模型文件嚟自 Hugging Face 嘅 mlx-community 倉庫;Apple 提供運行框架同 Metal 加速,但唔託管呢兩個模型。

4-bit 量化令模型更適合個人電腦運行

MLX 直接喺 Apple Silicon 上推理,唔使 Python 服務

成條本地鏈路由幾部分組成Qwen 提供模型、MLX Community 轉換量化、Hugging Face 託管權重、MLX 執行推理、Airtype 負責將呢一切變成一個安裝按鈕同一組快捷鍵。

Airtype 負責將一切變成安裝按鈕同快捷鍵

整理重點

由可以編譯到可以發佈

今次開發有一個好實際嘅過程:代碼可以編譯,唔等於功能已經可以公開發布。最初實現已經接通模型選擇、下載同轉寫,但發佈審計仍然發現咗一啲問題。

  • MLX Audio 依賴追蹤緊不停變化嘅 main 分支,唔穩定
  • 設置入面出現咗尚未影響推理嘅計算模式
  • 改動入面夾帶咗與今次版本無關嘅 GLM-ASR 實驗

最終發佈時,作者將範圍收斂到兩個 Qwen3-ASR 4-bit 模型,並將 MLX Audio 固定喺一個已經構建驗證嘅 commit 上。由於套依賴需要更新嘅 SwiftMetal 工具鏈,GitHub Actions 發佈環境都由原本嘅 Xcode 16.2 調整到 Xcode 26.2。

之後先係原生 macOS 應用公開分發必須經過嘅部分:Release ArchiveDeveloper ID 簽名、Apple 公證、stapling、DMG 打包同 GitHub Release。第一次 CI 喺公證階段遇到 Apple 開發者協議過期,接受協議後重新運行,v0.13.0 先完整發布。

Xcode 26.2

Developer ID 簽名、Apple 公證

整理重點

而家點樣用?

Airtype 係原生 SwiftUI 菜單欄應用,需要 macOS 14 或以上。安裝 v0.13.0 之後,可以咁樣啟用本地識別:

  1. 1 打開 Airtype 設定,喺 Voice Input 中選擇 MLX Local
  2. 2 Qwen3-ASR-0.6B-4bit,撳 Install 下載模型
  3. 3 下載完成後,按住預設快捷鍵 Option + Space 講嘢
  4. 4 放開快捷鍵,識別出嘅文字會插入當前應用嘅光標位置

預設快捷鍵 Option + Space

0.6B 更啱第一次用。如果機器內存充足,而且更看重識別質量,可以再安裝 1.7B 比較嚇自己嘅實際場景。

0.6B 更適合作為第一次使用嘅選擇

模型安裝完成之後,日常轉寫唔需要 API Key,亦唔會將錄音交俾雲端語音服務。雲端 Provider 仍然保留,適合需要特定模型或服務能力嘅用戶;MLX Local 則令最基礎嘅語音輸入唔再依賴任何外部賬户。

我寫嘅開源 macOS 語音輸入工具 Airtype,啱啱推出咗 v0.13.0。呢個版本淨係加咗一項主要功能,但就改變咗成個產品最根本嘅一條路:而家語音轉文字可以完全喺 Mac 本地運行。由呢刻開始,本地優先、私隱優先嘅語音輸入,等你、我、佢,以至任何人,都用得更加安心!

圖片


唔使註冊帳户,唔使填 API Key,錄音都唔使上傳去雲端。第一次下載好模型之後,撳住快捷鍵講嘢,Qwen3-ASR 會直接喺 Apple Silicon 上完成辨識,再將文字放喺而家遊標嘅位置。

我將新版首頁 https://airtype.space/ 嘅主標題改做咗:

Your voice. Your Mac. Nothing else.

圖片

Airtype v0.13.0 官網首頁

呢篇我想利用 Airtype v0.13.0 嘅實現,講清楚「完全本地」具體改變咗啲乜,同埋一個開源語音模型要真正入到原生 macOS 應用程式,中間仲要補返啲乜。希望對大家有幫助。

點解要將辨識搬返 Mac

Airtype 原本嘅運作方式好常見:錄低聲音,將音訊交俾 OpenAI、ElevenLabs、Mistral 或者豆包等服務去做轉寫,再將結果插入而家嘅應用程式。

呢條路線可以用唔同服務商嘅模型,亦都方便快速接入新功能,但用家就要自己準備 API Key。每次講嘢產生嘅錄音仲要經過網絡送出去,轉寫用唔用到都會受網絡同外部服務狀態影響。

對一個長期擺喺選單列、隨時可能被叫出嚟嘅語音輸入工具嚟講,呢啲阻礙好難無視。用家講出嚟嘅內容可能係一封未寄出嘅電郵、一段程式碼、會議筆記,亦都可能只係一個未整理成形嘅諗法。就算雲端服務提供完善嘅私隱政策,本地完成依然係一條更短、更容易理解嘅數據路徑。

另外,數據私隱都係好多用家非常關心嘅嘢。用第三方語音服務,個人語音數據會交出去,令大量用家降低咗使用信心。本地模型啱啱好完美解決咗呢個問題。你以後都唔使擔心自己講嘅嘢會洩漏出去喇!


v0.13.0 冇移除原本嘅雲端服務,而係加咗 MLX Local。揀咗佢之後,Airtype 嘅基本過程變成:

麥克風錄音
    ↓
Mac 本地音頻文件
    ↓
Qwen3-ASR
    ↓
MLX 在 Apple Silicon 上推理
    ↓
文字出現在當前光標位置

除咗第一次安裝模型要聯網之外,辨識過程唔使連接轉寫 API。API Key、按分鐘計費同音訊上傳,都唔再係用語音輸入嘅前提。

本地模型唔係下拉選單入面嘅一個名

開始研究 Qwen3-ASR 嘅時候,一個好自然嘅誤解就係:Airtype 已經支援好多語音模型,再喺模型列表入面加兩個名係咪就夠呢?

答案係唔夠。雲端模型背後已經有服務商負責模型檔案、GPU、推理服務同版本更新,應用程式只需要組織一次網絡請求。本地模型就將呢啲責任帶返去客戶端。

要令普通用家喺 Airtype 入面揀一個模型然後開始講嘢,至少要有三層能力:

  • 模型選擇 —— 話俾應用程式知要行 0.6B 定 1.7B。
  • 模型管理 —— 完成首次下載、快取檢查、安裝狀態顯示同刪除。
  • 本地推理 —— 讀取錄音,用對應模型生成文字,再將結果駁返 Airtype 原有嘅輸入流程。

所以,今次改動最後涉及 13 個檔案,新增同調整咗大約 840 行程式碼。項目入面加咗獨立嘅本地 ASR 介面、模型管理器、MLX 轉寫服務同 Qwen3-ASR 適配層;設定頁同首次啟動流程都必須理解一種「唔需要 API Key 嘅 Provider」。

呢部分介面應該盡量簡單。用家唔需要知道權重檔案放喺邊個快取目錄,亦都唔需要理解模型轉換參數。佢只需要揀 MLX Local,揀一個模型,㩒安裝就得。

Qwen3-ASR、MLX 同 4-bit

Qwen3-ASR[1] 官方推出咗 0.6B 同 1.7B 兩個主要尺寸,支援自動語言辨識、30 種語言同 22 種中文方言。官方常見嘅運行方式係 Python、Transformers 或者 vLLM,呢啲方案適合伺服器同 Python 環境,但就唔係原生 Swift 選單列應用最自然嘅依賴方式。

Airtype 用嘅係 MLX Community 轉換嘅兩個版本:

Airtype 入面嘅模型下載大小適合嘅選擇
Qwen3-ASR-0.6B-4bit[2]約 708 MB預設選擇,佔用更低
Qwen3-ASR-1.7B-4bit[3]約 1.6 GB更著重辨識質素

呢兩個唔係 MLX Community 重新訓練嘅另一套模型,而係從 Qwen 官方權重轉換同量化出嚟。呢度講嘅 4-bit 指主要模型權重經過低比特量化,模型檔案同記憶體佔用會跟住降低,更適合喺個人電腦上面運行;代價就係同官方 BF16 權重相比,理論上可能會有少少精度損失。

MLX 就係 Apple 為 Apple Silicon 推出嘅機器學習框架。Airtype 透過 Swift 依賴直接載入模型,利用 Mac 嘅統一記憶體同 GPU 完成推理,唔需要喺背景再啟動一個 Python 服務。模型檔案嚟自 Hugging Face 嘅 mlx-community 倉庫;Apple 提供運行框架同 Metal 加速,但就唔會託管呢兩個 Qwen 模型。

換句話講,呢條本地鏈路係由幾部分一齊組成:Qwen 提供模型,MLX Community 完成適合 Apple Silicon 嘅轉換同量化,Hugging Face 託管權重,MLX 喺 Mac 上面執行推理,Airtype 就負責將呢一切變成一個安裝按鈕同一組快捷鍵。

由編譯到發佈

今次開發仲有一個好實際嘅過程:程式碼編譯到,唔代表功能已經可以公開發佈。

最初嘅實現已經接通咗模型選擇、下載同轉寫,但發佈審計依然發現咗一啲問題。例如 MLX Audio 依賴追蹤嘅係不斷變化嘅 main 分支;設定入面出現咗未真正影響推理嘅計算模式;改動入面仲夾雜咗同今次版本無關嘅 GLM-ASR 實驗。

最終發佈嘅時候,我將範圍收窄到兩個 Qwen3-ASR 4-bit 模型,並將 MLX Audio 固定喺經過 build 驗證嘅 commit 上面。因為呢套依賴需要更新嘅 Swift 同 Metal 工具鏈,GitHub Actions 嘅發佈環境都由原本嘅 Xcode 16.2 調整到 Xcode 26.2。

之後先至係原生 macOS 應用程式公開分發必經嘅部分:Release Archive、Developer ID 簽名、Apple 公證、stapling、DMG 打包同 GitHub Release。第一次 CI 喺公證階段遇到 Apple 開發者協議過期,接受咗協議之後重新運行,v0.13.0 先至完整發佈。

呢個亦都解釋咗點解「支援一個本地模型」最終唔係加兩個 enum 值。模型能夠回傳文字只係中間一步;用家可以下載、可以安裝、可以離線使用,而且攞到簽名同公證過嘅應用程式,先至算係一個完成嘅功能。

而家點樣用

Airtype 係一個原生 SwiftUI 選單列應用程式,需要 macOS 14 或者更高版本。安裝 v0.13.0 之後,可以咁樣啟用本地辨識:

  1. 打開 Airtype 設定,喺 Voice Input 入面揀 MLX Local
  2. 先選擇 Qwen3-ASR-0.6B-4bit,㩒 Install 下載模型。
  3. 下載完成之後,撳住預設快捷鍵 Option + Space 說話。
  4. 鬆開快捷鍵,辨識出嘅文字會插入而家應用程式嘅遊標位置。

0.6B 更適合做第一次使用嘅選擇。如果部機記憶體充足,而且更著重辨識質素,可以再安裝 1.7B 比較自己真實嘅使用場景。模型安裝完成之後,日常轉寫唔需要 API Key,亦都唔會將錄音交俾雲端語音服務。

雲端 Provider 依然保留。佢哋適合需要特定模型或者服務能力嘅用家;MLX Local 就令最基本嘅語音輸入唔再依賴任何外部帳户。對 Airtype 嚟講,呢個唔係多咗一個 Provider,而係終於將「Your voice. Your Mac.」變做產品實際運行嘅方式。


  • 官網:[airtype.space] - https://www.airtype.space/[4]
  • 源碼:[github.com/sugarforever/airtype] - https://github.com/sugarforever/airtype[5]
  • 下載:[Airtype v0.13.0] - https://github.com/sugarforever/airtype/releases/tag/v0.13.0[6]

References

  1. Qwen3-ASR: https://huggingface.co/Qwen/Qwen3-ASR-0.6B
  2. Qwen3-ASR-0.6B-4bit: https://huggingface.co/mlx-community/Qwen3-ASR-0.6B-4bit
  3. Qwen3-ASR-1.7B-4bit: https://huggingface.co/mlx-community/Qwen3-ASR-1.7B-4bit
  4. 官網: https://www.airtype.space/
  5. 開源程式碼倉庫: https://github.com/sugarforever/airtype
  6. v0.13.0 版本: https://github.com/sugarforever/airtype/releases/tag/v0.13.0

我做的開源 macOS 語音輸入工具 Airtype,剛剛發佈了 v0.13.0。這個版本只增加了一項主要功能,卻改變了整個產品最基礎的一條路徑:語音轉文字現在可以完全在 Mac 本地運行。從此本地優先,隱私優先的語音輸入,讓你我他她它,用着更安心!

圖片


不需要註冊賬户,不需要填寫 API Key,錄音也不必上傳到雲端。第一次下載好模型後,按住快捷鍵說話,Qwen3-ASR 會直接在 Apple Silicon 上完成識別,再把文字放到當前光標所在的位置。

我把新版首頁 https://airtype.space/ 的主標題改成了:

Your voice. Your Mac. Nothing else.

圖片

Airtype v0.13.0 官網首頁

這篇我想利用 Airtype v0.13.0 的實現,講清楚“完全本地”具體改變了什麼,以及一個開源語音模型要真正進入原生 macOS 應用,中間還需要補齊哪些部分。期望對大家有所幫助。

為什麼要把識別搬回 Mac

Airtype 原來的工作方式很常見:錄製聲音,把音頻交給 OpenAI、ElevenLabs、Mistral 或豆包等服務完成轉寫,再將結果插入當前應用。

這條路徑能夠使用不同服務商的模型,也方便快速接入新的能力,但用戶需要自己準備 API Key。每次說話產生的錄音還要經過網絡發送出去,轉寫是否可用也會受到網絡和外部服務狀態的影響。

對於一個長期待在菜單欄、隨時可能被喚起的語音輸入工具,這些摩擦很難忽略。用戶說出的內容可能是一封尚未發出的郵件、一段代碼、會議筆記,也可能只是一個還沒有整理成形的想法。即使雲端服務提供完善的隱私政策,本地完成仍然是一條更短、更容易理解的數據路徑。

此外,數據隱私性也是許多用戶非常關心的。用第三方的語音服務,個人的語音數據會交付出去,這讓大量用戶降低了使用的信心。本地模型恰好完美解決了這個問題。你再也不用擔心自己說的話泄露出去咯!


v0.13.0 沒有移除原有云端服務,而是增加了 MLX Local。選擇它之後,Airtype 的基本過程變成:

麥克風錄音
    ↓
Mac 本地音頻文件
    ↓
Qwen3-ASR
    ↓
MLX 在 Apple Silicon 上推理
    ↓
文字出現在當前光標位置

除了第一次安裝模型需要聯網,識別過程不需要連接轉寫 API。API Key、按分鐘計費和音頻上傳也就不再是使用語音輸入的前提。

本地模型不是下拉框裏的一個名字

開始研究 Qwen3-ASR 時,一個很自然的誤解是:Airtype 已經支持很多語音模型,再向模型列表裏添加兩個名字是否就夠了?

答案是不夠。雲端模型背後已經有服務商負責模型文件、GPU、推理服務和版本更新,應用只需要組織一次網絡請求。本地模型把這些責任帶回了客戶端。

要讓普通用戶在 Airtype 裏選擇一個模型並開始說話,至少需要三層能力:

  • 模型選擇 - 告訴應用運行 0.6B 還是 1.7B。
  • 模型管理 - 完成首次下載、緩存檢查、安裝狀態顯示和刪除。
  • 本地推理 - 讀取錄音,用對應模型生成文字,並把結果接回 Airtype 原有的輸入流程。

因此,這次改動最後涉及 13 個文件,新增和調整了約 840 行代碼。項目里加入了獨立的本地 ASR 接口、模型管理器、MLX 轉寫服務和 Qwen3-ASR 適配層;設置頁與首次啓動流程也必須理解一種“不需要 API Key 的 Provider”。

這部分界面應該儘量簡單。用戶不需要知道權重文件存在哪個緩存目錄,也不需要理解模型轉換參數。他只需要選擇 MLX Local,選擇一個模型,點擊安裝。

Qwen3-ASR、MLX 和 4-bit

Qwen3-ASR[1] 官方發佈了 0.6B 和 1.7B 兩個主要尺寸,支持自動語言識別、30 種語言和 22 種中文方言。官方常見的運行方式是 Python、Transformers 或 vLLM,這些方案適合服務器和 Python 環境,卻不是原生 Swift 菜單欄應用最自然的依賴方式。

Airtype 使用的是 MLX Community 轉換的兩個版本:

Airtype 中的模型下載大小適合的選擇
Qwen3-ASR-0.6B-4bit[2]約 708 MB默認選擇,佔用更低
Qwen3-ASR-1.7B-4bit[3]約 1.6 GB更看重識別質量

它們不是 MLX Community 重新訓練的另一套模型,而是從 Qwen 官方權重轉換並量化而來。這裏的 4-bit 指主要模型權重經過低比特量化,模型文件和內存佔用隨之降低,更適合在個人電腦上運行;代價是與官方 BF16 權重相比,理論上可能存在少量精度損失。

MLX 則是 Apple 面向 Apple Silicon 推出的機器學習框架。Airtype 通過 Swift 依賴直接加載模型,利用 Mac 的統一內存和 GPU 完成推理,不需要在後台再啓動一個 Python 服務。模型文件來自 Hugging Face 的 mlx-community 倉庫;Apple 提供運行框架和 Metal 加速,但並不託管這兩個 Qwen 模型。

換句話說,這條本地鏈路由幾部分共同組成:Qwen 提供模型,MLX Community 完成適合 Apple Silicon 的轉換與量化,Hugging Face 託管權重,MLX 在 Mac 上執行推理,Airtype 負責把這一切變成一個安裝按鈕和一組快捷鍵。

從能夠編譯到能夠發佈

這次開發還有一個很實際的過程:代碼可以編譯,不等於功能已經能夠公開發布。

最初的實現已經接通了模型選擇、下載和轉寫,但發佈審計仍然發現了一些問題。例如 MLX Audio 依賴跟蹤的是不斷變化的 main 分支;設置裏出現了尚未真正影響推理的計算模式;改動中還夾帶了與本次版本無關的 GLM-ASR 實驗。

最終發佈時,我把範圍收斂到兩個 Qwen3-ASR 4-bit 模型,並將 MLX Audio 固定在經過構建驗證的提交上。由於這套依賴需要更新的 Swift 與 Metal 工具鏈,GitHub Actions 的發佈環境也從原來的 Xcode 16.2 調整到了 Xcode 26.2。

隨後才是原生 macOS 應用公開分發必須經過的部分:Release Archive、Developer ID 簽名、Apple 公證、stapling、DMG 打包和 GitHub Release。第一次 CI 在公證階段遇到 Apple 開發者協議過期,接受協議後重新運行,v0.13.0 才完整發布。

這也解釋了為什麼“支持一個本地模型”最終不是增加兩個枚舉值。模型能夠返回文字只是中間一步;用戶能下載、能安裝、能離線使用,並且可以拿到簽名和公證過的應用,才是一個完成的功能。

現在怎樣使用

Airtype 是一個原生 SwiftUI 菜單欄應用,需要 macOS 14 或更高版本。安裝 v0.13.0 後,可以這樣啓用本地識別:

  1. 打開 Airtype 設置,在 Voice Input 中選擇 MLX Local
  2. 先選擇 Qwen3-ASR-0.6B-4bit,點擊 Install 下載模型。
  3. 下載完成後,按住默認快捷鍵 Option + Space 說話。
  4. 鬆開快捷鍵,識別出的文字會插入當前應用的光標位置。

0.6B 更適合作為第一次使用的選擇。如果機器內存充足,並且更看重識別質量,可以再安裝 1.7B 比較自己的真實使用場景。模型安裝完成後,日常轉寫不需要 API Key,也不會把錄音交給雲端語音服務。

雲端 Provider 仍然保留。它們適合需要特定模型或服務能力的用戶;MLX Local 則讓最基礎的語音輸入不再依賴任何外部賬户。對 Airtype 來說,這不是多了一個 Provider,而是終於讓“Your voice. Your Mac.”成為了產品實際運行的方式。


  • 官網:[airtype.space] - https://www.airtype.space/[4]
  • 源碼:[github.com/sugarforever/airtype] - https://github.com/sugarforever/airtype[5]
  • 下載:[Airtype v0.13.0] - https://github.com/sugarforever/airtype/releases/tag/v0.13.0[6]

References

  1. Qwen3-ASR: https://huggingface.co/Qwen/Qwen3-ASR-0.6B
  2. Qwen3-ASR-0.6B-4bit: https://huggingface.co/mlx-community/Qwen3-ASR-0.6B-4bit
  3. Qwen3-ASR-1.7B-4bit: https://huggingface.co/mlx-community/Qwen3-ASR-1.7B-4bit
  4. 官網: https://www.airtype.space/
  5. 開源代碼倉庫: https://github.com/sugarforever/airtype
  6. v0.13.0版本: https://github.com/sugarforever/airtype/releases/tag/v0.13.0