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

5 hours ago

Warning

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

为解决 Lua 数据库长期存放在 lua/ 子目录、同步路径不统一以及数据库连接释放不完整等问题,本次集中调整了多个 Lua 功能的数据库结构和生命周期管理。升级后,相关数据库统一存放在 Rime 用户目录根目录,旧版数据库不能直接继续使用。

主要变化

本次调整涉及:

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

新版本统一使用标准 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

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

更新日志

✨ 新特性

  • 采用融合特征算法,超级替换跨方案也不会造成无修改的重新初始化了 (7b33c73)

📚 词库更新

🐛 Bug 修复

  • ctrl+数字上屏时支持先数字选定一段确认的候选接着再去按ctrl+数字,这样已确认部分与后面的部分一起上屏 (e4830cf)
  • 优化字符级过滤中的几个兜底逻辑 (ce76235)
  • 候选格式化回车前默认增加了零宽空格以应对electron类软件把尾字拖到内容最后一行的问题 (f9e4d03)
  • 取消一些安全闭包,有问题就要暴露出来 (8b68cf9)
  • 安全调用userdb (5b28dc9)
  • 恢复预测的多条记录能力 (1cad8c4)
  • 稍稍优化初始化懒加载 (d5a33e7)
  • 脚本两处细节优化 (c53829b)
  • 英文replacer数据位置调整 (2da4d4b)
  • 超级替换重构后功能的恢复和修复 (2f175c9)
  • 预测代码持续优化 (09ba25b)
  • replacer: 修复若干bug (59a22a7)
  • sequence: 修复若干bug (5df7512)
  • user_predict: 修复若干bug (2cca1e8)
  • user_predict: 修复若干bug (3a45923)
  • 恢复保护翻译器挂在的方法 (3b11f72)

💅 重构

  • 对使用数据库的几个插件进行重构,使用公共处理库改写,复用userdb格式,原来因为数据库专用于用户词,对格式设计较为定向,其同步程序也专用于这个格式的解析,这就导致了复杂的数据库需求需要折叠到其他路径,但折叠又面临一个问题,当app打包了你的脚本后用户目录为空,路径不存在就无法创建数据库从而报错,本次也是顶着压力尽可能地想办法复用用户词数据库的格式,不受影响的脚本有,输入统计,反而能统计多个设备的数据了,超级替换简单的数据结构改变,tips也是简单的数据结构变化,难点在于预测、排序这两个,主要测试能否复用同步逻辑,如果存在合并问题其实也可以手动迁移数据依赖同步导入,只是不去依赖自动合并。另有好消息手动排序改变了算法,去掉了依赖时间的排序逻辑在时间复杂度上面大幅度降低 (5faa37b)

下载与选型指南


分发渠道与周边生态

Don't miss a new rime-wanxiang release

NewReleases is sending notifications on new releases.