Rime 词库制作入门:从零打造属于自己的输入法词库
用 Rime(中州韵)的人,迟早会走到这一步:现成的方案(白霜、雾凇、薄荷)用久了,总有几个词想自己加——人名、游戏术语、口头禅、工作黑话。每次都用”造词”功能一个个加,太慢;想批量导入,又不知道词库文件长什么样。
这篇从零讲清楚
如果你还没装 Rime,先看站内这几篇把输入法跑起来:白霜拼音 (rime-frost) 安装配置全攻略、雾凇拼音安装全攻略。
一、先搞懂 的”词库”是什么
Rime 的输入法方案由一堆文本文件组成,其中管词的是两类文件:
| 文件类型 | 后缀 | 作用 |
|---|---|---|
| 码表文件 | .dict.yaml | 主词库,存”拼音 → 词”的映射,可带词频 |
| 短语文件 | custom_phrase*.txt | 用户自造词,适合固定短语、姓名、专用词 |
记住一个核心原则:Rime 里没有”数据库”,只有文本文件。改词库 = 改文本 → 重新部署。搞清楚这点,后面全通了。
二、最快上手:用 custom_phrase 加固定短语
不想碰复杂的码表格式,只想加几个固定词?用 custom_phrase 最简单。
2.1 找到你的用户目录
| 平台 | 路径 |
|---|---|
| Windows(小狼毫) | %APPDATA%\Rime |
| macOS(鼠须管) | ~/Library/Rime |
| Linux(fcitx5-rime) | ~/.local/share/fcitx5/rime |
| Android(同文) | /storage/emulated/0/rime |
2.2 新建短语文件
在用户目录下创建 custom_phrase_simple.txt,内容格式:
# 编码 汉字 词频(可省略)tyut 太原理工大学 100yyy 我永远喜欢 99ht 黑神话 98格式规则:编码(Tab 或空格)汉字(词频可选)。词频数字越大越靠前。
2.3 挂载到方案
在方案文件(比如 frost.schema.yaml)里加:
engine: translators: - table_translator@custom_phrase_simple然后在文件末尾加:
custom_phrase_simple: db_class: stabledb dictionary: custom_phrase_simple enable_completion: false enable_sentence: false initial_quality: 1002.4 重新部署
- Windows:托盘图标右键 → 重新部署
- macOS:菜单栏鼠须管 → 重新部署
- Linux:执行
fcitx5-remote -r或重启输入法
部署后输入 tyut,就会直接出”太原理工大学”。
三、进阶:自建 .dict.yaml 词库文件
custom_phrase 适合少量固定词,想要大量词 + 完整词频控制,要建真正的码表文件。
3.1 创建码表文件
在用户目录建 my_dict.dict.yaml:
---name: my_dictversion: "1.0"sort: by_weightuse_preset_vocabulary: false...关键字段:
name:文件内部名,必须和文件名一致sort: by_weight:按词频排序(默认)use_preset_vocabulary: false:不自动挂载 Rime 自带词库(如果只要自己的词)
3.2 写入词条
... 分隔线之后就是词条,一行一条:
xiecheng 写橙 100writecheng 写橙 99gongsi 公司 90shengye 生椰 80词频规则: 数字越大,同音词里排得越靠前。想要某词”必定首选”,给它一个比同音词都大的权重即可。
3.3 挂载到方案
在方案文件的 translators 里加上 table_translator@my_dict,和挂载 custom_phrase 类似:
engine: translators: - table_translator - table_translator@my_dict末尾加:
my_dict: dictionary: my_dict enable_completion: true重新部署即可生效。
四、批量造词:从文本到词库的流水线
手动一行行写太慢?整理好一批词,用脚本批量生成。最常用的批量来源:
- 个人聊天高频词:导出自定义词,去重后转成
编码 汉字格式 - 专业术语表:工作/学习领域的词表,中文 → 拼音编码
- 游戏/动漫名词:角色名、地名、招式名
拼音编码生成: 用 pypinyin(Python)或在线拼音转换工具,把汉字转成拼音:
from pypinyin import lazy_pinyin
words = ["太原理工大学", "写橙", "生椰拿铁"]with open("my_dict.dict.yaml", "w", encoding="utf-8") as f: f.write("---\nname: my_dict\nversion: \"1.0\"\nsort: by_weight\n...\n") for i, w in enumerate(words): code = "".join(lazy_pinyin(w)) f.write(f"{code}\t{w}\t{100 - i}\n")print("词库已生成")注意: 批量导入的词记得检查多音字(比如”重庆”的”重”),pypinyin 默认读 zhong,手改成 chongqing 即可。
五、现成词库资源(直接用)
不想从零收集,直接拿现成词库改:
| 资源 | 说明 | 活跃度 |
|---|---|---|
| rime-aca/dictionaries | Rime 词库集合,涵盖多方案 | ⭐596,持续更新 |
| Iorest/rime-dict | RIME 词库增强 | ⭐496,2026 仍在更新 |
| Chernfalin/SuperRimeDict | 700 万词拓展词库(含 BetterRime) | ⭐228 |
| zhangheng18/rime-dict | 增强词库 | ⭐233 |
| KyleBing/wubi-dict-editor | 码表图形化编辑器(Windows/macOS/Linux) | ⭐311,2026-07 活跃 |
码表编辑器特别值得一试:图形界面编辑词库,不用手写文本,适合大量词条的增删改查。
六、常见问题
Q1:改了词库但输入法没反应?
没重新部署。任何词库改动后都必须重新部署,这是 Rime 新手 90% 问题的根源。
Q2:自定义词和现有方案冲突,不生效?
优先级问题。Rime 按 translators 顺序取词,把自定义词库放在靠前位置或调高 initial_quality。
Q3:词频调了没用?
检查码表文件 sort 字段是否为 by_weight,并确认该词库没有被动过 user_db(用户词库会覆盖部分词频)。在词库文件里把词频加大,再部署。
Q4:多设备怎么同步词库?
词库文件是纯文本,放进同步目录(坚果云/网盘/Syncthing)即可。Rime 自带的 sync 功能也可以,参考站内:2026 Syncthing 文件同步部署。
相关阅读
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!