Open-source project
scholay/xsime avatar
scholay/xsime

XSIME: a Rime powered input method that grew into a text workbench

XSIME / 犀术IME / 犀術IME — 心有灵犀,落笔见术。Cross-platform input method and text workbench, powered by Rime.

1,110 stars72 forksSwiftApache-2.0

At a glance

What is it?
XSIME is a cross-platform input method built on the Rime engine, and it adds three slot based workspaces on top of the usual input schemes, a buffer for text before it is committed, a capsule for what you have copied, and a mailbox for AI conversations and external pushes. It suits a user who wants translation, generation and rewriting without leaving the application, and it is a young project with an active rename in progress.
Who is it for?
Adopt XSIME if you want an input method that can translate, generate and rewrite the text you are typing without switching applications, because the buffer is built for exactly that flow and the capsule and mailbox cover the other two slots. Do not adopt it for a stable, quiet input method on every platform, because the feature set differs per platform, with Mailbox absent on Linux, and the project is still renaming its product and its identifiers.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the project is

XSIME, also called 犀术IME or 犀術IME, is a cross-platform input method and text workbench powered by Rime, and the Chinese encoding logic is based on the Rime input method engine.

The description in the README is that it is an input method project supporting multiple operating systems, using three invented slot style platforms to carry what the user needs, and the three are named in the same paragraph: an explicit input buffer, a capsule that holds clipboard history, screenshots and a personal knowledge base, and a mailbox that receives information from outside.

That framing is what makes the project interesting. An input method is normally a small specialised thing, and this one has been built out into a place where the text you are about to type is a workspace rather than a direct insertion. The promise in the Chinese line is that you get translation, generation and polishing done inside whatever application you are in, with the input method and its plugins handling it.

The input schemes are familiar, with full pinyin, double pinyin, shuangpin, Wubi 86, Xishu Wubi and an English scheme, plus support for the simultaneous key entry scheme used in stenography, and custom imports. For newcomers, the installer is self-contained, with librime and the dictionaries bundled, so it works out of the box.

The project is written in Swift for its primary platform, licensed Apache-2.0, with the site at xsime.com, and the last push to the repository was on 2026-10-15.

The three slots, and what each one does

The three workspaces are the product, and the README describes them in a table with a column for the content, the operation, where it is stored and the boundary.

The Buffer, on the shortcut for command shift B, is a text workbench for text that has not been committed to the input field yet. Chinese or English text goes into the buffer first, and it can be translated in real time or generated and rewritten with a selected AI connector, and only when you confirm is it explicitly delivered to the current input field.

The Capsule, on command shift V, is a bar at the bottom of the screen. Text, links, images, files and colours that you have just copied appear under a recent section, and what you want to keep goes into notes, images, PDFs, skills or passwords.

The Mailbox, on command shift M, is a window holding AI conversations, notes and external pushes that are waiting for review, and you can start a new conversation there and pick a configured connector.

The boundary column is the part worth reading. The buffer delivers only through the system clipboard after you switch away from XSIME, not through the input method kit, and the capsule stays on the machine unless you choose to store it, with passwords and keys kept locally as digests. The Mailbox binds a model to a single conversation only, so a command line session gets the default model rather than whatever the window was using.

There is also a settings window on command shift S, which is deliberately restricted, since it only opens when XSIME is the current input method, and it does not embed the Mailbox or Capsule windows.

The plugin model, and the catalogue that is generated

The plugin system is the part of the architecture that scales, and the README is unusually explicit about how the list of plugins is maintained.

Some capabilities are buffer plugins, and they are the ones that do the interesting work. Real-time translation is a buffer plugin that uses Apple's local translation or can go through AI. AI generation is a buffer plugin that can talk to Codex, Claude Code or an OpenAI compatible API, with Plain, Markdown and JSON output that stays in the buffer until you commit it. Stream input, the 意识流 mode, hands the pinyin or the chord input to the selected AI and offers up to five mutually exclusive guesses, and it only delivers after you choose one.

The chord entry, the 并击 mode, is different in kind, because it is a built-in extension rather than a plugin, and it is off by default. It supports same-beat combinations and left and right separated key presses, and it can be remapped.

The preset plugin table is generated, and the README says so, with the table produced from a catalogue file by a script that must be run to check that they match, and the comment says to update the plugin version whenever you update a plugin.

bash
python3 scripts/sync-buffer-plugin-catalog.py --check

That is a small piece of engineering discipline worth noticing. The table in the documentation has twenty or so entries with identifiers, versions and default states, and rather than maintaining it by hand the project generates it and fails the check when it drifts.

The installation rules are stated too. Preset plugins are enabled according to their default state on a fresh installation, optional plugins are downloaded on demand and have to be enabled manually, and an upgrade preserves the state the plugins already had.

The input schemes, and the two Wubi variants

The scheme list is a Chinese input method tradition with some additions, and the two Wubi entries are the interesting part.

Wubi 86 is built in on all five platforms, and it has a convenience that is unusual for the scheme. After you type a z, you can look characters up with full pinyin, for example typing three letters, and the candidate list shows the Wubi code alongside. The point is that a Wubi user who cannot remember a code for a character can still find it, without switching input method.

Xishu Wubi, the project's own variant, needs no switching at all, and you can type either the Wubi code or the pinyin, with the complete Wubi match taking priority when both are possible.

Both support the four code unique auto commit, where a four character code is unambiguous and goes straight to the output, while a duplicate code and a pinyin lookup keep the candidates on screen. The details are in a separate document on Wubi input, which is linked from the README.

Alongside those there are the pinyin family schemes listed in the capability table, including 雾凇全拼, 自然码 and 小鹤, plus an English scheme, and the schemes can be imported from third party sources.

The import path is worth a note, because it is where portability is won or lost. All five platforms offer an entry point for importing third party Rime schemes, accepting the same standard ZIP as well as encoded UTF-8 text files in tab separated format, with the format and its limits described in an import guide.

Installation across five platforms, and the packaging differences

The 1.1.4 release is published in one place, and it contains the installers for every platform, which is unusual and convenient.

For macOS there is a PKG for Apple silicon and Intel, signed and notarised. For Android there is an APK with version code 18, keeping the long term signing key. For Windows there is an EXE installer for x64 systems containing both x64 and x86 TSF, and the EXE is not signed. For Linux there is a DEB for Ubuntu 24.04 on amd64 using Fcitx5. For iOS there is an App Store listing and a public TestFlight invitation, and the publicly installable version is whatever the Apple page says.

The signing differences matter and are worth stating plainly. The macOS build is signed and notarised, the Android build keeps a long term signature, and the Windows build is unsigned, which means Windows will show a warning on first run.

There is a known problem on macOS 27 that the README documents in detail. Users have reported that after installing and then switching to XSIME inside the App Store sandboxed versions of WeChat or QQ, the host application may crash. The advice is to switch back to another input method first, and there is a recovery guide for backing up and restoring the input source cache per application. The installer does not clean other applications' caches, and restarting the application or logging out is not guaranteed to fix it. The investigation is tracked in an issue.

So the honest summary is that the install story is good, with one platform specific hazard that the project is actively working on.

Building from source, and the gaps between platforms

Building locally is a clone with submodules and then a per platform step.

bash
git clone --recurse-submodules https://github.com/scholay/xsime.git
cd xsime

The per platform table is where the project's real state shows, because the five platforms are not at the same level.

For macOS the build script produces the input method along with the Buffer, the Capsule and the Mailbox, which is the complete product. For iOS the keyboard and the main application are built from an Xcode project, targeting iOS 17 and later, with offline pinyin, 自然码, Wubi and English plus the Buffer. For Windows the native TSF input method, the Buffer, the chord feature and the official plugin settings are built, on x64 systems with both x64 and x86 TSF. For Android there is the native input method over InputConnection, the Buffer, six official plugins and a configurable AI service. And for Linux there is the Fcitx5 input method with the Buffer and the Capsule, and the table says plainly that the Mailbox is not there yet.

That one gap is the clearest signal of where the project is in its cycle, and it is the sort of thing the build table is honest about rather than glossing over.

The documentation follows the same pattern of separating the current from the historical. A system architecture document is described as the authoritative global architecture and the one to read first if you are taking over development, an architecture document holds the historical contracts and the pitfalls, and a plugin configuration document covers the declarative configuration. There is also a platform roadmap, a maintenance document and a release history.

Branding, licensing and the shape of the repository

A detail in the README deserves its own paragraph, because it tells you something about the state of the project.

XSIME, 犀术IME and 犀術IME are the unified names for the product, the project and the architecture, and they were previously RIMES, 灵犀输入法 and Lingxi IME. The brand is in the middle of a migration, and the README is careful to say that published clients, store listings and registered names are updated through their own processes, and that this does not mean everything has been renamed yet. A separate branding document records the compatibility identifiers and the order of the migration, which is the kind of document that only matters while a rename is in flight.

The repository layout matches a project of this size and this age. There are the source directories, a shared directory, a platform directory, an official plugins directory, a catalogue directory, a design system directory, a logo directory and resources, alongside a large set of documents at the root covering the architecture, the buffer and capsule designs, the mailbox workspaces, the chord key maps, the plugin configuration, the cross-platform preview, the maintenance notes, the platform roadmap and the release history.

There are also the pieces that show a project with a working development process, an agents file, a code of conduct, a contributing guide, a changelog, a notice file and third party notices, a licensing document, and a set of release records including a validation file for the 1.0.0 release and a readiness document dated in October 2026.

The licence is Apache-2.0, and the most recent releases are version 1.1.4 for macOS and iOS, with the Windows and Android builds cut on the same day.

Editorial conclusion

Adopt XSIME if you want an input method that can translate, generate and rewrite the text you are typing without switching applications, because the buffer is built for exactly that flow and the capsule and mailbox cover the other two slots. Do not adopt it for a stable, quiet input method on every platform, because the feature set differs per platform, with Mailbox absent on Linux, and the project is still renaming its product and its identifiers. Before you commit, read the platform build table, and if you use macOS, read the issue about host applications crashing when the input source changes under version 27.

Frequently asked questions

What is XSIME?

XSIME, also known as 犀术IME, is a cross-platform input method and text workbench whose Chinese encoding logic is based on the Rime input method engine. It adds three slot based workspaces to an input method: an explicit input buffer, a capsule for clipboard history and personal knowledge, and a mailbox for AI conversations and external pushes.

What are the Buffer, Capsule and Mailbox in XSIME?

The Buffer is the text workbench for text not yet committed to the input field, which can be translated or generated and rewritten by an AI connector before you confirm delivery. The Capsule is a bottom bar holding what you have just copied, with notes, images, PDFs, skills and passwords as storage categories. The Mailbox is a window for AI conversations, notes and external pushes awaiting review.

How do I build XSIME from source?

Clone the repository with the recursive submodule flag, then use the per platform step: the build install script on macOS, the Xcode project on iOS, the native TSF instructions on Windows, the Android README for the InputConnection based input method, and the Fcitx5 instructions on Linux, where the Mailbox is not available yet.

Which input schemes does XSIME support?

The scheme list includes full pinyin, double pinyin, shuangpin, Wubi 86, Xishu Wubi and an English scheme, and the scheme packages for the pinyin family. Wubi 86 allows a pinyin lookup after typing z, and Xishu Wubi accepts either the Wubi code or the pinyin with the full Wubi match taking priority.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. scholay/xsime on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/scholay-xsime.svg)](https://hysenlabs.com/projects/scholay-xsime)

Was this useful?