rime-cloudpinyin 是面向 Rime 中州韵打造的云端增强插件,版本迭代至 v2.0 ,核心解决原生 Rime 离线词库两大短板:一是本地词库无法实时收录网络新词、热点词汇;二是原生模糊音仅处理声母韵母混淆,无法修复手指错位、邻键乱序输入。插件采用「 Python 后台服务 + Lua 过滤器」分离架构,独立进程处理网络请求,不会阻塞输入法打字,兼容朙月、雾凇等绝大多数全拼方案, Linux fcitx5/ibus 、 Windows 小狼毫、 mac 鼠须管全平台可用。

原生 Rime 完全离线,词库更新依赖仓库手动同步,滞后数月的网络梗、游戏新词、热点事件词汇很难收录;而市面上主流商业输入法依靠云端词库实时更新。本插件打通云端词库接口,搭配 DAG 拼音分词纠错引擎,兼顾离线基础词库稳定性与云端词汇时效性。

核心功能

1. 实时云端候选(云词采集)

后台定时拉取全网实时热词、网络流行语、影视游戏专有名词,输入拼音时自动追加云端候选到列表末尾,不覆盖本地高频词汇,兼顾个人打字习惯与新鲜词汇。

  • 增量缓存机制:拉取后的新词本地持久缓存,断网状态依然可以调用;
  • 分层排序:本地用户词、基础词优先展示,云端热词后置,不打乱日常输入;
  • 自定义采集周期,可关闭联网避免流量消耗。

2. 智能云纠错( DAG 拼音纠错引擎)

内置 Pinyin2Hanzi DAG 有向无环分词模型,针对两类手滑错误精准匹配:

  1. 邻键错位:手指按错相邻字母,如xioangi自动匹配「想你」;
  2. 字符乱序:拼音字母颠倒,无需手动删字重打; 纠错逻辑融合键盘布局权重 + 编辑距离算法,区分单纯模糊音与乱序错输,仅在原生词库无匹配时弹出纠错候选,正常打字零干扰。

技术架构

插件采用前后端分离设计,规避 librime 单线程阻塞问题:

  1. Lua 前端过滤器( rime-plugin ) 挂载在 Rime 方案引擎流水线,捕获当前输入拼音串,通过本地 API 请求后台服务,接收云端 / 纠错候选并追加至候选列表,纯本地同步操作,无网络等待卡顿。
  2. Python 独立后台服务( src/rime_cloudpinyin ) 常驻后台进程,提供 HTTP 本地 API ,包含四大模块:
  • collector 热词采集器:定时同步云端词汇库,写入本地缓存;
  • corrector 纠错核心: DAG 拼音分词算法计算纠错候选;
  • server 本地接口服务,供 Lua 调用;
  • training 词频自动训练模块,长期使用优化云端候选排序。
  1. systemd 服务支持: Linux 可注册后台常驻,开机自启无需手动运行脚本。

内置 API 接口

本地轻量 HTTP 服务,提供标准化接口:

  • GET /api/pinyin:单组拼音查询云端候选,支持自定义返回条数;
  • POST /api/pinyin/batch:批量拼音查询,长句输入提速;
  • POST /api/correct:手动触发乱序纠错;
  • GET /api/cache/stats:查看本地缓存词汇统计。

部署流程

1. 环境依赖

系统预装 Python3 ,支持 pip 包管理; Rime 已部署朙月 / 雾凇等拼音方案。

2. 一键安装脚本

git clone https://github.com/timyang2005/rime-cloudpinyin
cd rime-cloudpinyin
bash scripts/install.sh
# 或手动安装 Python 依赖
pip install .

3. 启动后台服务

python scripts/update.py
# Linux 可注册 systemd 后台服务,实现开机常驻

4. Rime 方案配置(以朙月拼音为例)

复制rime-plugin文件夹到 Rime 用户目录,在luna_pinyin.custom.yaml注入云翻译过滤器:

patch:
  engine/translators/+:
    - lua_translator@cloud_translator

保存后执行重新部署,切换拼音方案即可生效。

仓库目录结构

rime-cloudpinyin/
├── src/rime_cloudpinyin  # Python 服务核心源码
│   ├── collector    # 云端热词采集
│   ├── corrector    # DAG 纠错算法
│   ├── server       # 本地 HTTP 接口
│   └── training    # 词频训练工具
├── rime-plugin      # Rime Lua 前端过滤器
├── scripts          # 安装、更新、运维脚本
├── systemd          # Linux 后台服务配置文件
├── tests            # 单元测试脚本
└── docs             # 部署、开发文档