rime‑pinyin‑tmdb‑generator 是一个 Go 语言编写的本地命令行工具,对接 TMDb ( The Movie Database )影视数据库 API ,抓取电影、剧集中文译名,自动转换成 Rime 标准*.dict.yaml词库文件,适配朙月拼音、各类双拼等拼音类 Rime 方案。

很多 Rime 通用词库对海外电影、电视剧、番剧译名收录不全,写影评、剪辑文案、追剧笔记经常找不到对应的影视词条。该工具本地拉取 TMDb 公开数据,自动生成简体 / 繁体两套影视词库;工具仅在本机处理数据,项目本身不提供预制好的词典文件,需要用户自己申请 TMDb 的 API‑Key 本地生成。 Windows 、 macOS 、 Linux 全平台可运行,支持增量更新、断点续传、自定义词条拼音修正, Linux 可配置 systemd 定时器实现定期同步更新词库。

注意:遵守 TMDb 服务条款,生成的词库仅限个人本地使用,禁止公开二次分发派生词典文件。

核心功能

1. TMDb 数据源抓取与过滤

  • 读取 TMDb 每日导出 ID 包,筛选电影、剧集条目;
  • 通过流行度阈值过滤低热度冷门内容,可分别设置剧集min_popularity、电影movie_min_popularity门槛,过滤成人内容;
  • 请求间隔可控,防止触发 API 限流;
  • 支持指定简体zh‑CN、繁体zh‑TWzh‑HK多语言译名,分别产出简、繁体两套词典。

2. 本地 SQLite 持久化存储

使用 SQLite 数据库缓存已抓取的影视元数据:

  1. 首次全量抓取支持断点续传,中途中断下次继续;
  2. 后续执行做增量 diff 对比,只抓取新增达标条目
  3. 热度下降、从 TMDb 导出中消失的条目会自动清理;
  4. 提供status子命令,查看本地缓存状态、词条数量、抓取完成标记。

3. 自动生成 Rime 标准词典

  • 自动为影视译名生成拼音编码,输出 Rime 标准词典格式;
  • 输出文件:tmdb_full_hans.dict.yaml(剧集简体)、tmdb_movie_hans.dict.yaml(电影简体),繁体环境产出*_hant.dict.yaml
  • 支持自定义修正拼音,overrides.yaml覆盖自动生成的错误多音字、特殊译名拼音。

4. 跨平台支持与自动化更新

  • 单 Go 二进制, Windows/macOS/Linux 直接运行,无额外运行依赖;
  • Linux 提供 systemd service + timer 模板,配置定时任务,定期拉取更新影视词库;
  • 可自定义输出目录,自动适配 fcitx5‑rime 、鼠须管、小狼毫的 Rime 用户目录。

安装与基础使用

1. 获取程序

方式一:下载 GitHub Releases 对应操作系统预编译二进制;

方式二:源码编译

go build -o rime‑pinyin‑tmdb‑generator ./cmd/rime‑pinyin‑tmdb‑generator

2. 配置文件准备

复制示例配置模板,编辑config.toml填入自己申请的 TMDb API‑Key ,并修改输出目录为本机 Rime 用户目录。

[tmdb]
api_key = "你的 TMDb API Key"
languages = ["zh‑CN"]

[output]
dir = "~/.local/share/fcitx5/rime" # 修改为对应系统 Rime 目录

Windows 输出示例:dir = "~/AppData/Roaming/Rime"

macOS 输出示例:dir = "~/Library/Rime"

3. 首次抓取与生成词库

# 执行抓取并生成 Rime 词典
rime‑pinyin‑tmdb‑generator generate
# 查看本地缓存状态
rime‑pinyin‑tmdb‑generator status

当 status 输出timer_ready=true,代表首次全量抓取完成,可以开启定时任务。

4. 在 Rime 方案挂载新词典

编辑你的拼音方案 custom 配置,在import_tables引入生成的词库:

import_tables:
  - tmdb_full_hans
  - tmdb_movie_hans

保存,执行 Rime 重新部署,影视词条即可生效。

5. 自定义修正词条拼音

编辑overrides.yaml,对自动拼音转换错误的影视名称手动指定拼音,优先级高于程序自动生成结果:

entries:
  "长安剧场": "chang an ju chang"

6. Linux 自动定时更新

将项目systemd目录单元文件复制到~/.config/systemd/user/,启用定时器,实现定期自动更新影视词库。

systemctl --user enable --now rime‑pinyin‑tmdb‑generator‑update.timer

注意事项

  1. 必须自行申请 TMDb API Key,工具不会内置密钥; TMDb API 免费仅限非商用。
  2. 项目不公开分发已经生成好的 dict 词库,所有词典都必须在用户本地机器生成,禁止把导出的 tmdb_*.dict.yaml 上传公开仓库。
  3. 首次全量抓取网络耗时较长,支持断点续传,中途中断下次执行 generate 继续。
  4. 仅适配拼音、双拼类 Rime 方案,五笔、形码方案无法直接使用该词库。
  5. 自动拼音转换会存在多音字错误,使用overrides.yaml手动修正异常词条。