内置核心插件
几维输入法不仅包含了经典的 Rime 核心插件,还深度集成了 Outwit 专属的独创组件,极大拓宽了输入引擎的能力边界。
Lua 脚本运行时 (librime-lua)
- 开源库:librime-lua
- 技术定位:Rime 官方的 Lua 脚本运行时,几维引擎提供完整兼容。
- 典型应用:
- 动态候选词生成(日期、时间、计算器)。
- 候选词重排与过滤(字符集限制、生僻字降权)。
- 格式转换(数字转大写金额、Unicode 编码查询)。
示例代码:
lua
-- lua/date.lua
function date_translator(input, seg)
if input == "rq" then
yield(Candidate("date", seg.start, seg._end, os.date("%Y-%m-%d"), "日期"))
end
end
return date_translator在方案配置中挂载:
yaml
engine:
translators:
- lua_translator@date语言模型引擎 (Witogram)
- 开源库:librime-witogram
- 技术定位:基于 KenLM 构建的高效 N-gram 语法模型驱动器。
- 核心特性:
- 受官方
Octagram启发并进行了深度的 C++ 架构重构,修复了底层变长编码带来的状态指针越界隐患。 - 补全了原版模型缺失的标准回退(Backoff)权重,确保语言模型在处理未登录词(OOV)时符合统计概率分布。
- 引入了对数线性打分架构,支持 Word/Char 级的动态分词降级机制。
- 基于操作系统的内存映射(mmap)实现零延迟冷启动,将物理内存(RSS)消耗从数百兆压缩至极低水平,完全由打字时的活跃词命中率决定。
- 受官方
无感文本替换 (Witplace)
- 开源库:librime-witplace
- 技术定位:类似 macOS 原生 Text Replacement 的操作系统级无感文本替换框架。
- 核心特性:
- 非阻塞旁路检测:检测键盘记录的滑动窗口,完全不干预、不阻塞正常字符的上屏。
- 底层 TSF 接管:与 Windows 专属前端 (
OutwitTSF) 强耦合,通过 IPC 标签和操作系统的 TSFITfRange::SetText接口实现毫秒级的屏幕文本覆写。 - 极简配置:在方案中挂载
witplace_processor,并在用户目录的replace/文件夹下放置 YAML 字典即可生效。
兼容性限制
Witplace 强依赖于几维 Windows 客户端的特有 IPC 通信机制与 TSF 实现,无法兼容其他标准 Rime 生态输入法(如小狼毫、鼠须管)。
预测输入 (Predict)
- 开源库:librime-predict
- 技术定位:基于历史输入记录的联想与预测插件。
- 当前状态:上游机制尚在迭代,默认未启用。
- 功能预期:
- 依据上屏的上下文动态预测下一个合理的词组。
- 支持快捷键(如
Tab)执行整词上屏。 - 计划与 Witogram 及 Lua 运行时进行联动,实现混合维度的智能联想。