寫給雅虎奇摩輸入法的使用者
⚠️ 【消歧義】
感謝最近有熱心民眾拿本文宣傳唯音輸入法。但他們在宣傳時可能不知道他們提供了一些會誤導視聽的資訊、會引起糾紛。
這裡澄清如下:
- 唯音輸入法並不包含奇摩注音的程式碼,至少 4.1.6 版開始不再包含(因為已經沒有與奇摩輸入法互相跨程通訊的必要)。
- 唯音輸入法的開發者 與 奇摩輸入法原班開發人馬 沒有 任何 合作關係。
- 無論是 4.1.5 版為止的跨程通訊方法也好,還是 4.1.6 版開始的 SQLite 資料直讀之方法也好,都不涉及到對奇摩輸入法的原始碼實作的直接挪用。
本文章節(點擊可跳轉;只想趕快把資料搬過去的,請直接看〈怎樣繼承資料〉一節):
開場白:這不只是一篇遷移指南
本文對應至少唯音輸入法 4.8.6 版。
現在的局面是唯音輸入法與奇摩輸入法的公開對決。
而且,唯音可能還是打不贏——哪怕唯音的偏好設定選項數量早就超過一百個了、哪怕可以自訂的體驗細節已經多到需要內建搜尋功能才找得到。
奇摩成了一種象徵。哪怕它的功能並不多、哪怕它有功能設計上的硬傷(例如 Lithoglyph 團隊留下的「選字窗會端出橫跨游標的候選字」這種引擎預設行為),奇摩的很多老使用者仍舊頭鐵地非用奇摩不可,甚至連奇摩的嫡系續作(小麥注音)都懶得管。
於是就有了現在這副群龍亂舞的場面:一群人爭先恐後地自己掏大錢、用 AI 修復奇摩——「反正我就是要用奇摩,我懶得查有沒有別人修過、也不管自己是否在重複花冤枉錢,總之先把錢花給 Claude 修了奇摩再說。」社群救濟本身是正常現象;但當大家都在爭先恐後地做同一件重複無用功的時候,就怪了。
FOSS 輸入法都競爭成這樣了,收費的個人開發者連關注度都很少有、很難回本;更遑論既有的商業大牌(例如自然輸入法)也怕是再難賺到錢。更慘的是:Apple 不允許 macOS 輸入法上架到 Mac App Store 營利——這一行裡認真做產品的人,幾乎沒有正常的商業變現管道。
說到底,macOS 的中文打字史就是一部「戰士列傳」:
- 先有從倚天中文 DOS 系統一路打到現在、三四十年肌肉記憶難改的「ㄅ半戰士」;
- 後有從 macOS 10.4 時代一路用到今天的「奇摩戰士」;
- 然後是剛開始燃起來、從華碩電腦自帶的華碩智慧輸入法入門的「連手動切換中英文都忍不下去」的「華碩戰士」。
唯音想做的事情很簡單:讓三代戰士都能在同一款輸入法裡找到自己的家。
以下文章分兩半:前半,用「講給完全不懂的人聽」的規格,把唯音輸入法相對於奇摩注音的先進性一條一條講清楚(宏觀的、微觀的都有);後半,是手把手的〈怎樣繼承資料〉——您攢了十幾年的使用者片語,一條都不會少。
宏觀對比:兩款輸入法的世代差距
一個還在呼吸,一個已經成為遺產
先講最現實的問題:奇摩輸入法早就停止官方維護了。
它的最後一版是 1.1.2528;Yahoo 在 2012 年將原始碼以 BSD 授權公開之後,這個專案就再也沒有下文。之後發生的事情,您或許已經親身經歷過:
- macOS 每一代都在改、每一代都在淘汰老 API,而奇摩沒有人負責跟進;
- macOS 14.2 之後,奇摩輸入法本體直接崩潰:它依賴了一個被 Apple 移除的系統符號(
__objc_empty_cache); - 連它的偏好設定視窗都打不開——因為偏好設定是一個獨立的小程式,得靠跨程通訊向輸入法本體要資料;本體一死,它就一起死(原始碼裡用的是
NSConnection,不是現在大家常說的 XPC)。
說得直白一點:一款輸入法如果連「裝起來不崩潰」都要靠別人幫您打補丁,那它其實已經不是您的輸入法了,而是一群人的考古現場。
唯音這邊呢?2021 年底立案、至今持續維護;目前的正式版是 v4.8.6(2026 年 9 月)。GitHub 與 Gitee 雙管道發行、每一版都有發行日誌,連 macOS 10.9 到 12 的老機器都有專門的「Aqua 紀念版」可以吃。您不需要祈禱它明天不會壞——因為它有人負責。
您的資料,不該被鎖在別人的保險箱裡
這件事很少人講清楚,但非常重要:奇摩把您攢的詞庫鎖了起來。
- 它的原廠辭典用 CEROD(商業加密 SQLite)加密;這個加密模組早在 2012 年底就變成了收費套件——這也正是奇摩專案走向終點的契機之一。
- 它的使用者片語資料庫也是加密的——好在用的是公開的密鑰,所以這個世界上存在公開的解讀工具;唯音輸入法就是直接用這套工具(KeyKeyUserDBKit)來讀您的資料。
- 它的辭典編輯程式在新版 macOS 上早就不工作了;今天還想用,只能靠社群自行修復的版本。
唯音這邊剛好相反:原廠辭典與語彙資料都是開放的格式、偏好設定裡內建語彙編輯器、所有資料都躺在您自己的硬碟裡、以您看得懂的檔案格式存放。您想搬走就搬走、想備份就備份,沒有人能對您的資料收贖金。
引擎與架構的世代差距
唯音輸入法自 v4.8.0 起啟用「先鋒引擎」套件:齊鐵恨注拼引擎、護摩組句引擎(支援游標跳轉與候選輪替)、打字態械等子引擎的總成。這套引擎可以跨作業系統建置(Linux 與 Windows NT 已經有建置測試),而且有一整批單元測試在盯著它的品質。
奇摩也有對應的角色:注拼引擎(OVMandarin,出自 Formosa 大套件)與組句器(Manjusri)——兩者都是 2008 至 2012 年那個世代的產物。(順帶一提:Formosa 裡還住著另一位組句器 Gramambular,不過奇摩並沒有採用它。)不是說老架構不能跑——它當年的組句品質是一流的——但一邊還在進化,一邊停在 2012 年,這就是兩者最根本的差距。
開源專案的兩種結局
兩邊其實都是開源:奇摩在 2012 年由 Yahoo 以新 BSD 授權公開原始碼;唯音是先鋒引擎採 LGPLv3、其餘部分採 MulanPSLv2(木蘭寬鬆授權條款第 2 版)。
但「開源」也有兩種結局:奇摩的開源更像一份結案報告——東西都給您了,剩下的是您自己的事;唯音的開源是活的——原始碼、詞典資料、建置腳本都在檯面上,而且有人在那裡持續維護它們。
微觀對比:唯音相對於奇摩的先進之處
先說清楚:奇摩不是一無是處。它當年的中文組句是一流的,它的手感也確實有它的擁護者——這正是為什麼這麼多人不願意換。以下不是要否定您的手感,而是要告訴您:您懷念的那些東西,唯音都有;您抱怨過的那些事情,唯音也修了。
我知道您在想什麼:「我用奇摩用得好好的,為什麼要換?」——先別急著反駁,以下每一條都用最笨、最囉唆的方式講,講到連完全不懂電腦的人也能看懂為止。
中英混打:不用再切來切去
場景:您要打「我今天買了 MacBook Air」。
- 在奇摩:切到英文模式、打
MacBook、切回中文、打「Air」的時候再切一次……一場打字變成一場切換練習。 - 在唯音:全程不用切。自 v4.4.1 版起,注音模式提供了「啟用中英混合輸入回退」:當您敲下的按鍵序列不構成任何合法注音讀音時,唯音就把那段內容當成英文如實送出——
MacBook、4G、Philia093、ls、ln都能直接打。- v4.8.3 版起還有「啟用中英混打模式的英數閂滯狀態」(預設關閉):一旦判定您正在打英文,之後每個字元就直接送出去,打一整串英文的手感跟真正的英文模式一樣。
- v4.8.4 版起,混打模式判定「整段輸入是否為一個讀音」的方式,由「依槽序鍵入判定讀音」(預設開啟)控制;不習慣新判定的可以切回舊制。
設定位置:偏好設定 →「行為設定」→「混合輸入」。更細的說明另見《寫給華碩輸入法的使用者》。
選字窗:從「它給您什麼」到「您想要什麼」
選字窗就是打字時跳出來讓您挑字的那個小框。這是唯音輸入法最「越級」的地方之一。
唯音的田所選字窗已經進化到第四代(研發代號「我修院」,v4.5.1 SP1 起):
- 有真正的滾動條;字號從 12 到 196 隨便您調;
- 橫向佈局、縱向佈局、單行/單列模式,任選;
- 有頁數提示、支援迴圈翻頁(翻到尾再翻就回到第一頁);
- 選字鍵自己定(出廠預設
123456);選字游標要放在詞語前方還是後方,也自己定; - 上下文安全細節:「弱輪替」會在輪替候選字即將覆蓋您已手動選好的內容時自動跳過,保護您的成果;
- 還有 Unicode 碼位顯示、跟隨系統強調色、動畫開關、Vim 風格的 JKHL 導航、以及選字窗右鍵選單(對 Spotlight 與 Raycast 另作例外處理,因為那兩個軟體會亂來)。
順帶一提:奇摩的「智慧注音」模組有一個「特色」——當您把游標停在詞語中間時,它預設會把橫跨游標的候選詞也列進選字窗;選下去,游標兩側的字會一起被改掉。這個行為來自它的組句器 Manjusri 的預設候選查詢方式;要切掉它的話,設定裡有「游標在後(蘋果漢音輸入法模式)」可以選——但出廠預設是「游標在前(微軟新注音輸入法模式)」那一種。順便說一句:這個命名是古早年代傳下來的錯誤描述——微軟新注音與 macOS 內建注音都不會這樣做,甚至更早的漢音輸入法也不會;真正有同樣毛病的是小麥注音。這種「游標與選字窗互動」的細節,在唯音是偏好設定的一整頁;在奇摩,是一個您得先知道它存在的隱藏開關。另外,這套「前/後」術語在不同輸入法的文件裡常被寫成相反方向——唯音因此在 v1.5.3 版改用「前方/後方」(front/rear);來龍去脈詳見《常見問題》。
偏好設定:110 多個選項,還能搜尋
唯音的偏好設定有 12 個頁面、超過 110 個選項,而且——這裡是重點——您可以按 ⌘F 直接搜尋。找不到選項?搜「空格」「Shift」「候選字」就找得到。
為什麼要這麼多選項?因為每個人的打字習慣都不一樣:有人要「空白鍵叫出選字窗」、有人要「空白鍵插入空格」;有人要注音、有人要拼音;有人要繁體、有人要簡體。唯音不替您做決定,它把決定權交給您。
對照組:奇摩的偏好設定分頁一隻手數得完(一般、注音、倉頡、簡易、詞庫、更新、外掛……),每個分頁幾個開關。不是沒得調,是能調的就那麼多。
唯音還允許您把整份偏好設定匯出成 JSON 檔案帶走(也可以用命令列介面匯入/匯出)。
輸入模式與鍵盤排列:一張清單看完
唯音支援的注音排列有 11 種:大千傳統、倚天傳統、IBM、神通、精業、偽精業、酷音大千二十六鍵、倚天忘形 26 鍵、許氏國音自然、星光、劉又銘擬音注音。拼音方案有 6 種:漢語拼音、國音二式、耶魯拼音、華羅拼音、通用拼音、韋氏拼音。
除此之外還有:
- 狂打模式(連續打字):以不完整的讀音連續打字、不必逐音節敲聲調確認,分為拼音與注音兩側各自獨立的開關。
- 拼音狂打(v4.6.3 起,原稱「狂拼模式」):連續敲拼音即可組句;專門服務從搜狗拼音/昇陽拼音/智能狂拼/紫光拼音過來的人。
- 注音狂打(v4.8.6 起,預設停用):連續鍵入注音符號即可組句——當前音節打完而下一鍵屬於新音節時會自動成音,空格鍵仍是陰平鍵;只敲聲母亦會以簡拼列出整詞候選(例如 ㄍㄋㄋ 得「狗男女」)。
- 逐字選字模式(SCPC)與關聯詞語:專門服務ㄅ半老用戶。
- 磁帶模式:用 CIN 表格掛載行列、倉頡、嘸蝦米等字根輸入法。
奇摩原始碼裡提供的鍵盤佈局是 6 種(標準、倚天、許氏、倚天 26、IBM,外加漢語拼音佈局)。如果您慣用的排列剛好不在奇摩的清單裡,以前只能遷就它;在唯音,這些都是選項。
按鍵行為:從空白鍵到 Caps Lock 都能談
唯音把「按鍵到底該幹嘛」拆解得很細,每一項都是獨立選項:
- 空格鍵在組字區的行為(插入空格/呼出選字窗/輪替候選字);
- (Shift+)空格鍵在選字窗的行為(換頁還是換候選字);
- (Shift+)Tab 要輪替候選字還是翻頁;
- Esc 是清空整個組字緩衝區、還是分階段清除;
- Shift+退格鍵的三種行為(析構字音/清空組字區/剔除聲調);
- 左側與右側 Shift 各自要不要用來切換英數模式;
- Caps Lock 的處理要不要交給唯音;
- 數字小鍵盤的六種行為(半形/全形/直接遞交/插入組字區……);
- 大寫字母鍵的五種行為;
- 聲調鍵的三種行為;
- 甚至連
\或¥這種冷門鍵,都能設定成漢音時代的鍵盤符號模式熱鍵。
這些不是為了炫技——每一項背後都有一個真實使用者的抱怨。唯音把這些抱怨變成了選項。
辭典與語彙:您的詞庫您作主
- 內建語彙編輯器:自訂語彙、濾除清單、語彙置換、關聯詞語、繪文字符號,五種資料都能直接編輯;
- 詞條可以指定權重(理想範圍
[-9.5, 0];另有一個-114.514的「懲戒權重」,專門用來把不要的詞雷到天邊去); - 讀音可以用注音寫,也可以用「漢語拼音+數字標調」寫(唯音會自動辨識);
- 就地加詞:用 Shift+方向鍵選取組字區內的詞語範圍,就能就地加詞;也可以就地刪詞(會進排除表);單個漢字的升權/排除另有一個開關(預設關閉,開發者極力勸阻您打開);
- 使用者片語檔案會自動整理格式(去重、排序)、支援自動偵測檔案變更;
- 原廠辭典支援 CNS+GBEX 全字庫、繁簡語料庫分離、以及給老用戶的「倚天中文 DOS 系統排序」開關。
其中「繁簡語料庫分離」值得多說一句:奇摩的簡繁轉換走的是 OVOFHanConvert 模組(轉換機能來自 VXHanConvert);唯音的簡體中文不是把繁體結果「轉」出來的,而是另一套與繁體並列建置的原廠語料庫(簡體側另收通用規範漢字表)——在簡體模式下,輸入法命中的是簡體詞條本身。為什麼不乾脆用轉換就好?因為繁簡轉換本身就有歧義:同一個繁體字在不同詞語裡可能該轉成不同的簡體字(例如「著」:在「著作」裡還是「著」,在「躺著」裡則要寫成「着」);靠事後轉換,就有機會出現「這個詞轉錯了」的結果,詞庫在此分家,才能杜絕這類由轉換導致的錯誤。
對照組:奇摩的原廠辭典是加密的、辭典編輯程式早已停擺。您的詞庫主權,藉由唯音的便利,在您手上。
逐字選字(ㄅ半)與關聯詞語
如果您的肌肉記憶是「打一個字、選一個字」:
- 偏好設定裡有一顆「我姓ㄅ」按鈕(v4.5.1 起):一鍵把輸入法切換成最純粹的ㄅ半模式(逐字選字、關聯詞語、選字鍵
123456789、縱向單行選字窗); - 關聯詞語的辭典內容可以自訂;甚至可以直接讀取 Windows XP 的ㄅ半輸入法關聯詞編輯器所匯出的辭典檔案;
- 逐字選字模式下還有「以空格鍵確認高亮候選字」等細節選項。
反查、全字庫與字根
- 注音反查(⌃⌘/):用注音去查漢字,可以查到全字庫、乃至 GB18030-2022 擴充區的罕用字;
- 字根反查:磁帶模式下,可以用 CIN 表格當作反查的資料源——奇摩也有反查、也有 CIN,但它的反查資料源無法指定成 CIN 表格;
- 反查結果的排序有講究:先按「能敲出的候選字數量」、再按字串長度、最後按碼表行序。
磁帶模式:CIN 表格輸入法
- 支援
.cin2/.cin/.vcin,從 Finder 拖進去就能掛載; - 自動判定最大碼長(不用像某些同類軟體那樣手動指定);
- 支援花牌鍵(萬用字元);自 CIN v2.7 標準起,花牌鍵還能當作第一個字根來敲;
- 若碼表實作了
%quick簡碼章節,未完成字根組合時會以帶閃電圖示的單行選字窗顯示簡碼候選; - 「敲出最長可能碼就自動組字」的時機判斷比同類軟體聰明(不用多敲一個空格鍵);
- 可以與逐字選字模式搭配使用。
標記模式:就地加詞、刪詞、升權
除了前述的就地加詞,唯音的「標記模式」允許您對組字區的內容做更精細的操作:選取範圍、就地刪詞(進入排除表)、對單個漢字升權或排除。這套機制對於「某些字老是被選成錯的」這種長年困擾特別有用。
特殊輸出:注音標記、點字、字形轉換
- ⌃⌥⌘⏎:遞交注音標記內容。預設是「括弧註解標記」,也可以在偏好設定裡改成 HTML Ruby 註解標記、國語點字、國通盲文(含 ASCII 版)、ButKo BPMFVS 注音標記等格式;
- ⌃⌘⏎:只遞交非教科書標準的注音/漢語拼音;
- 繁體輸出可即時在「當代繁體/康熙正體/日本 JIS 新字體」之間循環轉換;
- 拼音輸入時可開啟「拼音並擊」,讓組字區同步顯示漢語拼音;
- 選字窗與組音區都支援語音朗讀(視障輔助);
- 也有盲文點字輸出。
做教材、做排版、做無障礙的人,會知道這些功能有多難得。
系統整合與安全
- App Sandbox:唯音是極少數敢開著 macOS 沙箱工作的第三方中文輸入法之一——它被關在系統的隔離區裡,讀不到您硬碟裡的其他東西;
- 絕不主動聯網:除非您主動勾選「自動檢查軟體更新」,它不會對外通訊;
- 主動揪出「安全模式」濫用者:有些軟體(例如某些密碼管理工具)用完系統的鍵盤安全模式後忘了關,會害所有第三方輸入法一起罷工。別的輸入法只會讓您一頭霧水;唯音會直接點名是哪一款軟體搞的;
- 客體管理:某些軟體(Steam、LINE、ChatGPT 桌面版……)跟 macOS 的輸入法框架處不來;唯音可以把它們列入「受管理客體」、強制使用浮動組字窗,問題當場消失(Electron 應用另有一律強制浮動組字窗的選項);
- 強化型組字區安全防護:阻止網頁或軟體提前窺探您尚未遞交的組字內容。
族繁不及備載
其他還有很多,隨手列幾個:數字小鍵盤不會被注音吃掉、支援 macOS 螢幕模擬鍵盤、羅馬數字輸入、Unicode 碼位顯示、介面語言可切換(繁中/簡中/日文/英文)、偏好設定 JSON 匯入匯出、Aqua 紀念版還照顧 macOS 10.9 的老機器……
這些不是每一項您都會用到。但它們的存在意味著一件事:您不必再為了遷就輸入法而改自己的習慣。
怎樣繼承資料
好,假設您決定搬家了(或者至少想試試)。接下來是最實際的問題:您攢了十幾年的使用者片語怎麼辦?
好消息:唯音輸入法對奇摩使用者的資料繼承,做得比奇摩自己還好。
管道一:讓唯音直接讀取(推薦;v4.1.6 版起)
從唯音輸入法 4.1.6 版開始,您可以直接把奇摩的使用者自訂詞資料庫餵給唯音——完全不需要奇摩輸入法還能正常運作。
- 開啟「唯音輸入法偏好設定」→「辭典設定」頁面,找到「自奇摩輸入法匯入」區段;
- 您有兩種選擇:
- 按「直接匯入」:唯音會直接從當前電腦上的奇摩輸入法資料目錄讀取使用者自訂詞資料(前提是您的電腦上還留有那份資料);
- 按「…」按鈕:自己指定檔案。唯音同時接受
.db(奇摩的 SQLite 資料庫)與.txt(從奇摩匯出的文字檔),您也可以直接把檔案拖進指定區域;
- 匯入完成後,唯音會回報「找到幾筆、實際匯入幾筆」。
您的奇摩使用者資料庫通常位於:
~/Library/Application Support/Yahoo! KeyKey/SmartMandarinUserData.db
(~ 就是您的使用者目錄。)

只要這個檔案還在,哪怕奇摩輸入法本體早就崩潰、哪怕將來的 macOS 連 Rosetta 2 都沒了,唯音都讀得到它。
⚠️ 若您使用的是專為舊系統而設的 Aqua 紀念版、且系統版本在 macOS 10.13 之前:叫出檔案選取視窗可能會觸發這幾版 macOS 的系統缺陷,請改用拖放方式匯入。
管道二:從奇摩匯出的 TXT 檔匯入
如果您的奇摩(或它的某個分支)還跑得動,也可以在奇摩的偏好設定裡把使用者片語「匯出成 TXT」,然後用同一個「自奇摩輸入法匯入」區段匯入那個 .txt 檔。
兩點注意:
- 唯音不會匯入已存在的詞語——重複的條目會被跳過;
- TXT 檔尾端那個
Database區段的資料,是經過二次加密的 bigram(詞頻)資料與 UserOverride 資料,唯音現階段無法利用(它採用的是詞條本身)。今後也許會有利用方法也說不定。
管道三:手動整理(試算表路線)
如果您想手工整理、或是要把資料搬到別的用途,也可以自己處理:
- 把奇摩匯出的 TXT 檔當中的西文半形逗號「
,」全部換成西文半形減號「-」(唯音的讀音串是以減號相連的); - 用 Excel 或任何試算表軟體開啟,只保留前兩個 Column(詞語、讀音);
- 存成 CSV 時,分隔符號要用空格或 Tab(不要用逗號);
- 處理好的內容可以直接寫進唯音的使用者片語檔案(詳見《使用者片語辭典目錄》)。
補充:唯音的使用者片語檔案允許第三個 Column 指定詞頻權重——理想範圍是 [-9.5, 0](最高頻為 0);-9.5 以下就不會被組句算法主動取用(另有 -114.514 這個「懲戒權重」的例外)。
一條忠告
從奇摩輸入法匯出的 TXT 檔案,請務必留一份備份。 那是您的資料,別讓它只有一個副本。
附錄:歷史備忘(為什麼以前搬資料那麼麻煩)
如果您是最近才開始研究搬家這件事,您可能看過一些「要把 macOS 降級」或「要把資料庫搬到 Windows 上處理」的古老教學。這裡解釋一下那些教學的來歷——以及為什麼您現在完全不需要照做。
- v4.1.5 版為止的唯音:當時只能靠
NSConnection跨程通訊向奇摩輸入法本體「要」資料——這要求奇摩輸入法在您的電腦上還能正常運行。 - macOS 14.2 起:Apple 移除了奇摩輸入法依賴的
__objc_empty_cache符號,奇摩本體徹底罷工;由於它的偏好設定是獨立程式、得靠跨程通訊向本體要資料,於是連偏好設定也打不開、也就無法從奇摩內部匯出任何資料。


- 於是就有了那些變通方法:把系統降級回 macOS 14.1(紙上談兵,且只對剛好還沒升級的機器有效)、或者把
SmartMandarinUserData.db複製到 Windows 系統上、借 Windows 版奇摩的偏好設定匯出 TXT。 - v4.1.6 版起的唯音:改用自家的 KeyKeyUserDBKit 直接解讀 SQLite 資料庫,上述變通方法全部不再需要——不需要奇摩能跑、不需要降級、不需要 Windows。
搬家這種事,一輩子可能只做一次。祝您順利。如果唯音真的讓您的打字體驗變好了,歡迎見《如何贊助唯音輸入法的開發》一文。
$ EOF.