快速开始

核心概念

输入方案、四种词库、词频与候选调整分别是什么,数据存在哪几个文件里

v0.116.0

清风输入法里有六个反复出现的名词。先花五分钟弄清它们各自管什么、彼此怎么配合,后面看任何一页设置说明都会轻松很多。

输入方案

一个方案 = 一种输入方式。 它决定「你敲的字母怎么变成候选」。内置四种,可随时切换:

方案ID引擎类型适合人群
全拼pinyin拼音拼音输入用户
双拼shuangpin拼音追求高效的拼音用户
五笔 86wubi86码表五笔用户
五笔拼音wubi86_pinyin混输五笔初学者或偶尔忘码的用户

另有内置的英文方案(ID english,引擎类型 english),默认未启用,需要时在方案页启用或给它配个直达热键。

除此之外还有特殊方案——方案文件里标了 hidden 的自制小码表(快符表、生僻字表等),默认不进列表,靠引导键临时进入。内置方案里没有这种。

切换方式:Ctrl + Shift + E 在已启用的方案间循环,或用功能主菜单的「输入方案」子菜单直接选,或在设置工具的方案页里改。

引擎类型决定了它有哪些可配项

方案的引擎类型(码表 / 拼音 / 混输 / 英文)不是标签,它直接决定这个方案能配什么、有哪些用户数据:

引擎类型典型方案全局配置在哪可管理的用户数据
码表五笔 86、虎码、快符码表方案配置用户词库、临时词库、词频、候选调整
拼音全拼、双拼拼音方案配置用户词库、临时词库、词频
混输五笔拼音混输方案配置只有候选调整(原因见下)
英文英文方案英文方案配置用户词库、词频、候选调整

配置的分工:全局行为 + 方案固定参数

这是理解整个配置体系最重要的一条:

  • 引擎行为(上屏策略、调频、造词、模糊音等)是全局配置,同类方案共享——改一处,所有码表方案(或所有拼音方案)一起生效
  • 方案文件只定义引擎的固定参数:引擎类型、码长、词库列表、双拼布局等
  • 个别方案需要差异化时,通过 schema_overrides 单独覆盖(设置工具的「方案设置 → 码表配置」就是干这个的)

所以「想改输入行为」时,绝大多数开关都在设置工具的全局方案配置里,而不是方案文件中。

混输方案自己不拥有词库

五笔拼音这类混输方案只声明「我由哪两个方案组成」,词库与用户数据都来自被引用的码表方案和拼音方案——要调整它的词库,改那两个方案即可。这也是它在词库页只有「候选调整」一类的原因。详见混输方案配置

四种词库

候选窗里出现的每一个词,都来自下面四层之一。它们不是替代关系,而是叠加关系——同一次输入会同时查所有层,再排序合并。

系统词库

方案自带的预置词库,随程序分发、只读。文件是 Rime 格式的 .dict.yaml,由方案文件的 [[dictionaries]] 段声明。分两类:

  • 主词库 —— 每个方案有且仅有一个,始终启用,不可关闭(如「极点五笔主词库」)
  • 扩展词库 —— 任意多个,可在「方案设置 → 扩展词库」里逐个开关(如 Emoji 表情、行政区域、扩展词库)

关掉某个扩展词库,它的词就整体从候选里消失。这是在不动方案文件的前提下收窄候选范围最常用的手段。

用户词库

你手动添加的词,以及从临时词库转正的词。 存在用户数据库里,永久保留,随备份走。

进入途径:设置工具的「词库 → 用户词库 → 添加」、候选窗的快捷加词(Ctrl + =)、导入词库文件、临时词库转正。

临时词库

自动造词的暂存区。 开启自动造词 / 自动学习后,你连续选字组成的新词会先落在这里,记录使用次数——它立刻就能打出来,但还没有「转正」进用户词库。

用满设定的次数后自动转入用户词库,也可以在设置里手动「转正」或删除。

英文方案没有临时词库

临时词库是自动造词的暂存区,而英文没有造词流程,所以英文方案在词库页只有「用户词库 / 词频 / 候选调整」三个子标签。

快捷短语

跨方案全局共享的一层,用一个短编码上屏一段常用文本(邮箱、地址、签名)。它不属于任何方案——写一次,拼音、五笔、混输下都能用。

系统预置了一批(datetimezz 系列符号、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.tomlcompat.toml 例外,它们是逐项合并的。

完整的目录结构、能覆盖哪些文件、怎么确认覆盖生效,见配置文件与数据目录

备份

只需打包 %APPDATA%\WindInput\ 整个目录,或用设置工具的一键备份。%LOCALAPPDATA% 下全是可重建的东西,不必备份。见高级设置 · 备份与还原

本页目录