rime/librime:從 README 看清使用邊界
Rime輸入法引擎,核心庫。 RIME:Rime 輸入法引擎 === Rime 與您的按鍵。
秒懂
- 它是什麼?
- Rime Input Method Engine, the core library. RIME: Rime Input Method Engine === Rime with your keystrokes.
- 適合誰用?
- rime/librime 適合需要本文所述功能、並能依 README 指定版本與環境逐項核對的讀者;不適合把文件宣稱直接當成生產保證的團隊。採用前先執行本文提到的專屬命令,記錄輸入、版本與輸出,尤其核對文件已明示的限制與未解決衝突。
- 可以商用嗎?
- 可以。BSD-3-Clause 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 2 天前。
- 用什麼語言寫的?
- 主要是 C++(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
librime|librime|librime|Rime 生態中的核心庫|第 1 節
倉庫自身的描述將 librime 稱為 Rime 輸入法引擎的核心庫。README 開頭的標語是 'Rime with your keystrokes',並將專案主頁指向 rime.im。主要程式語言是 C++,README 說明該引擎是跨平台的。它並不提供一個完整的輸入法應用程式;介面由前端負責。這個分離是理解專案的關鍵:librime 包含引擎邏輯,前端處理按鍵事件和候選詞顯示。倉庫元資料顯示有 4,529 個 star 和 716 個 fork,但這些數字本身不能說明生產環境中的實際使用範圍。
引擎和前端的分工:librime 是 C++ 引擎核心,不是直接面向桌面的完整輸入法應用程式。Linux 的 ibus-rime、macOS 的 Squirrel、Windows 的 Weasel,以及 Trime、Hamster、fcitx5-rime 等前端負責把按鍵事件和候選顯示接上核心;因此平台體驗不能只由 librime 倉庫判定。(第 1 節核對焦點:librime)
librime 第 1 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 7 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 13 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime|librime|librime|形碼和音碼輸入法特性|第 2 節
README 列出了若干引擎級特性:引擎是模組化、可擴展的,基於開源技術構建,涵蓋了大量中文輸入法中的功能,既有形碼也有音碼。它還聲明原生支援繁體中文,並可通過 OpenCC 轉換到簡體中文和其他區域標準。README 沒有點名具體輸入法,也沒有與其他引擎比較效能。想了解具體支援哪些輸入法,或 OpenCC 轉換如何配置,需要查看 schema 檔案和 README 之外的文件。
librime 是 C++ 引擎核心,不是直接面向桌面的完整輸入法應用程式。Linux 的 ibus-rime、macOS 的 Squirrel、Windows 的 Weasel,以及 Trime、Hamster、fcitx5-rime 等前端負責把按鍵事件和候選顯示接上核心;因此平台體驗不能只由 librime 倉庫判定。:Schema 是可變的介面(第 2 節核對焦點:librime)
librime 第 2 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 8 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 14 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime|librime|librime|Schema DSL 與拼寫代數|第 3 節
兩個設計點被特別提及。第一個是 Rime 輸入 schema,一種 YAML 語法的 DSL,用於快速嘗試新的輸入法設計。第二個是拼寫代數,一種生成變體拼寫的機制,README 稱其對方言尤其有用。README 還提到支援在通用 Qwerty 鍵盤上進行和弦輸入。但 README 沒有包含任何 schema 或拼寫代數規則示例,因此新手需要查閱 wiki 或 schema 倉庫來了解這些部件如何組合。
Schema 是可變的介面:YAML 語法的 Rime schema DSL 讓輸入法設計能快速試作,Spelling Algebra 可生成變體拼寫,README 也列出 Qwerty 和弦輸入。主文件沒有給出規則範例,實際設計仍要對照 schema 與相關配置倉庫,不能僅憑特性清單推斷某個現成方案。(第 3 節核對焦點:librime)
librime 第 3 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 9 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime|librime|librime|構建依賴與 Linux 安裝|第 4 節
README 給出了構建依賴:支援 C++17 的編譯器、cmake 3.12 或更高版本、libboost 1.74 或更高版本、libleveldb、libmarisa、libopencc 1.0.2 或更高版本、libyaml-cpp 0.5 或更高版本。glog 和 gtest 是可選的。執行時依賴列表與此類似,其中 glog 仍然可選。對於 Linux,README 說要依次執行 make 和 sudo make install。對於 macOS 和 Windows,它連結了單獨的 README-mac.md 和 README-windows.md。主 README 沒有給出這兩個平台的具體構建步驟,這是需要驗證的地方。
YAML 語法的 Rime schema DSL 讓輸入法設計能快速試作,Spelling Algebra 可生成變體拼寫,README 也列出 Qwerty 和弦輸入。主文件沒有給出規則範例,實際設計仍要對照 schema 與相關配置倉庫,不能僅憑特性清單推斷某個現成方案。:編譯和授權核對(第 4 節核對焦點:librime)
librime 第 4 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 10 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime|librime|librime|官方與社群前端|第 5 節
README 列出了三個官方前端:Linux 上的 ibus-rime、macOS 上的 Squirrel 和 Windows 上的 Weasel。社群前端列了二十餘個,包括 Android 上的 Trime、iOS 上的 Hamster、Linux 上的 fcitx5-rime、emacs-rime、rime.nvim,以及多個面向終端的專案如 tmux-rime 和 zsh-rime。這個列表並不是對成熟度或使用者數量的聲明,只是記錄專案已知的前端。選擇前端時,應查看對應專案自己的 README 獲取安裝和支援狀態。
編譯和授權核對:Linux 路徑是 `make` 後 `sudo make install`,編譯器需支援 C++17,並依賴 cmake 3.12、Boost 1.74、LevelDB、marisa、OpenCC 1.0.2 與 yaml-cpp 0.5;glog、gtest 可選。BSD-3-Clause 允許本專案把 librime 以源碼或二進位再分發,但要保留版權、授權與免責聲明,且不能未經許可用貢獻者姓名宣傳衍生產品。(第 5 節核對焦點:librime)
librime 第 5 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 11 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime|librime|librime|外掛、相關工具與許可證|第 6 節
倉庫列出了幾個外掛,包括用於 Lua 腳本的 librime-lua、語言模型 librime-octagram、下一詞預測 librime-predict,以及使用 CapnProto 進行 IPC 的 librime-proto。兩個外掛被標記為已棄用:librime-charcode 和 librime-legacy。相關作品包括配置安裝器 plum 和預設詞庫 rime-essay。許可證是 3-Clause BSD,版權歸 RIME Developers 所有。該許可證允許以原始碼或二進位形式再分發,前提是保留版權聲明、在二進位分發中複製聲明,並且未經許可不得使用貢獻者姓名推廣衍生品。許可證聲明不提供任何擔保。它沒有涉及安全支援或維護承諾。
Linux 路徑是 `make` 後 `sudo make install`,編譯器需支援 C++17,並依賴 cmake 3.12、Boost 1.74、LevelDB、marisa、OpenCC 1.0.2 與 yaml-cpp 0.5;glog、gtest 可選。BSD-3-Clause 允許本專案把 librime 以源碼或二進位再分發,但要保留版權、授權與免責聲明,且不能未經許可用貢獻者姓名宣傳衍生產品。:引擎和前端的分工(第 6 節核對焦點:librime)
librime 第 6 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
librime 第 12 項核驗應回到 master 分支的 README,對照命令、檔案路徑、版本與輸出;這裡只記錄素材明示的範圍,不把未說明的行為補成承諾。
編輯結論
rime/librime 適合需要本文所述功能、並能依 README 指定版本與環境逐項核對的讀者;不適合把文件宣稱直接當成生產保證的團隊。採用前先執行本文提到的專屬命令,記錄輸入、版本與輸出,尤其核對文件已明示的限制與未解決衝突。
社群筆記