Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

问云 rime-wenyun

Rime、双拼,按需云输入插件:本地词库打不出的新词、人名,按一下快捷键"问一下云端"。

网络上有不少全拼的 rime 云输入,但是没有双拼的。这个项目解决了这个问题。

输入 yhlikp(自然码双拼"杨立昆")
本地候选:养了 阳历 样例 …          ← 词库里没有这个人
按 Ctrl+Alt+/:
  1. 杨丽坤 (搜狗云)  2. 杨立坤 (搜狗云)  3. 杨立昆 (搜狗云)
选中上屏后,下次输入 yhlikp:
  杨立昆 ☁                          ← 已记入本地,不联网直接命中

特性

  • 按需触发:只在你按触发键(默认 Ctrl+Alt+/,冷僻组合不与系统/应用/方案抢键)时才查询云端,平时零网络请求、零延迟——这也是隐私边界:不触发,就不发送任何内容
  • 双拼 + 辅助码原生支持:独有的"引擎内全拼还原"——从主翻译器的 spelling_hints 注释还原出无调全拼再查云,任意双拼方案(自然码、小鹤、搜狗…)+ 任意辅助码都不需要配置转换表。这是 librime-cloud(直接发送原始码,只支持全拼)做不到的
  • 云词记忆:云候选上屏自动记入本地 LevelDb,同一编码再次输入时离线置顶(☁ 标记),越用越快
  • 多云源回退:搜狗(默认,中文人名/新词质量最佳)→ 谷歌 Input Tools → 百度 olime,主源失败自动切换
  • 纯 Lua:无需编译,无二进制依赖,一个文件 + vendored json

前置条件

依赖 说明
librime-lua 小狼毫(Windows)、鼠须管(macOS)内置;Linux 装发行版包(Debian/Ubuntu: librime-plugin-lua,Arch: librime 自带)
curl Linux/macOS 自带;Windows 10+ 自带
translator/spelling_hints 双拼方案必需(任意 >0 值即可);万象系方案默认已开启;纯全拼方案可不开(有原始码兜底)

安装

  1. 把 lua/wenyun.lua 和 lua/wenyun/ 目录拷入 Rime 用户目录的 lua/ 下:
<rime用户目录>/
  lua/
    wenyun.lua
    wenyun/
      json.lua
  1. 在你输入方案的 custom 文件中挂载三个组件(以万象Pro为例,wanxiang_pro.custom.yaml):
patch:
  engine/processors/@next: lua_processor@*wenyun*processor
  engine/translators/@next: lua_translator@*wenyun*translator
  engine/filters/@next: lua_filter@*wenyun*filter

其他方案(雾凇、朙月等)同理,把文件名换成对应的 <方案>.custom.yaml。 双拼用户请确认方案已开启 translator/spelling_hints(万象默认有;没有的加一行 translator/spelling_hints: 9)。

  1. 重新部署。

使用

  • 输入编码 → 按 Ctrl+Alt+/ → 云候选出现在候选列表前部,带 (搜狗云) 等标记
  • 选中云候选上屏 → 自动记忆;下次输入同样编码,该词带 ☁ 直接出现,无需联网
  • 云端也不认识的词(比如刚出现 48 小时的梗):老老实实逐字打一遍吧

配置(可选)

在方案的 custom 文件 patch: 下:

  wenyun/trigger_key: "Control+Alt+slash"   # 触发键,键名用 librime keysym(slash/period/comma…)
  wenyun/provider: sogou            # 默认云源:sogou | google | baidu
  wenyun/candidate_count: 5         # 云候选数量
  wenyun/timeout: 1.0               # 单云源超时(秒)
  wenyun/db_name: "lua/wenyun"      # 云词记忆库路径(相对用户目录)
  wenyun/debug: false               # true 时写调试日志到 /tmp/wenyun.log

云源状态(2026-06 实测)

云源 状态 备注
搜狗 ✅ 默认 人名/新词质量最佳("杨立昆""梁文锋"都能给出),响应 ~40ms,HTTP 二进制私有协议
谷歌 Input Tools ✅ 回退 整句质量好,但词库偏老(给不出近年的新人名)
百度 olime ❌ 已失效 接口返回 errno 19,保留实现备其复活

三者均为各厂公开 Web 端点,无需 key。接口非官方承诺,可能随时变更——失败时静默回退/放弃,不影响正常输入。

工作原理

按下 Ctrl+Alt+/
  └─ processor 置触发标记,刷新一次组句
       └─ translator 检测到标记:
            1. 用 Component.Translator 查询主翻译器(script_translator),
               取首个整段候选的 spelling_hints 注释(词典带调全拼,
               兼容万象系"拼音;辅码"格式),归一化 → 无调全拼
            2. curl 查询云源(阻塞,超时封顶;只有这一下会卡)
            3. 全编码覆盖的云候选以高 quality yield,置于候选前部
  └─ 上屏时 commit_notifier 比对:是云候选 → 写入 LevelDb
  └─ filter 兜底恢复被其他 Lua 方案(如万象 super_comment)清空的候选注释

FAQ

Q: 按了触发键会卡一下? A: 是,librime-lua 没有异步机制,HTTP 是阻塞的。所以设计为按需触发:只有你主动按键的那一下会等待(搜狗实测 ~40ms,超时上限可配),平时打字零影响。

Q: 和 fcitx5 自带的云拼音模块什么关系? A: fcitx5-module-cloudpinyin 只支持 fcitx5 自家的拼音引擎,明确不支持 Rime。本插件在 librime 内部工作,所有 Rime 前端(小狼毫/鼠须管/fcitx5-rime/ibus-rime)通用。

Q: 云候选和本地候选重复时显示两条吗? A: 不会,方案过滤器链里的 uniquifier 会去重(万象等主流方案都有;没有的可自行在 filters 里加一行 - uniquifier)。

Q: 隐私? A: 只有按触发键的那一刻,当前输入串的拼音会发送到所选云源(搜狗/谷歌/百度),其余任何时候不联网。云词记忆完全在本地。

致谢

License

MIT

About

问云:Rime 双拼云输入,辅助码原生支持 | On-demand cloud pinyin for Rime, works natively with shuangpin & auxiliary codes

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages