选词后的调频写入在词库写线程上提交 msime_user.db / msime.db。两个库都是 默认的 rollback-journal 模式,提交时持独占锁并 fsync,按键线程此时读同一个 库(引擎查询、apply_fixed_positions)就得等完整个提交。磁盘忙或杀软扫描 -journal 时单键可达 0.7~1.1 s,后续按键排队;排队期间按空格/数字会超过 TSF 300 ms 的上屏回复等待,组合被当作传输失败丢掉,表现为输入消失。 - 用户日志库每次建连接时切到 WAL;msime.db 在每次创建输入会话时切到 WAL (安装升级会换上非 WAL 的新文件)。WAL 下读取看到最近一次提交的快照, 不再等写锁。安装器已保留 msime_user.db-wal/-shm、替换词库前删除旧的 msime.db-wal/-shm。 - ensure_schema 的 PRAGMA user_version=3 本身是写操作,版本已一致时跳过, 建连接不再被其他写者阻塞。 - 新增回归测试:两个库都被写事务锁住时,读取须在 1 s 内返回提交前的内容。 本地用真实词库加锁测量:被锁时首键 769 ms -> 0.5 ms, apply_fixed_positions 810 ms -> 0.4 ms。
Metasequoia IME for Windows
中文 README · Website · Docs · Privacy
A free and open-source Chinese and Japanese input method for Windows 10 and 11, built on TSF with no legacy IMM32 path.
This repository is the whole Windows product: the TSF text service DLL, the resident server, the conversion engine, a self-written native GUI framework, the HTML surfaces and the installer. The engine was imported from MSIME-Engine and specialized for Windows; it now lives in engine/ as a first-party component, so a plain clone builds the product. See engine/UPSTREAM.md.
This is a public beta. Expect rough edges and read the release notes before upgrading.
Install
Download the installer from Releases or the download page, run it, then switch with Win + Space.
Current builds are not code signed. SmartScreen will block them and uiAccess is unavailable, which means the candidate window cannot float above elevated applications. Verify the download with the SHA256 published on the download page.
You need the Microsoft Visual C++ 2015–2022 Redistributable (x64). The server and settings app are 64-bit; the x86 redistributable is a separate package and does not substitute for it. If you cannot switch to the IME, the server keeps exiting, or the settings window closes immediately, install that first.
What it does
- Chinese input: full pinyin, double pinyin (Xiaohe / Ziranma / Shoudao / Microsoft / Sogou / Ziguang / Zhineng ABC / Guobiao / Pinyin Jiajia), Wubi 86
- Japanese input: romaji, with hiragana, katakana and dictionary candidates; also available as a temporary mode from Chinese
- Helpcode (形码) filtering on pinyin schemes: six tables, single- and double-code
- Optional cloud candidates, and AI suggestions via DeepSeek / OpenAI / SiliconFlow / Groq
- English-Chinese glosses in the vertical candidate window
- Mixed Chinese-English input, emoji and kaomoji, a dedicated English candidate mode
- Local input statistics (off by default): character counts and active time stay on this machine; view and clean them under Settings → Statistics
- Voice input with streaming recognition and optional cleanup
- Handwriting, on-screen keyboard, floating toolbar, clipboard history
- User dictionary management, candidate frequency tuning, skins with light and dark variants
Privacy
An input method sees every keystroke, so the boundaries are stated explicitly in PRIVACY.md: which features reach the network, what each one sends, what the defaults are, and how to turn each off.
Two things worth knowing up front. Cloud candidates are on by default — the composition spelling goes to Google's input-tools service, and it is the only network feature that works without you supplying a credential. API tokens are stored in plain text in config.toml, unlike macOS and Linux which use the Keychain and Secret Service.
There is no telemetry, analytics or crash reporting of any kind.
Building and contributing
CONTRIBUTING.md has the environment, the build order and what to run before opening a pull request. Contributions do not have to be code — dictionary entries, documentation, icons and compatibility testing all count, and the recruiting page lists them by area.
Note that most issues, documentation and code comments are in Chinese. English pull requests and issues are welcome.
Licence
GPL-3.0. See LICENSE and THIRD_PARTY_NOTICES.txt.