输入功能

拼音输入

全拼、双拼、模糊音与拼音相关的全局行为配置

清风的拼音输入分全拼双拼两种方案,共用同一套白霜词库、算法与用户数据——双拼用户切到全拼,仍能看到学过的词。模糊音、智能组词等行为是全局配置,两种方案共享。

全拼

方案 ID pinyin,基于白霜拼音(rime-frost)词库,支持智能候选排序与词频学习。

  • 输入完整拼音即可,如 zhongguo → 中国
  • 支持**简拼**,如 bj → 北京,也可与全拼混打(nhao → 你好)
  • 支持智能组词/整句
  • 内置五笔反查词库,可通过编码提示查看候选的五笔编码

编码提示打开后,拼音候选旁会显示对应编码。

双拼

方案 ID shuangpin,用两个按键表示一个音节,大幅减少击键次数。复用全拼词库与算法,词库丰富,同样支持编码提示与智能组词。

内置 6 种双拼布局:

布局ID说明
小鹤双拼xiaohe最流行的双拼方案(默认)
自然码ziranma经典双拼方案
微软双拼mspyWindows 内置方案
搜狗双拼sogou搜狗输入法方案
智能 ABCabc经典 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.mixenable_pinyin_abbrevfalse,混输的拼音就只认全拼。纯拼音方案不受该开关影响。

模糊音

模糊音让易混淆的拼音对在输入时互不区分,是全局配置,全拼与双拼共享。共 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 / none

separator 是拼音消歧用的分隔符,用于手动断开音节边界。

词组补全 [schema.pinyin.completion] 0.114 新增

打一两个字母时,候选里不再混进「但是」「的时候」「电话」这类词组——0.114 起与主流拼音输入法一致:输入几个音节,就给几个音节的候选,打到第二个音节才开始预测词组。

[schema.pinyin.completion]
min_syllables = 2         # 至少输入几个音节才给词组候选(1 = 不限制)
max_extra_syllables = 3   # 词组最多比输入多几个音节

音节怎么算:完整音节数,加上尾部未成音节的字母(算起头的一个)。所以:

输入算几个音节候选
d1只有单字:的、对、但、等、都…
dian1只有单字:点、店、电、垫…(外加编码恰为 dian 的「堤岸」)
dianh2电话、电荷、点火…
nih2你好、你会、你还…

「堤岸」为什么还在

dian 也可以读作 di|an,「堤岸」的编码恰好就是 dian——它是精确匹配,不是在预测你没打的字。同理 xian 下的「西安」、xiao 下的「西奥」都会保留。被挡掉的只有编码比输入更长的那些。

max_extra_syllables 决定引擎能预测多远:调到 1nih 只给「你好」「你会」,不再给 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 选「东西」helhello
none不提升不提升不提升
single(默认)提升不提升提升
all提升提升提升

判据是语义单元数(汉字逐字计、连续西文段整体计 1),不是字符数:「东西」2 个、hello 1 个、thank you 2 个。single 的取舍是——短输入下用户给出的信息量很少,让单字正常上浮,但别把长词组顶到单字前面。

这个开关只在「所有候选都是前缀补全」时才起作用,也就是只打半个音的场景;输完整音节后候选都是精确匹配,匹配层级本就把补全降层了。

热度衰减半衰期 0.114 新增

half_life 是「热度衰减到一半所需的小时数」:某个词最后一次使用过去越久,它累积的使用次数就越不算数。出厂 0 表示用内置的 72 小时(3 天)。

设置工具位置:方案 → 候选行为 → 词频调整 → 热度衰减半衰期

调大它,久不用的词也保持靠前,适合用词稳定的人;调小则更贴近「最近在写什么」。码表侧有一份同名设置,两者完全独立、各管各的。

前缀补全条数放开 0.114 新增

单字母输入(by 这类不成音节、没有精确匹配的码)此前候选恒为 30 条、翻页翻不动。词库层换成分支限界查询后,取数成本随条数而非词库规模增长,条数上限已放开为跟随请求量(30 ~ 1000 条),多出来的都是翻页深处的内容,不影响前几页的排序。

base_scale 与 recency_peak 已成死链

位置提升模型只用 half_life 做衰减,不做打分,因此 base_scalerecency_peak 改了没有任何效果。保留这两项是为了将来若恢复打分模型可直接复用。

拼音自动造词 [schema.pinyin.auto_learn]

连续选词后自动组词入用户词库,默认开启:

[schema.pinyin.auto_learn]
enabled = true               # 出厂默认开
min_word_length = 0          # 最短学习词长(0=回退 2)
promote_count = 0            # 临时词晋升所需使用次数

拼音家族共享用户数据

全拼与双拼的用户词库、调频、临时词库统一存储。双拼用户切到全拼,学过的词、调过的频依然生效。

相关页面

本页目录