Open-Source-Projekt
rime/librime avatar
rime/librime

librime: Die Kernbibliothek der Rime-Eingabemethode

Rime Input Method Engine, die Kernbibliothek. RIME: Rime Input Method Engine === Rime mit Ihren Tastenanschlägen.

4.609 Sterne729 ForksC++BSD-3-Clause

Auf einen Blick

Was ist das?
librime ist die Kernbibliothek der Rime-Eingabemethode und enthält die Engine-Logik, das Schema-DSL und die Spelling-Algebra; die Oberflächen werden von separaten Frontends bereitgestellt.
Für wen ist es gedacht?
librime versteht sich als Engine in einem bewusst geteilten Ökosystem: Das Kern-Repository enthält die Engine und Schema-Werkzeuge, während Frontends, Plugins und Konfigurationsinstallateure in eigenen Projekten liegen. Das README benennt diese Grenzen ausdrücklich und überlässt viele Details den zugehörigen Repositories.
Darf ich es kommerziell nutzen?
Ja. BSD-3-Clause ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 2 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich C++, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Die Kernbibliothek im Rime-Ökosystem

Die Repository-Beschreibung bezeichnet librime als die Kernbibliothek der Rime-Eingabemethode. Das README beginnt mit dem Slogan 'Rime with your keystrokes' und verweist auf rime.im als Projekt-Homepage. Die primäre Sprache ist C++, und das README beschreibt die Engine als plattformübergreifend. Es enthält jedoch keine vollständige Eingabemethode-Anwendung; die Benutzeroberfläche übernehmen Frontends. Diese Trennung ist zentral: librime enthält die Engine-Logik, während Frontends Tastaturereignisse und Kandidatenanzeige verarbeiten. Die Metadaten des Repositories zeigen 4.529 Sterne und 716 Forks, aber diese Zahlen allein belegen nicht die tatsächliche Verbreitung im Produktionseinsatz.

Funktionen für form- und lautbasierte Eingabemethoden

Das README listet mehrere Funktionen auf Engine-Ebene auf. Es sagt, die Engine sei modular und erweiterbar, basiere auf Open-Source-Technologien und decke Funktionen ab, die in einer großen Vielfalt chinesischer Eingabemethoden vorkommen, sowohl formbasierte als auch lautbasierte. Außerdem wird native Unterstützung für traditionelles Chinesisch und die Umwandlung in vereinfachtes Chinesisch sowie andere regionale Standards über OpenCC genannt. Das README nennt keine konkreten Eingabemethoden und vergleicht auch keine Leistung mit anderen Engines. Wer genau wissen möchte, welche Eingabemethoden unterstützt werden oder wie die OpenCC-Umwandlung konfiguriert wird, muss Schema-Dateien und Dokumentation außerhalb dieses READMEs zu Rate ziehen.

Schema-DSL und Spelling-Algebra

Zwei Designideen werden besonders erwähnt. Die erste ist das Rime-Eingabe-Schema, ein DSL in YAML-Syntax, das dazu dient, schnell neue Ideen für Eingabemethoden-Designs auszuprobieren. Die zweite ist die Spelling-Algebra, ein Mechanismus zur Erzeugung abweichender Schreibweisen, der laut README besonders für chinesische Dialekte nützlich ist. Das README erwähnt außerdem Unterstützung für Chord-Tippen mit einer generischen Qwerty-Tastatur. Beispiele für ein Schema oder eine Spelling-Algebra-Regel sind im README nicht enthalten. Ein Neuling muss daher Wiki oder Schema-Repositories konsultieren, um zu sehen, wie diese Teile zusammenpassen.

Build-Abhängigkeiten und Linux-Installation

Das README nennt als Build-Abhängigkeiten einen Compiler mit C++17-Unterstützung, cmake 3.12 oder neuer, libboost 1.74 oder neuer, libleveldb, libmarisa, libopencc 1.0.2 oder neuer und libyaml-cpp 0.5 oder neuer. glog und gtest sind optional. Die Liste der Laufzeitabhängigkeiten ist ähnlich, wobei glog weiterhin optional bleibt. Für Linux heißt es im README, man solle 'make' und dann 'sudo make install' ausführen. Für macOS und Windows wird auf separate Dateien README-mac.md und README-windows.md verlinkt. Das Haupt-README zeigt die genauen Build-Schritte für diese Plattformen nicht, daher ist das ein Prüfpunkt für alle, die dort bauen möchten.

Offizielle und Community-Frontends

Das README nennt drei offizielle Frontends: ibus-rime für Linux, Squirrel für macOS und Weasel für Windows. Unter den Community-Frontends werden mehr als ein Dutzend aufgeführt, darunter Trime für Android, Hamster für iOS, fcitx5-rime für Linux, emacs-rime, rime.nvim sowie mehrere terminalorientierte Projekte wie tmux-rime und zsh-rime. Die Liste ist keine Aussage über Reife oder Nutzerzahlen; sie hält lediglich fest, welche Frontends dem Projekt bekannt sind. Wer ein Frontend auswählt, sollte in dessen eigenem README Installations- und Supportstatus prüfen.

Plugins, zugehörige Werkzeuge und Lizenz

Das Repository listet mehrere Plugins, darunter librime-lua für Lua-Skripte, librime-octagram für ein Sprachmodell, librime-predict für die Vorhersage des nächsten Worts und librime-proto für IPC über CapnProto. Zwei Plugins sind als veraltet markiert: librime-charcode und librime-legacy. Zu den zugehörigen Arbeiten gehören plum, ein Installer für Konfigurationen, und rime-essay, der voreingestellte Wortschatz. Die Lizenz ist die 3-Clause-BSD-Lizenz, Urheberrecht bei RIME Developers. Die Lizenz erlaubt die Weiterverbreitung in Quell- und Binärform, sofern der Copyright-Hinweis erhalten bleibt, der Hinweis in Binärdistributionen reproduziert wird und die Namen der Mitwirkenden nicht ohne Erlaubnis zur Bewerbung abgeleiteter Produkte verwendet werden. Sie lehnt alle Gewährleistungen ab. Über Sicherheitsunterstützung oder Wartungszusagen sagt sie nichts.

Kompilierung und Laufzeitbibliotheken

librime ist eine Engine, deren tatsächliche Oberfläche von einem Frontend abhängt. Unter Linux nennt die README make und sudo make install; für macOS und Windows verweist sie auf README-mac.md und README-windows.md. Der Build verlangt C++17, cmake ab 3.12, libboost ab 1.74, libleveldb, libmarisa, libopencc ab 1.0.2 und libyaml-cpp ab 0.5. Zur Laufzeit bleiben diese Bibliotheken erforderlich. OpenCC übernimmt regionale Umwandlungen, während YAML-Schemas und Spelling Algebra den Eingabemethoden-Entwurf strukturieren.

librime bleibt eine Engine, deren tatsächliche Oberfläche von einem Frontend abhängt. Unter Linux nennt die Repositorybeschreibung make und sudo make install; für macOS und Windows verweist sie auf Repositorybeschreibung-mac.md und Repositorybeschreibung-windows.md. Der Build verlangt C++17, cmake ab 3.12, libboost ab 1.74, libleveldb, libmarisa, libopencc ab 1.0.2 und libyaml-cpp ab 0.5. Zur Laufzeit bleiben diese Bibliotheken erforderlich. OpenCC übernimmt regionale Umwandlungen, während YAML-Schemas und Spelling Algebra den Eingabemethoden-Entwurf strukturieren.

Frontends, Plugins und Verteilung

Die konkrete Einordnung von rime/librime hängt an den genannten Dateien, Befehlen und Schnittstellen. Die README belegt keine allgemeine Betriebsgarantie. Für rime-librime-deep-analysis sollte deshalb genau der dokumentierte Pfad geprüft werden: Projektquelle lesen, den genannten Einstieg mit einer kleinen reproduzierbaren Eingabe ausführen und die dabei entstehenden Dateien oder Endpunkte mit der Beschreibung vergleichen. Nicht dokumentierte Ergebnisse werden hier nicht ergänzt.

Redaktionelles Fazit

librime versteht sich als Engine in einem bewusst geteilten Ökosystem: Das Kern-Repository enthält die Engine und Schema-Werkzeuge, während Frontends, Plugins und Konfigurationsinstallateure in eigenen Projekten liegen. Das README benennt diese Grenzen ausdrücklich und überlässt viele Details den zugehörigen Repositories. Für rime/librime sind die dokumentierten Befehle und Dateien der passende Prüfpunkt; eine weitergehende Aussage lässt sich aus der README nicht ableiten.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen