OnType 1.0 釋出:你的聲音,就是你的鍵盤
我們在 2026 年 1 月 31 日開始構建 OnType。81 天、將近 900 次提交之後, 我們釋出了 1.0 版本:一款 macOS 語音輸入工具,能把你的聲音準確輸入到游標所在的位置。 不用切應用,不用等待,預設也不需要雲端。
OnType 不只是一個聽寫應用。它提供三種不同的開口方式, 每一種都針對特定場景設計。下面是它們的工作方式。
Push-to-Talk:想到就說,說完就發
這是最直接的模式。按住熱鍵(預設是 Fn),開始說話,鬆開按鍵。 你一鬆手,文字就會立即出現在游標位置。即時流式轉寫意味著你能一邊說, 一邊看到識別結果,而不是等一段時間、或者跑到單獨視窗裡看。
在背後,我們做了大量延遲最佳化。錄音會自動裁掉前 120 毫秒的音訊, 也就是從按下按鍵到真正開口之間的那段空白,這樣 ASR 引擎就不會把時間浪費在靜音或按鍵噪聲上。結果就是, 從你發出第一個音節開始,轉寫幾乎立刻就啟動了。
比如你在 Slack 裡快速說一句 "see you at three, same place"。OnType 會透過執行在 Apple Silicon Mac Neural Engine 上、針對 MLX 最佳化的語音識別, 在本地完成轉寫。延遲低於 200 毫秒。你的音訊不會離開這臺機器。
see you at three same place
Compose:把凌亂口語整理成可用文字
真實口語是混亂的。我們會說 "um"、"like",說到一半改口, 也會一句話沒說完就停住。傳統聽寫會忠實地把這些都記下來。 OnType Compose 不會。
輕點一次熱鍵開始錄音,隨意說就行,填充詞、自我修正、半成形的想法都可以。 再點一次結束。OnType 會把原始轉寫送進本地改寫引擎, 讓它理解你真正想表達的內容。
實際效果大概是這樣。你說出來的原話可能像下面這樣:
um, so, about the launch next week, first we need to update the docs, and then, like, the test cases aren't done yet, wait no, tests are done, it's the deploy scripts that need checking. and then performance needs some optimization too, oh right, most importantly client compatibility, that's top priority. uh, the docs thing is mainly about syncing the API changes.
OnType HUD 裡的提詞器會即時視覺化你的語音,填充詞會帶輕微波浪底線, 自我修正會顯示刪除線,而像 "wait, no" 這種表示改口的語音命令則會以藍色標示出來。 你可以直接看到原始口語的混亂過程。
um so about the launch next week, first we need to update the docs, and then like the test cases aren't done yet, wait no, tests are done, it's the deploy scripts that need checking. and then performance needs some optimization too, oh right, most importantly client compatibility, that's top priority. uh the docs thing is mainly about syncing the API changes.
然後,在你點擊結束後,AI 會把它改寫成真正可用的結果:
下週釋出準備:
1. 用戶端相容性測試(最高優先順序)
2. 部署指令碼檢查
3. API 變更文件同步
4. 效能最佳化
改寫引擎是怎樣理解你的
AI 做的不只是刪掉填充詞。它會識別三種不同型別的自我修正, 並分別處理:
- 顯式撤回:當你說出 "wait, no" 或 "it should be" 這類訊號時,引擎會丟棄修正訊號之前的內容,只保留修正後的版本。
- 重複覆蓋:當你重新起一句並帶著修改再次說一遍時, 第二個版本會覆蓋第一個版本。
- 行內註釋:當你補充解釋一個詞語時 (比如 "here, 'pie' refers to PI"),引擎會用修正後的版本替換原詞, 並移除這段元解釋。
它還會結合上下文修正 ASR 識別錯誤。那些聽起來像對的、但語義明顯不通的同音詞, 比如在討論 AI 模型時把 "intelligence" 識別成 "refrigeration", 會被自動糾正。品牌名如果被誤識別成發音相近的普通詞,只要上下文支援, 也會被恢復回來。
基於場景的改寫
OnType 會識別你目前正在使用哪個應用,並據此調整改寫策略。 在微信裡發一條短訊息時,它只做最少干預,主要是去掉填充詞和糾錯。 在 Notion 裡整理長段思路時,它會主動重組為邏輯更清晰的段落, 把重點放在前面。Linear 這類專案管理工具裡記會議紀要時,它會整理成要點列表並按主題分組。 在 Claude 裡寫 AI prompt 時,它則會最佳化 prompt 品質, 澄清意圖、分離上下文與指令、把約束寫明確。
這些能力支援中文、英文、日文、韓文、法文、西班牙文、德文和義大利文。 prompt 會感知場景,知道你是在寫郵件、做會議記錄,還是在寫程式碼註釋, 並相應調整語氣和結構。
Translate:用一種語言說,用另一種語言寫
有時候你需要輸出一門自己此刻並沒有用來思考的語言。 OnType Translate 允許你自然地用一種語言說話,再輸出另一種語言的整理結果。
點一下開始,說完句子後,在結束時按住 Shift。HUD 上的小圓點會變藍, 表示翻譯模式已經啟用。鬆開後,翻譯結果就會出現在游標位置。
我想订明天上午到北京的航班,不对,是改签,不是订新的
我想訂明天上午到北京的航班,不對,是改簽,不是訂新的
→ I'd like to reschedule my flight to Beijing tomorrow morning.
為速度而工程化
OnType 對低延遲近乎執念。流式 HUD 會同時顯示已確認文字,也就是 ASR 引擎已經高度確信的詞,以及可能還會變化的臨時文字。隨著你說話,HUD 膠囊會平滑增長、滾動, 始終讓最新的詞保持可見。你看到的不是一個靜態的 "Listening..." 指示器, 而是你的文字正在即時出現。
在 Push-to-Talk 模式下,從你鬆開熱鍵到文字出現在游標位置之間, 通常只差不到 1 秒。即使是在包含完整 AI 改寫鏈路的 Compose 模式下, 端到端延遲通常也低於 2 秒。我們透過分塊改寫執行時做到這一點: 它會在轉寫片段到達時立刻開始處理,而不是等整段錄音結束再統一處理。
以隱私為預設設計
預設路徑是完全離線的。我們提供量化後的 MLX 模型,執行在 M1 及後續機型的 Neural Engine 上。你得到的是接近 Whisper 級別準確率、同時具備硬體加速速度的體驗。對於需要更重型模型、 或者使用 Intel Mac 的使用者,我們也提供可選的 Cloud Engine 服務,但裝置端路徑始終存在、始終私密、始終即時。
OnType 還內建了自研的逆文字規範化(ITN)引擎。 "three thousand dollars" 會變成 "$3,000"。日期、貨幣和數字會根據你的地區自動格式化。 而像 "new line"、"colon" 這樣的語音命令,也會即時轉成真實的鍵盤動作。
我們是怎麼走到這裡的
這個專案最開始是一個 Swift 原型,只專注於一個困難問題: 如何把轉寫後的文字可靠地插入到每一個 macOS 應用的游標位置。 我們建構了三層插入鏈路:輔助功能 API、鍵盤模擬、剪貼簿回退, 並在瀏覽器、終端機、設計工具和 IDE 裡逐一測試。
之後,範圍逐漸擴大。透過 WebSocket 做即時流式傳輸; 為 Cloud Engine 接入多個 ASR 提供商(DashScope、Volcengine、OpenAI); 為不支援直接插入的應用提供 IME bundle;基於 WebView 做設定介面和上面的互動式展示;提供引導式 onboarding, 幫助使用者完成權限授權;整合 Sparkle 自動更新和 Sentry 錯誤上報; 以及一個用 Zig 編譯的有限狀態轉導庫,用於文字替換。
1.0 版本是基礎,不是終點。我們已經在繼續推進更好的混合語言語音處理、 更豐富的 Compose 模式,以及與開發者高頻工具更深的整合。
定價
OnType 可以免費下載。每個新使用者都能獲得 14 天 Cloud Engine 存取權, 體驗完整能力。此後,裝置端處理會永久免費。若你需要不限量的 Cloud Engine、 優先支援以及新功能搶先體驗,按年付費時,OnType Pro 價格為每月 8 美元。
下載 OnType 1.0:支援 macOS 15 及更高版本, 相容 Apple Silicon 和 Intel。