设置说明方案设置

码表方案配置

五笔等码表方案的全局上屏行为、编码提示、z 键引导、词频调整与自动造词

v0.116.0

方案 → 全局方案配置 → 码表方案配置。这里的设置是所有码表方案共享的基线——五笔 86、导入的五笔 98 / 虎码、快符表都读同一份。个别方案要不一样,用方案级码表配置覆盖。

对应配置段是 config.toml[schema.codetable],完整键名与默认值见方案与引擎配置

码表方案是什么

码表方案按「编码 → 词条」的固定映射出候选,编码由方案的码表文件写死,不做拼音那样的语言模型推断。清风内置的五笔 86(ID wubi86)基于极点五笔码表,最大码长 4:

q    → 我(一级简码)
dd   → 大(二码简码)
gggg → 王(全码)
ggtt → 五笔(二字词)

导入社区码表(五笔 98、新世纪、虎码等)后也是同一套配置在管。

上屏行为

这一组决定「什么时候自动把候选送出去」。四项都是开关:

选项说明出厂
全码唯一自动上屏编码唯一精确匹配、且没有更长的后继编码时,直接上屏不必按空格
满码空码清空编码达到最大码长且一个候选都没有时,自动清空缓冲,不必按 Esc
顶码上屏编码超过最大码长时,自动把前 N 码的首选顶上去,多出来的码留在缓冲继续
标点顶码上屏有编码时按标点,先上屏首选再输出该标点

「顶码」是码表方案特有的连打机制

四码方案打第五个字母时,前四码那个字已经确定了——顶码上屏就是把它自动送出去,让你不必按空格断开。关掉它,第五个字母会被当作新一轮编码或被丢弃(取决于方案)。

常用功能

选项说明出厂
显示编码提示候选旁显示该词的完整编码。打 gg 时「王」旁边显示剩下的 gg,帮你记全码
精确匹配模式只显示编码完全等于你打的那些候选,不再显示前缀补全的长词
精确匹配空码补全精确匹配模式下若一个候选都没有,自动从更长编码里取首个候选顶上,避免空码。仅在上一项开启时可用
z 键重复输入z 时首选是上一次上屏的内容,快速重复
z 键引导功能见下不启用

精确匹配模式适合谁

默认(关)时,打 gg 会同时出精确匹配的「王」和前缀补全的 ggtt「五笔」等长词。开启后只剩精确匹配的,候选干净、位置稳定,适合已经打熟、靠肌肉记忆盲打的用户;代价是失去「打半个码就看到长词」的便利。

「精确匹配空码补全」是它的安全网:某个编码在词库里恰好没有精确条目时,不至于面对空候选卡住。

z 键引导功能

z 在五笔 86 里是死码(不参与任何编码),可以借来当引导键。空码状态下按 z 直接进入所选模式:

取值效果
不启用(作编码字母)z 就是普通字母
临时拼音z 进入临时拼音
临时英文z 进入临时英文
快捷输入z 进入快捷输入

z 有三重身份,冲突时按固定顺序裁决

z 键重复输入、z 键引导功能、以及「z 是本方案的活码前缀」三者共用一个键。运行时的裁决顺序是:z 是本方案活码 > 「z 键重复输入」开着且有上屏历史 > 引导功能

所以在 z 参与编码的方案(如某些三码方案)上配引导功能不会生效;在五笔 86 上则要先关掉「z 键重复输入」,引导功能才有机会拿到这个键。

其它引导键(符号键)在临时拼音 / 临时英文 / 快捷输入各自的触发键设置里配——那三处只收符号键,字母键统一走这一项。

词频调整

先读原理再调参数

这一组的每个选项都建立在「词频与权重是两个独立维度」之上。三种策略的取舍、首选保护为什么按码长分级、提升为什么跨不出档位——完整说明见词频与候选排序。本节只讲每一项的界面含义。

选项说明出厂
启用词频调整总开关。关闭后候选顺序完全由词库权重决定
调频策略置顶 / 步进 / 位次渐进,见下置顶
补全词参与调频前缀补全出来的候选是否参与提升。仅「位次渐进」下可用全部
热度衰减半衰期使用记录衰减到一半所需的小时数,0 = 内置 72 小时。仅「位次渐进」下可用0
一简位保护前 N 项只打 1 个编码时,词库前 N 项不参与调频1
二简位保护前 N 项打 2 个编码时同上1
三简位保护前 N 项打 3 个编码时同上0
全码位保护前 N 项打 4 个及以上编码时同上0

三种调频策略 0.114 新增

策略语义适合
置顶用过一次即排到「没用过的那批」之前,已用过的按最近使用时间排想立竿见影、不怕误选
步进同样是「用过优先」,已用过的内部按累计次数排想抗一点误选
位次渐进 0.114 新增每用一次目标位次前移一半(第 8 位 → 4 → 2 → 1),久不用按半衰期回落想平滑、误选代价小

「置顶」与「步进」的本质是同一个:布尔的「用过优先」——只要用过一次就整体跳到未用过的之前,策略只决定已用过的内部怎么排。好处是立竿见影,代价是一次误选就把词顶到很显眼的位置,且码表侧的「用过」永不衰减

「位次渐进」没有这道台阶,用连续的位次表达强弱,误选一次只前移一档;也是唯一带时间衰减的策略,所以「补全词参与调频」和「热度衰减半衰期」两项只在它下面可用,其余策略下会置灰。

三者都不会破坏「五笔优先」:提升只在同一来源档内发生,补全词再怎么用也跨不到精确全码之前。

简码位的首选保护 0.113 新增

首选保护按本次输入的码长分成四档,出厂即为「一简二简保护、三简与全码放开」。

五笔的一简是肌肉记忆的核心,而 25 个一简编码每个都是二选一a → 工 / 戈、s → 要 / 五……)。调频只看「有没有被选过」、不看词库权重,因此不保护的话,误选一次次选字就会永久换掉首选。分档之后简码位保住词库钦定的首选,全码位仍可正常调频——那里才是调频该起作用的地方。

保护名额只在精确匹配的候选里取,不足则少保护,不会把前缀补全的长词一并钉死。

0.112 及以前开过调频的用户需手动改一项

旧版只有一个 protect_top_n,出厂值是 1;开过调频的用户配置里冻结着这个值,升级后全码位仍被锁死。请把「全码位保护前 N 项」改为 0。三个新增的简码档不受影响,自动按新默认生效。

自动造词

连续上屏的单字会被自动组成词条,算出编码后存入临时词库,此后可直接用该编码打出。

选项说明出厂
启用自动造词总开关
转入用户词库次数该临时词用满几次后收录进用户词库;0 = 不收录,一直留在临时词库0

拼音方案不适用

本节只涉及码表方案与混输方案的码表侧。拼音方案用的是「选词即学」,开关在拼音方案配置 → 自动学习,两者互不影响。

累积与终止

引擎维护一个连续单字缓冲:每上屏一个汉字单字即追加,遇到终止信号则取出已累积的序列尝试造词,随后清空。

只有汉字单字会进入缓冲。混输方案下由拼音打出的单字同样计入,因为造词时的编码由词组编码器按字重新计算,与该字的输入来源无关。

终止信号有七种:

信号说明
上屏多字词选中词组即表明当前不是散字序列。该词组本身不进入缓冲
上屏非汉字标点、英文、数字、空格。该字符本身也不进入缓冲
回车
切换中英文模式
切走输入法或窗口失去焦点
移动光标插入点改变后,已累积的字与后续输入不再连续
距上一个字超过 5 秒见下

超时的处理与其余六种不同:它先将旧序列取出造词,再以当前字开启新序列,而非丢弃。此举用于避免跨句拼接,例如间隔十分钟的两次「加好」不会被拼成「加好加好」。间隔阈值由 idle_timeout_ms 控制,0 表示取默认值 5000 毫秒。

造词条件

取出的序列还需满足四项条件,任一不满足则整词作废。

长度 —— 少于 2 字不造词;超过 5 字同样不造词,且是整体放弃而非截取末尾若干字。在连续 8 字的中间切分,结果多半不成词,是杂词的主要来源。上下限为 min_phrase_len(默认 2)与 max_phrase_len(默认 5),均未在设置界面暴露。

取码 —— 按方案文件 [[encoder.rules]] 定义的词组编码器规则,从各字的编码推导词条编码。

取码失败是自动造词不生效的最常见原因

只要序列中有一个字在码表里取不到全码,整词即作废。生僻字、扩展词库中的字往往只有词条而无全码,含这类字的序列不会产出词条。开启 debug 日志可看到失败的具体词条。

查重 —— 若「编码 + 词条」在系统词库或用户词库中已存在则跳过,避免候选出现重复项。

归属 —— 混输方案下,出码与入库均使用主码表方案。因此在混输中造出的词,切回纯码表方案后同样可用。

存储与晋升

新词条写入临时词库,初始权重 800,即时可用。

重复造出同一词条不会重复入库,而是将其使用计数加一,权重不再增长。计数达到「转入用户词库次数」后自动转入用户词库;该项为 0 时不会自动转入,词条一直留在临时词库,可在词库页手动转正、删除或清空。

临时词库默认保留 5000 条(temp_max_entries0 表示不限),超出时删除权重最低的若干条。检查按写入次数节流,每造词 64 次执行一次,故实际条数可能短暂略高于上限。

排查

日志级别调至 debug,日志中 auto-phrase: 开头的记录覆盖整条链路:终止信号及其原因、取码失败及具体词条、查重跳过、造词成功及计数、临时词库淘汰。排查完毕后调回 info

隐藏字段 min_phrase_len / max_phrase_len / idle_timeout_ms / temp_max_entries 的取值范围见配置参考

相关页面

本页目录