Files
msime-windows/server
Evan 7e28e1618f ci: run the test suite against real dictionary data (#22)
测试读的是 %LOCALAPPDATA%\metasequoiaime 下的词库,此前 CI 没有提供,16 个测试因数据缺失失败,于是整个 ctest 步骤被移除。

MSIME-Dict 已经把构建好的数据库作为 release 资产发布,实测下载 msime.db、others.db、english.db 三个库加校验只要 8.6 秒。发布流程本身也是从 dict release 取词库的,这里沿用同一条路径,tag 固定以免上游更新时 CI 结果漂移。

辅助码需要五套方案,本仓 assets/tables 只有一套,从 MSIME-HelpCode 浅克隆补齐。
2026-09-05 19:45:20 +09:00
..
2026-03-12 01:34:41 +08:00
2026-07-28 02:27:49 +08:00
2025-07-26 18:32:46 +08:00
2026-09-05 19:02:43 +09:00
2026-09-02 19:12:16 +08:00
2026-09-05 08:10:00 +00:00
2025-04-16 02:03:11 +08:00
2026-04-02 18:25:57 +08:00
2025-11-10 21:10:36 +08:00

Metasequoia IME Server(水杉输入法 Server 端)

This is the server end of MSIME-Windows.

How to build

Prerequisites

  • Visual Studio 2026
  • CMake
  • vcpkg
  • Python3.10+
  • Boost

Make sure vcpkg and Boost are installed by Scoop.

Build steps(For Dev)

First, build IME dictonary and prepare assets,

cd $env:LOCALAPPDATA
mkdir metasequoiaime
cd metasequoiaime
git clone --recursive https://github.com/metasequoiaime/MSIME-Dict.git MetasequoiaImeDict
cd .\MetasequoiaImeDict\makecikudb\xnheulpb\makedb\separated_jp_version
python .\create_db_and_table.py
python .\insert_data.py
python .\create_index_for_db.py
Copy-Item -Path .\out\msime.db -Destination $env:LOCALAPPDATA\metasequoiaime

Then, clone and build MSIME-Server,

git clone --recursive https://github.com/metasequoiaime/MSIME-Server.git MetasequoiaImeServer

Prepare environment,

cd MetasequoiaImeServer
python .\scripts\prepare_env.py
Copy-Item -Path .\assets\tables\* -Destination $env:LOCALAPPDATA\metasequoiaime
New-Item -ItemType SymbolicLink -Path "$env:LOCALAPPDATA\metasequoiaime\config.toml" -Target ".\assets\config\config.toml"

e.g.

cd MetasequoiaImeServer
python .\scripts\prepare_env.py
Copy-Item -Path .\assets\tables\* -Destination $env:LOCALAPPDATA\metasequoiaime
New-Item -ItemType SymbolicLink -Path "C:\Users\sonnycalcr\AppData\Local\metasequoiaime\config.toml" -Target "C:\Users\sonnycalcr\EDisk\CppCodes\IMECodes\MetasequoiaImeServer\assets\config\config.toml"

Then, build and run,

.\scripts\lcompile.ps1
.\scripts\lrun.ps1

If you want to build and run in one step, run the following command,

.\scripts\llaunch.ps1

Watchdog

MetasequoiaImeWatchdog.exe is built next to the server. Starting the server directly also starts the watchdog, which monitors the server from the same directory and restarts it after an unexpected exit. Repeated early crashes use an exponential restart delay (up to 30 seconds) to avoid a restart storm.

The developer terminate shortcut stops both processes. The restart shortcut asks the watchdog to start a fresh server after the current process exits.

English prefix candidates

Place english.db next to msime.db in %LOCALAPPDATA%\metasequoiaime. Set general.cn_en_mixed_input = true in config.toml to enable asynchronous English prefix candidates for Quanpin and Shuangpin.

Developer Shortcuts

The server process includes a few built-in global shortcuts that are useful during development:

  • Ctrl + Shift + Alt + T
    • terminate MetasequoiaImeServer immediately
  • Ctrl + Shift + Alt + R
    • restart MetasequoiaImeServer
  • Ctrl + Shift + Alt + C
    • clear IME engine cache
  • Ctrl + Shift + Alt + 1 to Ctrl + Shift + Alt + 8
    • delete candidate 1 to 8 from the current candidate window
    • this only works while the candidate window is visible

Screenshots