拼音输入
全拼、双拼、模糊音与拼音相关的全局行为配置
清风的拼音输入分全拼与双拼两种方案,共用同一套白霜词库、算法与用户数据——双拼用户切到全拼,仍能看到学过的词。模糊音、智能组词等行为是全局配置,两种方案共享。
全拼
方案 ID pinyin,基于白霜拼音(rime-frost)词库,支持智能候选排序与词频学习。
- 输入完整拼音即可,如
zhongguo→ 中国 - 支持**简拼**,如
bj→ 北京,也可与全拼混打(nhao→ 你好) - 支持智能组词/整句
- 内置五笔反查词库,可通过编码提示查看候选的五笔编码
编码提示打开后,拼音候选旁会显示对应编码。
双拼
方案 ID shuangpin,用两个按键表示一个音节,大幅减少击键次数。复用全拼词库与算法,词库丰富,同样支持编码提示与智能组词。
内置 6 种双拼布局:
| 布局 | ID | 说明 |
|---|---|---|
| 小鹤双拼 | xiaohe | 最流行的双拼方案(默认) |
| 自然码 | ziranma | 经典双拼方案 |
| 微软双拼 | mspy | Windows 内置方案 |
| 搜狗双拼 | sogou | 搜狗输入法方案 |
| 智能 ABC | abc | 经典 ABC 方案 |
| 紫光双拼 | ziguang | 紫光/华宇方案 |
切换双拼布局
布局在方案文件 shuangpin.schema.toml 的 [engine.pinyin.shuangpin] 段定义,也可通过设置工具修改:
[engine.pinyin]
scheme = "shuangpin" # full(全拼)/ shuangpin(双拼)
[engine.pinyin.shuangpin]
layout = "xiaohe" # xiaohe / ziranma / mspy / sogou / abc / ziguang学习新布局
双拼支持编码提示,切换到不熟悉的布局时,候选旁的编码可以帮助记忆键位。
简拼
只打声母就能出词,全拼与双拼都支持:bj → 北京、nh → 你好、bzd → 不知道。
混合简拼 0.113 新增
同一串里可以混用声母与完整音节,不必整串都简、也不必整串都全:
| 输入 | 形态 | 结果 |
|---|---|---|
nhao | 声母在前 + 全拼音节 | 你好 |
nihm | 全拼音节 + 声母在后 | 你好吗 |
nih | 全拼 + 声母 | 你好 |
0.112 及以前只认「整串全是声母」这一种形态,nhao 这样声母打头的混合串没有候选。
长串不再打到一半就空码 0.113 新增
简拼串一旦长过词库里任何一个词,0.112 及以前会整串落空——连打 bzdnihaobuhao,输到 bzdha 就没有任何候选了。0.113 起整串没命中时会自动退到较短的切点出候选,选中后剩下的编码留在缓冲里继续,可以分步上屏。
简拼参与整句组句 0.113 新增
简拼段现在与全拼段一起进入整句解码,由语言模型挑最优路径:bzdhaobuhao 直接出「不知道好不好」,不必先选「不知道」再选「好不好」。
编码栏会按音节切分显示
简拼与混合串在编码栏里按候选的真实音节边界分段显示(如 bzd hao bu hao),便于确认输入法把这串理解成了什么。分隔只是显示,去掉分隔符恰好还原你敲的字母,退格与光标编辑不受影响。
简拼与全拼共用词频
简拼候选记录的是词的全拼编码,因此用简拼选过的词,之后用全拼打也一样上浮,两边共用同一份使用次数。
混输方案(五笔 + 拼音)里可以单独关掉简拼候选:schema.mix 的 enable_pinyin_abbrev 置 false,混输的拼音就只认全拼。纯拼音方案不受该开关影响。
模糊音
模糊音让易混淆的拼音对在输入时互不区分,是全局配置,全拼与双拼共享。共 11 组,需先打开总开关 enabled,再逐对开启需要的模糊音:
[schema.pinyin.fuzzy]
enabled = false # 模糊音总开关
zh_z = false # zh ↔ z
ch_c = false # ch ↔ c
sh_s = false # sh ↔ s
n_l = false # n ↔ l
r_l = false # r ↔ l
f_h = false # f ↔ h
an_ang = false # an ↔ ang
en_eng = false # en ↔ eng
in_ing = false # in ↔ ing
ian_iang = false # ian ↔ iang
uan_uang = false # uan ↔ uang拼音全局行为配置
拼音类方案(全拼/双拼/混输的拼音子方案/临时拼音反查)共用一份全局配置,集中在 config.toml 的 [schema.pinyin] 段。日常通过设置工具调整即可,下面是常用项。
基础行为 [schema.pinyin]
[schema.pinyin]
show_code_hint = true # 拼音候选旁显示编码
use_smart_compose = true # 智能组词
separator = "auto" # 拼音分隔符:auto / quote / backtick / noneseparator 是拼音消歧用的分隔符,用于手动断开音节边界。
词组补全 [schema.pinyin.completion] 0.114 新增
打一两个字母时,候选里不再混进「但是」「的时候」「电话」这类词组——0.114 起与主流拼音输入法一致:输入几个音节,就给几个音节的候选,打到第二个音节才开始预测词组。
[schema.pinyin.completion]
min_syllables = 2 # 至少输入几个音节才给词组候选(1 = 不限制)
max_extra_syllables = 3 # 词组最多比输入多几个音节音节怎么算:完整音节数,加上尾部未成音节的字母(算起头的一个)。所以:
| 输入 | 算几个音节 | 候选 |
|---|---|---|
d | 1 | 只有单字:的、对、但、等、都… |
dian | 1 | 只有单字:点、店、电、垫…(外加编码恰为 dian 的「堤岸」) |
dianh | 2 | 电话、电荷、点火… |
nih | 2 | 你好、你会、你还… |
「堤岸」为什么还在
dian 也可以读作 di|an,「堤岸」的编码恰好就是 dian——它是精确匹配,不是在预测你没打的字。同理 xian 下的「西安」、xiao 下的「西奥」都会保留。被挡掉的只有编码比输入更长的那些。
max_extra_syllables 决定引擎能预测多远:调到 1 时 nih 只给「你好」「你会」,不再给 4 音节的「你会发现」;要让 zhonghuar 补出「中华人民共和国」(7 音节)则需要 4。这两端无法兼得,按自己的输入习惯选,详见配置参考。
拼音调频 [schema.pinyin.frequency]
拼音调频默认开启。0.114 起采用位置提升模型:用过的候选按位次前移(每用一次前移一半),久未使用则按半衰期回落,不打分、不改权重。
[schema.pinyin.frequency]
enabled = true # 启用拼音调频(出厂默认开)
half_life = 0 # 半衰期(小时,0=用内置默认 72 小时)
promote_prefix = "single" # 补全词参与调频:none / single / all
# base_scale = 0 # 当前模型不使用,改动无效
# recency_peak = 0 # 当前模型不使用,改动无效补全词参与调频 0.114 新增
promote_prefix 决定前缀补全出来的候选是否参与位置提升,出厂 single:
| 取值 | 打 d 选「得」 | 打 d 选「东西」 | 打 hel 选 hello |
|---|---|---|---|
none | 不提升 | 不提升 | 不提升 |
single(默认) | 提升 | 不提升 | 提升 |
all | 提升 | 提升 | 提升 |
判据是语义单元数(汉字逐字计、连续西文段整体计 1),不是字符数:「东西」2 个、hello 1 个、thank you 2 个。single 的取舍是——短输入下用户给出的信息量很少,让单字正常上浮,但别把长词组顶到单字前面。
这个开关只在「所有候选都是前缀补全」时才起作用,也就是只打半个音的场景;输完整音节后候选都是精确匹配,匹配层级本就把补全降层了。
热度衰减半衰期 0.114 新增
half_life 是「热度衰减到一半所需的小时数」:某个词最后一次使用过去越久,它累积的使用次数就越不算数。出厂 0 表示用内置的 72 小时(3 天)。
设置工具位置:方案 → 候选行为 → 词频调整 → 热度衰减半衰期。
调大它,久不用的词也保持靠前,适合用词稳定的人;调小则更贴近「最近在写什么」。码表侧有一份同名设置,两者完全独立、各管各的。
前缀补全条数放开 0.114 新增
单字母输入(b、y 这类不成音节、没有精确匹配的码)此前候选恒为 30 条、翻页翻不动。词库层换成分支限界查询后,取数成本随条数而非词库规模增长,条数上限已放开为跟随请求量(30 ~ 1000 条),多出来的都是翻页深处的内容,不影响前几页的排序。
base_scale 与 recency_peak 已成死链
位置提升模型只用 half_life 做衰减,不做打分,因此 base_scale、recency_peak 改了没有任何效果。保留这两项是为了将来若恢复打分模型可直接复用。
拼音自动造词 [schema.pinyin.auto_learn]
连续选词后自动组词入用户词库,默认开启:
[schema.pinyin.auto_learn]
enabled = true # 出厂默认开
min_word_length = 0 # 最短学习词长(0=回退 2)
promote_count = 0 # 临时词晋升所需使用次数拼音家族共享用户数据
全拼与双拼的用户词库、调频、临时词库统一存储。双拼用户切到全拼,学过的词、调过的频依然生效。