github amzxyz/rime-wanxiang v16.4.2
v16.4.2 Rime万象拼音输入方案

latest release: dict-nightly
3 hours ago

Warning

本次更新属于破坏性更新。

为解决 Lua 数据库长期存放在 lua/ 子目录、同步路径不统一以及数据库连接释放不完整等问题,本次集中调整了多个 Lua 功能的数据库结构和生命周期管理。升级后,相关数据库统一存放在 Rime 用户目录根目录,旧版数据库不能直接继续使用。换来的收益是能利用同步程序看到所有数据库内部样子,做到能备份能恢复。其次避免的折叠路径在打包方案的前端中工作用户目录路径不存在的问题。同时也借此机会将手动排序性能上去掉了时间顺序的排序,复杂度大幅度降低。之前也做了大量的初始化优化,争取让iOS输入法也能承受住,也能舒服的享受满血的输入体验。

主要变化

本次调整涉及:

  • 输入统计;
  • 手动排序;
  • 用户预测;
  • 超级替换;
  • 超级提示;
  • 数据库共享、连接与释放机制。

新版本统一使用标准 UserDb 键值结构,业务值采用:

c=... d=0 t=0

需要说明的是,当前同步机制主要根据相同 key 的 c 值决定保留结果。dt 可能被同步过程重写,时间戳也不能直接放入 key,否则不同时间会生成不同 key,导致同步时只合并记录而无法正确判定新旧数据。

因此,本次调整只是复用了 UserDb 的存储和同步能力,并不代表所有 Lua 功能都能完整复用原生用户词典的同步语义。不同脚本仍会按照各自业务规则处理数据。

数据迁移

输入统计

旧版统计数据无法迁移,升级后将重新累计:

  • 输入字数;
  • 上屏次数;
  • 平均编码;
  • 输入速度;
  • 字词分布。

手动排序与用户预测

这两类数据提供 Python 迁移脚本。

迁移流程:

  1. 备份或导出旧数据;
  2. 使用对应 Python 脚本转换为新格式;
  3. 将转换结果放入同步目录;
  4. 执行 Rime 同步;
  5. 由新版本加载并写入根目录下的新数据库。

转换脚本只负责格式转换,最终数据仍需通过 Rime 同步流程导入。

超级替换与超级提示

这两类数据库只是文本数据的运行时索引,可以根据原始配置和文本文件自动重建,不需要迁移旧数据库。

请保留对应的原始文本文件。

升级建议

  1. 退出正在运行的 Rime 前端;
  2. 备份用户目录和同步目录;
  3. 迁移需要保留的手动排序及用户预测数据;
  4. 更新并重新部署万象输入方案;
  5. 执行同步并检查各项功能;
  6. 确认迁移完成后,删除 lua/ 目录下旧的 .userdb 数据库文件夹。

升级完成后,相关 Lua 数据库将统一位于 Rime 用户目录根目录,不再在 lua/ 子目录中生成。

Caution

不需要保留旧版手动排序或用户预测数据时,可以直接升级并让新版本重新创建数据库,但旧数据不会自动恢复。

更新日志

🐛 Bug 修复

  • lookup: 修复直接辅助前置后后面的所有两个字候选消耗编码不正确的问题 (38b003a)
  • replacer错误引用了绝对路径 (28f678f)
  • 涉及到数据加载的统一调用函数进行用户目录与系统目录的回退并使用相对路径 (703f799)

下载与选型指南


分发渠道与周边生态

Don't miss a new rime-wanxiang release

NewReleases is sending notifications on new releases.