rime‑dict‑sync 是一款 Go 语言开发的 Rime 词典命令行同步工具。解决 Rime 使用者手动下载上游 dict.yaml 词库、维护版本标记的繁琐工作。可以通过 yaml 任务配置,批量从远程 URL 下载 Rime 词典文件,自动修正词典头部nameversion元信息,自动打上更新日期版本号;同时支持多种合并模式,保留源文件注释头,输出可直接投入 Rime 使用的词典文件。 该工具内置万象拼音、雾凇英文等现成任务配置,适合做配置模板、自动化脚本、 GitHub Action 流水线,批量拉取第三方 Rime 上游词库。 Windows 、 macOS 、 Linux 全平台可编译运行。

注意:工具只负责下载、处理 dict.yaml 词典,不处理 schema 方案、 lua 脚本,也不执行 Rime 部署编译。下载得到的文件复制到 Rime 用户目录,需要手动执行重新部署。

二、核心功能

1. 批量远程词典下载

通过 yaml 任务配置文件,一次性配置多条词典下载任务,指定保存文件名与远程下载地址,批量拉取多个上游词库,无需手动打开浏览器逐个下载。

2. 自动维护词典元数据

下载完成自动改写词典头部:

  • name字段设置为词典文件名(不含后缀);
  • version自动填充为当前日期 YYYY‑MM‑DD,方便用户追踪词库更新时间。

3. 多合并模式

  • 默认模式:完整使用下载回来的词典内容,改写头部 name 与 version ;
  • merge_mode: "keep_remote_header":保留远程源文件原有头部注释,只替换 version 版本字段,适合上游头部带有版权说明、维护信息的词典。

4. 任务化配置

词典下载清单写在独立 yaml 配置,一份配置对应一套词库集合。仓库自带万象拼音、雾凇英文的示例配置,用户可以仿写自定义配置用于自己维护的词库源。

5. 适合自动化流水线

纯 CLI 无交互,可以在 shell 脚本、 cron 定时任务、 GitHub Actions 中调用,实现定期自动拉取上游最新词库,构建自己的 Rime 配置包。

使用步骤

环境准备

需要 Go 1.24 及以上版本。

git clone https://github.com/Mintimate/rime‑dict‑sync.git
cd rime‑dict‑sync
go mod tidy
go build .

运行示例

# 使用内置万象拼音任务配置
bash scripts/sync‑config.sh configs/wanxiang.yaml
# 使用保留源头部注释模式,例如雾凇英文词典
bash scripts/sync‑config.sh configs/rime‑ice‑english.yaml

执行后,下载处理完成的词典输出至dl_dicts目录。

自定义配置模板示例( config/my‑dict.yaml )

TARGET_DICT:
  - name: "my_base.dict.yaml"
    url: "https://xxx/xxx/my_base.dict.yaml"
  - name: "my_ext.dict.yaml"
    url: "https://xxx/xxx/my_ext.dict.yaml"
# merge_mode: "keep_remote_header" # 需要保留远程头部注释开启

投入 Rime 使用

  1. dl_dicts/目录下生成的*.dict.yaml复制到你的 Rime 用户目录;
  2. 在你的 schema 或者 custom.yaml 配置中通过import_tables引入该词典;
  3. 执行 Rime 重新部署,词库生效。