mirror of
https://github.com/qingjian-team/qingjian.git
synced 2026-11-07 00:13:18 +00:00
形码侧从只有 86 五笔扩成方案:Core 的 CodeScheme 是码表加按键规则,平台层 code_schemes 负责找方案。 随包五笔挪成 assets/schemes/wubi86/(scheme.toml + table.tsv),与用户数据目录 schemes/<id>/ 下的方案同一种格式、同一套找法,代码里不再有内置特例。 配置收成 [general] code = "<id>"(off 为关),旧的 wubi = "wubi86" 读取时仍认。 按键规则只在单用形码时生效,混输下满码之后的字母可能是在接着打拼音。 满码长度取码表里最常见的编码长度:极点码表里有条写错的 5 码(TF卡 ttfhh),取最长会让顶字与满码上屏全部失效。 CodeSchemeSlot 在方案与码表文件都没变时不重读码表,配置热加载多半改的是别的设置。 CLI 的 --wubi 换成 --code(旧写法仍可用),收码表或方案目录,回放认任意形码方案键。 设置程序的「五笔」开关换成「形码」下拉;切回窗口与进「输入」页时重扫 schemes/。 bamboo-slip 的下拉框宽度改为最小宽度并可设最大宽度,值过长时截短补「…」,不再把箭头挤出框外。
9.7 KiB
9.7 KiB
同类项目与数据源
水杉输入法(MetasequoiaIME)
- https://github.com/metasequoiaime/MetasequoiaImeTsf
- Windows 专用,纯 TSF,自研引擎(非 Rime),GPL-3.0。截至 2026-09 约 950 star,近期新增 5000+ 用户。
- 已经实现了「候选旁显示译文」:竖排候选窗中为候选项显示中文与所选语种的互译,每项最多两条简短释义; 本地词典优先,未命中可走腾讯云 TMT 或自建 DeepLX 兼容服务。
- 另有日文罗马字输入模式、中英混输。
- issue 里翻译功能相关的反馈占比不低(错译、想直接上屏译文、日语学习模式加罗马音、短语翻译不准), 说明用户在实际使用这个功能。
对青简的意义:
- 「打字时看到译文」这个交互形态已经被水杉验证,不需要再做原型验证。
- 青简相对水杉的差异只剩三条:非 Windows 平台(水杉没有 macOS / Linux)、Rust 平台无关 Core、 更克制的单条 annotation(水杉最多两条,可走云端)。
- 青简的输入法本体需要先达到「不比水杉差」这条线,翻译功能才有意义。
- 水杉的 TSF 代码可以作为 Phase 5 的参考,但它是 GPL-3.0,除非青简也选 GPL,否则不能搬。
- 水杉的进程结构(TSF DLL + 独立 Server 进程 + UI)是 Windows 平台层应采用的结构。
Rime
- https://rime.im/
- librime(C++,约 5 万行)+ 各平台前端:Squirrel(macOS)、Weasel(Windows)、ibus-rime / fcitx-rime(Linux)。
- 青简的「Core + 薄壳」架构与 Rime 相同,Rime 证明了这个结构能跑十几年。
- Rime 候选自带 comment 字段,Squirrel 显示在候选旁,配合 librime-lua 也能做出类似的译文标注。
数据源
| 用途 | 来源 | 许可 | 备注 |
|---|---|---|---|
| 拼音词库(产品) | 自建,源数据在 assets/lexicon/:《通用规范汉字表》8105 字(政府公布的规范字表,iDvel 转录并与 shengdoushi 分级表核对)、《现代汉语常用词表(草案)》56k 词(教育部 2008,liuxilu 校对版,自带拼音)、THUOCL 11 类领域词 15.7 万(2026-09-06 起按语料次数拆开:常见的留基础词库,其余各成一本随包 .qj;清华 NLP,MIT);2026-09-27 起补入 jieba 分词词表(MIT)对照出的缺失高频词(读音逐字取 Unihan,词频按与原语料统计的回归关系折算,见 assets/lexicon/domain_words.tsv 头注) |
字表与常用词表是官方文件的转录,转录仓库未附许可证;THUOCL MIT;读音 Unihan(Unicode License v3) | dict-convert lexicon 生成 dict.tsv(20.5 万条,随仓库放 assets/lexicon/dict.tsv):字与领域词读音来自 Unihan,5.6 万含多音字的领域词和 1.2 万含多音字的常用词由 LLM 标注再逐字对照 Unihan 校验(常用词表自带拼音对多音字错了 288 处:部长 chang、西藏 cang、成都 dou……,以标注为主读音、原读音降权保留),词频来自下面两份语料的统计(两遍:先按底值分词统计,再用真实词频重统计)。2026-09-05 起取代雾凇拼音(GPL-3.0 only,与本项目不兼容,已从数据目录与工具里移除) |
| 英文词表(产品) | 同一数据包 05_english:ESDB(en-wl/wordlist,MIT-like)、CSpell software-terms(MIT)、typos 误拼对照(MIT) |
均宽松,许可原文随包 | dict-convert english 取纯字母词 9.5 万,词频 wordfreq;误拼对照表以后可喂英文纠正。取代雾凇 en_dicts |
| 语言模型语料 | 中文维基(HF wikimedia/wikipedia 20231101.zh) |
CC BY-SA 4.0 | 百科体,第一人称、口语词几乎没有(去 / 累 这类词计数极低),单独用它整句会偏向地名术语;由它统计的 bigram 表按 CC BY-SA 对待 |
| 语言模型语料 | LCCC(清华 thu-coai/lccc,微博对话) |
MIT | 口语对话,补维基缺的日常用语;两份语料合并统计。tools/corpus/parquet_to_text.py 转文本,dict-convert bigram 统计 |
| 语言模型 | Rime 八股文 / octagram | essay 只是词频表;octagram 是 LGPL | 未采用:essay 没有二元信息,octagram 文件格式是 Rime 私有的 |
| 中→英 / 日 / 越 / 德 | tools/gloss-gen 用 LLM 离线批量生成(英 / 日 / 德用 DeepSeek,越用 gpt-5.5),数据在 assets/glossary/ |
模型输出,许可干净 | 词性 + 译词 + 日文假名;2026-09-05 对整个自建词库跑了全量:23.9 万词,词库多字词 91% 有英文释义、98% 有日文释义,单字 92%;17.6 万词约 100 分钟、几十元。德语名词按提示词带定冠词(der/die/das),全量后用 tools/corpus/verify_german_gender.py 对照 Wiktionary 德语快照(kaikki.org 导出,CC BY-SA 4.0,只做校验、译文不取自它)核对冠词,2026-10-10 全量:9.2 万选中词导出 9.2 万条(99.6%),可自动判定的 2.4 万名词冠词一致率 98.4%,过闸发布;未过可用 gloss-gen export --strip-german-articles 导出无冠词兜底形态;首版不提供 levels-de 等级表。有道等网页词典接口不用:逆向的签名接口不稳,攒下来的结果再分发是侵权 |
| 中→英(备用) | CC-CEDICT | CC BY-SA 4.0 | 需署名;share-alike 只约束数据本身及其加工版,不传染代码。没有词性、释义偏长,已被 LLM 表取代,dict-convert cedict 仍能生成 |
| 日文读音 / 词性(候选) | JMdict(EDRDG) | CC BY-SA 4.0 | 以后校对 LLM 给的假名与日文词性 |
| 词汇等级(统计) | 已用:CEFR-J Wordlist 1.5(A1–B2,免费须署名)+ Octanove C1/C2(CC BY-SA 4.0);JLPT N5–N1(Tanos CC BY,经 elzup MIT 整理)。四六级 / 商务英语词表在 GitHub 上只有大纲词汇的转录、许可不明,没用 | 已核 | 「统计」页按级数见过 / 看熟 / 上屏过的译词(assets/levels/);也可做英→中 / 日→中方向的种子;不进候选窗口 |
| emoji | Unicode CLDR 中文与英文 annotations(cldr-json 的 annotations/{zh,en}、annotationsDerived/{zh,en}) |
Unicode License v3(宽松,需保留版权声明) | dict-convert emoji --language zh|en → assets/emoji/emoji-{zh,en}.tsv,随仓库与发布包提供;许可文本在 assets/emoji/LICENSE-unicode.txt。日文表要等有日语输入模式 |
| 英文词频 | wordfreq(Python 包) | 代码 MIT,数据 CC-BY-SA 等 | 只取每个词的 Zipf 频率数字给英文补全排序,tools/corpus/english_frequency.py 生成 english-frequency.tsv(gitignore) |
| 形码码表(五笔) | sxjudya/rime-wubi86-jidian 的 wubi86_jidian.dict.yaml(86 五笔极点码表) |
Apache-2.0 | dict-convert wubi → assets/schemes/wubi86/table.tsv(8.9 万条)。码表自带的权重不用(那是码表顺序不是语料词频),词频按词面从青简词库回填,与拼音方案同一把尺子。上游另有 _extra / _extra_district 两张扩展表,暂未并入 |
许可策略
- 代码:GPL-3.0-or-later(2026-09-07 定,此前测试阶段是「保留所有权利」)。选强 copyleft 是为了堵闭源抄走,与鼠须管 / 水杉一致;名字与 logo 不授权。
LICENSE、「关于」页(about.rs的LICENSE_NOTE)、README 三处保持一致;pkg 里的license.txt从LICENSE拷。 - 产品数据的源文件进
assets/(assets/lexicon/词库源、assets/emoji/),带各自的许可证与署名文件; 语料、Unihan 这类体积大或可重新下载的中间输入放仓库根目录data/(gitignore),生成物在data/generated/。 许可与本项目不兼容的数据(雾凇拼音)已不再使用,连开发测试也不用,免得产品数据被它污染。 - 数据文件不并入代码许可:每个数据源在
assets/下带自己的 LICENSE 和署名文件,README 里列出。 CC BY 只需署名;CC BY-SA 的 share-alike 只约束数据本身及其修改版,不传染到代码, 但对 CC-CEDICT 做的任何加工(裁剪、合并 gloss)都要以 CC BY-SA 发布。 - 每新增一个数据源或依赖,同步更新上表和 README 的 License 一节。
- GPL 项目(水杉、部分 Rime 前端)的代码只能读不能搬。
随包数据清单
产品包里带的数据与各自的许可(偏好设置「关于」页列的就是这份):
| 数据 | 来源与许可 |
|---|---|
| 词库 | 通用规范汉字表;现代汉语常用词表(liuxilu 校对版);THUOCL 领域词(清华大学自然语言处理实验室,MIT);jieba 分词词表(fxsjy/jieba,MIT,2026-09-27 起用于缺失高频词对照与词频折算);读音取自 Unihan(Unicode License v3) |
| 语言模型 | 中文维基百科(CC BY-SA 4.0)与 LCCC(清华大学 CoAI,MIT)语料统计 |
| 释义表 | 由大语言模型离线生成,青简自建(英语 / 日语 / 德语用 DeepSeek,越南语用 gpt-5.5),随表不含第三方词典内容 |
| emoji | Unicode CLDR annotations(Unicode License v3) |
| 英文词表 | ESDB / SCOWL(© Kevin Atkinson,按其许可保留版权声明);CSpell 词典(MIT) |
| 词汇等级 | The CEFR-J Wordlist Version 1.5(Yukio Tono,Tokyo University of Foreign Studies,cefr-j.org);Octanove Vocabulary Profile C1/C2(CC BY-SA 4.0);JLPT 词表(tanos.co.uk,CC BY;经 elzup/jlpt-word-list 整理,MIT) |
| 五笔码表 | 86 五笔极点码表(sxjudya/rime-wubi86-jidian,Apache-2.0);编码来自上游,词频由青简词库按词面回填 |
各许可证原文在 assets/ 对应目录下。雾凇拼音(GPL)已彻底移除,不要再引入。