输入优先,学习自然发生。

微明是一个用 Rust 写的跨平台拼音输入法。它的目标不只是把拼音变成汉字,而是让输入本身成为一种轻量、持续、几乎没有额外负担的语言接触方式。

为什么叫「微明」

出自《道德经》第三十六章:「是谓微明。」一点很细的亮,微小但清楚。

输入法就该是这样:藏在文字后面,不抢眼、不打扰,只在你需要的地方给一点光。英文名 Glimmer 是同一个意思。

核心想法

聊天、写代码、搜索、记笔记、写文档、发邮件,大量时间其实都花在输入文字上。如果这些每天发生几百次的输入动作本身就能顺便给一点语言反馈,学习就从「专门腾时间」变成日常的一部分。

输入的时候,顺便多认识一个词。不打断,不弹题,不强迫记忆,只是把译词悄悄放在那里。一次只学一种语言:候选旁边只有一条译词,不会同时塞进英语、日语、韩语、德语。

一个按键在引擎里走过的路

下面每一步都在本机完成,不联网。云联想是独立于这条链路之外的可选补充。

拼音切分

全拼 / 简拼 / 双拼 / 五笔模糊音与敲错纠正

词库查询

自建基础词库 8.7 万条随包领域词库 11 本

整句转换

词图 + bigram Viterbi词图内带敲错边

排序与学习

个人 n-gram 插值选择次数、自动造词

释义标注

本地释义表查词译词后补不阻塞

平台只是壳,Core 才是微明

词库、拼音解析、候选生成、排序、学习、释义全在平台无关的核心里。macOS、Windows、Linux 的外壳只做两件事:把系统按键翻译成核心的输入,把核心返回的候选画到窗口。换掉 IMK 换成 TSF,核心一行不用改。

译词不阻塞输入

释义走本地查表,候选先返回、译词后补画。任何为学习功能增加的延迟、弹窗、界面干扰都算设计错误。逐键耗时的目标是 10 毫秒以内,实测多数按键在 1 到 3 毫秒。

崩溃不丢

学习数据与配置都先写临时文件、同步到磁盘再改名,任何时刻磁盘上要么是旧文件要么是新文件。坏掉的行跳过不影响启动。输入法进程里的意外错误被拦在回调边界,正在打的字母原样交给应用。

平台

核心引擎平台无关,开发顺序是 macOS 优先。

macOS 已可用,测试版

Input Method Kit(IMK)

Windows 已可用,内测版

Text Services Framework(TSF)

Linux 已可用,内测版

IBus / Fcitx5

状态与许可

macOS 测试版与 Windows 内测版都在测试中,公开安装包即将开放下载,暂无开发者签名;代码已开源。

许可

代码以 GPL-3.0-or-later 开源:可以自由使用、修改与再分发,修改后分发须同样开源。「微明」名字与 logo 不在授权范围内。源码在 GitHub

微明在官方渠道免费。若你为获得它向他人付费,你被骗了。

微明派生自 青简 Qingjian(同为 GPL-3.0-or-later):引擎、平台壳与数据工具链都来自那个项目,原有版权声明全部保留,在此感谢原作者与贡献者。

随包数据的来源

各自遵循来源的许可证,偏好设置「关于」页也列了这份清单。

词库
通用规范汉字表;现代汉语常用词表(liuxilu 校对版);THUOCL 领域词(清华大学 NLP 实验室,MIT);读音取自 Unihan(Unicode License v3)
语言模型
中文维基百科(CC BY-SA 4.0)与 LCCC(清华大学 CoAI,MIT)语料统计
释义表
由大语言模型(DeepSeek)离线生成
五笔码表
rime-wubi(LGPL-3.0;极点五笔血统,字根与编码规则由王永民发明,已进入公有领域)
emoji
Unicode CLDR annotations(Unicode License v3)
英文词表
ESDB / SCOWL(© Kevin Atkinson);CSpell 词典(MIT)
词汇等级
CEFR-J Wordlist 1.5(Yukio Tono);Octanove Vocabulary Profile C1/C2(CC BY-SA 4.0);JLPT 词表(tanos.co.uk,CC BY;经 elzup/jlpt-word-list 整理,MIT)