核心概念
输入方案、四种词库、词频与候选调整分别是什么,数据存在哪几个文件里
清风输入法里有六个反复出现的名词。先花五分钟弄清它们各自管什么、彼此怎么配合,后面看任何一页设置说明都会轻松很多。
输入方案
一个方案 = 一种输入方式。 它决定「你敲的字母怎么变成候选」。内置四种,可随时切换:
| 方案 | ID | 引擎类型 | 适合人群 |
|---|---|---|---|
| 全拼 | pinyin | 拼音 | 拼音输入用户 |
| 双拼 | shuangpin | 拼音 | 追求高效的拼音用户 |
| 五笔 86 | wubi86 | 码表 | 五笔用户 |
| 五笔拼音 | wubi86_pinyin | 混输 | 五笔初学者或偶尔忘码的用户 |
另有内置的英文方案(ID english,引擎类型 english),默认未启用,需要时在方案页启用或给它配个直达热键。
除此之外还有特殊方案——方案文件里标了 hidden 的自制小码表(快符表、生僻字表等),默认不进列表,靠引导键临时进入。内置方案里没有这种。
切换方式:Ctrl + Shift + E 在已启用的方案间循环,或用功能主菜单的「输入方案」子菜单直接选,或在设置工具的方案页里改。
引擎类型决定了它有哪些可配项
方案的引擎类型(码表 / 拼音 / 混输 / 英文)不是标签,它直接决定这个方案能配什么、有哪些用户数据:
| 引擎类型 | 典型方案 | 全局配置在哪 | 可管理的用户数据 |
|---|---|---|---|
| 码表 | 五笔 86、虎码、快符 | 码表方案配置 | 用户词库、临时词库、词频、候选调整 |
| 拼音 | 全拼、双拼 | 拼音方案配置 | 用户词库、临时词库、词频 |
| 混输 | 五笔拼音 | 混输方案配置 | 只有候选调整(原因见下) |
| 英文 | 英文方案 | 英文方案配置 | 用户词库、词频、候选调整 |
配置的分工:全局行为 + 方案固定参数
这是理解整个配置体系最重要的一条:
- 引擎行为(上屏策略、调频、造词、模糊音等)是全局配置,同类方案共享——改一处,所有码表方案(或所有拼音方案)一起生效
- 方案文件只定义引擎的固定参数:引擎类型、码长、词库列表、双拼布局等
- 个别方案需要差异化时,通过
schema_overrides单独覆盖(设置工具的「方案设置 → 码表配置」就是干这个的)
所以「想改输入行为」时,绝大多数开关都在设置工具的全局方案配置里,而不是方案文件中。
混输方案自己不拥有词库
五笔拼音这类混输方案只声明「我由哪两个方案组成」,词库与用户数据都来自被引用的码表方案和拼音方案——要调整它的词库,改那两个方案即可。这也是它在词库页只有「候选调整」一类的原因。详见混输方案配置。
四种词库
候选窗里出现的每一个词,都来自下面四层之一。它们不是替代关系,而是叠加关系——同一次输入会同时查所有层,再排序合并。
系统词库
方案自带的预置词库,随程序分发、只读。文件是 Rime 格式的 .dict.yaml,由方案文件的 [[dictionaries]] 段声明。分两类:
- 主词库 —— 每个方案有且仅有一个,始终启用,不可关闭(如「极点五笔主词库」)
- 扩展词库 —— 任意多个,可在「方案设置 → 扩展词库」里逐个开关(如 Emoji 表情、行政区域、扩展词库)
关掉某个扩展词库,它的词就整体从候选里消失。这是在不动方案文件的前提下收窄候选范围最常用的手段。
用户词库
你手动添加的词,以及从临时词库转正的词。 存在用户数据库里,永久保留,随备份走。
进入途径:设置工具的「词库 → 用户词库 → 添加」、候选窗的快捷加词(Ctrl + =)、导入词库文件、临时词库转正。
临时词库
自动造词的暂存区。 开启自动造词 / 自动学习后,你连续选字组成的新词会先落在这里,记录使用次数——它立刻就能打出来,但还没有「转正」进用户词库。
用满设定的次数后自动转入用户词库,也可以在设置里手动「转正」或删除。
英文方案没有临时词库
临时词库是自动造词的暂存区,而英文没有造词流程,所以英文方案在词库页只有「用户词库 / 词频 / 候选调整」三个子标签。
快捷短语
跨方案全局共享的一层,用一个短编码上屏一段常用文本(邮箱、地址、签名)。它不属于任何方案——写一次,拼音、五笔、混输下都能用。
系统预置了一批(date、time、zz 系列符号、co 系列命令),你也可以自建。详见快捷短语。
词频
词频是「你实际用过多少次」的统计,与词库里的权重是两个独立维度。
- 权重(weight) —— 候选自带的静态排序分,来自词库文件或语言模型,是默认排序维度
- 词频(frequency) —— 你用了多少次、最近何时用,排序时作为另一个独立维度参与
关键在于:词频不会加到 weight 上,也绝不修改任何候选的 weight。它在排序阶段单独起作用,所以随时删掉某条词频记录,该候选就精确回落到原始位置。
词频记录按「方案 + 编码 + 文本」存储,可在设置工具的「词库 → 词频」里逐条查看和删除。
调频要不要开、按什么策略调、简码位要不要保护——这些是每种引擎各自的全局配置,在对应的方案配置对话框里。完整的排序原理与三种策略的取舍见词频与候选排序。
候选调整
候选调整是你对某个候选下的「硬指令」:钉在第几位,或者干脆别出现。
它与词频的区别很重要:
| 词频 | 候选调整 | |
|---|---|---|
| 怎么产生 | 你用一次就自动记一次 | 你显式指定 |
| 效果 | 参与排序计算,位置会随时间衰减回落 | 硬性置顶到指定位置 / 隐藏,不衰减 |
| 怎么撤销 | 删掉词频记录 | 「撤销」该条规则 |
两种类型:
- 固定位置(pin) —— 把该候选钉到指定位次
- 隐藏(del) —— 该候选不再出现(单字不可删除)
产生方式:右键候选词选「置顶 / 前移 / 后移 / 删除」,或用快捷键(默认 Ctrl + 数字 置顶、Ctrl + Shift + 数字 删除)。这些规则以一层 shadow 规则存进数据库,不修改原始词库,可在「词库 → 候选调整」里统一管理与撤销。
数据存在哪里
数据分系统预置与用户数据两层。用户数据又按「换机时想不想带走」拆到两个目录:
| 位置 | 内容 | 升级时 |
|---|---|---|
<安装目录>\data\ | 程序自带的预置数据(方案、系统词库、内置主题),只读 | 整体替换 |
%APPDATA%\WindInput\ | 配置、用户数据库、自定义方案 / 主题 | 保留 |
%LOCALAPPDATA%\WindInput\ | 词库缓存、日志、界面状态等本机产物 | 保留(缓存可安全删除) |
几个你迟早会遇到的文件名
| 文件 | 在哪 | 装了什么 |
|---|---|---|
config.toml | %APPDATA%\WindInput\ | 全局配置。所有设置项都落在这里。采用 diff 保存,只写与默认值不同的字段,所以它可能只有几行——这是正常的 |
userdata.redb | %APPDATA%\WindInput\ | 用户数据库。用户词库、临时词库、词频、候选调整、快捷短语全在这一个文件里。程序维护,不要手改 |
compat.toml | %APPDATA%\WindInput\ | 应用兼容性规则(候选框定位修正、应用独立初始状态)。右键菜单的「应用独立配置」写的就是它 |
<方案ID>.schema.toml | %APPDATA%\WindInput\schemas\ | 方案定义文件。放一个与内置方案同名的,就整份替换内置那份 |
<词库>.dict.yaml | %APPDATA%\WindInput\schemas\<方案>\ | Rime 格式词库文件,第三方词库也放这里 |
<方案ID>.toml | %APPDATA%\WindInput\schema_overrides\ | 单方案的差异项(扩展词库开关、双拼布局、方案级码表配置)。逐项深合并到方案文件之上,由设置工具维护 |
theme.toml | %APPDATA%\WindInput\themes\<主题名>\ | 自定义主题 |
cache\ | %LOCALAPPDATA%\WindInput\ | 词库编译缓存(.wdat)。可安全整个删掉,下次启动自动重建 |
logs\ | %LOCALAPPDATA%\WindInput\ | 运行日志。反馈问题时附上这里的文件 |
state.toml | %LOCALAPPDATA%\WindInput\ | 工具栏位置、上次中英状态等界面状态 |
找不到这些目录?不用记路径
在功能主菜单里选 高级 → 打开用户数据目录 / 打开日志目录 / 打开应用程序目录,直接跳过去。
同结构覆盖:想改内置文件,就在用户目录放一份同名的
%APPDATA%\WindInput\ 与程序 data\ 目录结构完全相同。两边有同名文件时,用户目录那份优先生效。所以要改内置方案、内置词库、内置主题,都不用动程序目录(那里升级时会被整体替换)。
覆盖是整份文件替换而非逐项合并——正确做法是先把内置文件复制过来再改。只有 config.toml 与 compat.toml 例外,它们是逐项合并的。
完整的目录结构、能覆盖哪些文件、怎么确认覆盖生效,见配置文件与数据目录。
备份
只需打包 %APPDATA%\WindInput\ 整个目录,或用设置工具的一键备份。%LOCALAPPDATA% 下全是可重建的东西,不必备份。见高级设置 · 备份与还原。