yenharvey
|
393656df5e
|
chore(release): 0.3.0
产品数据升到 data-v8:并入青简词库后的 dict.qj、补充词库 dicts/general.qj,去掉用不上的含章·知微。
|
2026-10-22 15:33:17 +08:00 |
|
yenharvey
|
9b2acacae0
|
ci(android): CI 编 Android,发版出签名的 APK
ci.yml 加 android job 编 debug APK,Kotlin 与 Gradle 以前没有任何检查。
release.yml 加 android job:带产品数据出 arm64 APK,签名后 apksigner 验过才上传;v 标签连 Android 一起发,单发用 android-v。
APK 的 versionName / versionCode 改从 core/Cargo.toml 算,发版门禁同样核对它;0.3.0 起 Android 与桌面同号,成熟度用「预览版」标注。
.qj 不再设 noCompress,APK 从 225 MB 降到 95 MB,只多在首次启动解压时花几秒。
README、译本与用户文档把 Android 从「需从源码构建」改成下载 APK;发版文档补签名密钥的生成与 Secrets。
|
2026-10-22 10:01:35 +08:00 |
|
yenharvey
|
381947ab4b
|
docs(user): 用户文档加 i18n 目录,定好译本的约定与锚点工具
docs/user/i18n/<语言>/ 与原文目录结构一一对应,语言代码与官网一致固定为 zh-Hant、en、ja、es、vi、de,先建好目录免得各写各的。
README 写明结构、原文改了怎么办、译法(界面只有中文,保留中文原名附译名)、术语表和贡献步骤。
没有译本时官网显示替补版本:繁体看简体,其余外语先看英文、再看中文。
tools/docs/i18n-anchors.mjs:译本里的锚点先照抄中文,跑一次按「目标页第几个标题」换成译文标题的锚点,并列出对不上的链接。
|
2026-10-21 20:06:36 +08:00 |
|
yenharvey
|
4a5d60952b
|
build: 安装包与数据包不再带含章·知微
三个桌面平台都是有含章·通变就不加载知微,而通变一直随包,知微从来用不上,白占 53MB。
用户自己放进数据目录 models/hanzhang-zhiwei/ 的仍然认。data-fetch 兼容还带着知微的 data-v7。
|
2026-10-21 15:06:25 +08:00 |
|
yenharvey
|
0ca1b95419
|
feat: 并入青简词库,已清洗的进基础词库,其余作补充词库随包
- dict-convert lexicon --general / --cleaned:基础词库已有同读音的补声调、词频不动;读音不同的新读音按 1/8 收;
其余按两边同读音词在对数坐标拟的直线换算词频。已清洗的 21.2 万条写 dict-cleaned.tsv,pack dict 与 dict.tsv
合成 dict.qj(34.5 万条);其余 129 万条写 dicts/general.qj(GPL-3.0-or-later),缺省开着,设置「词库」页可关。
都不进 bigram 分词,dict.tsv 除声调外不变,语言模型不用重跑
- 补充词库低主词库一档:不当前缀补全、精确命中不进排序第一档、兜底与词图格子预选多扣 2、不计入总词频;
词图选中它的整词照样插到最前
- 「敲的拼音本身就是一个词就不走敲错路径」只认语言模型认识的主词库词,否则 zanen / jiusi 纠不回 咱们 / 就是
- 领域词多音字按语料猜读音打平时取 Unihan 靠前的读音,结果不再每次跑都不一样
冻结回放:词首选 8104 → 8167、整句 2845 → 2827(逐条核实词 25 好 2 坏、整句 14 好 12 坏,其中 2 条是当时选错的 输入狂);
整句评测集首选 37.6% → 38.9%、前三 43.4% → 46.0%。
|
2026-10-21 15:05:10 +08:00 |
|
yenharvey
|
0c9344883a
|
feat(dictionary): 词库拼音可带数字声调,.qj 存声调
- TSV 拼音列认 `ni3 hao3`(轻声 5 或 0)与不带调两种写法,查词一律去调;导入用户词库同样认
- 五个音节以内的声调压进词目原来的 16 位填充,更长的放 TSPL / TONE 两节;旧文件读出来是不知道
- `Match::tones` 给显示用
- dict-convert 的 phrases / domain_words / mixed_words / brand / mined_words 统一成「词 拼音 词频」,
mined_words 拼音留空;重编的 dict.tsv 与 lm 一元、二元表和改之前一致
|
2026-10-21 14:01:09 +08:00 |
|
bfxh
|
c7027872fe
|
ci: 加 rustdoc 文档门禁,并修掉它报出的文档断链与裸标签 (#738)
RUSTDOCFLAGS=-D warnings 跑 cargo doc,core 与 windows job 各一处;修掉 main 上公开文档链私有项、断链、裸 HTML 标签与跨 cfg 断链。
|
2026-10-21 09:30:14 +08:00 |
|
yenharvey
|
4a959fe0d1
|
feat: 云端可走 rustls,新增语音识别 crate qingjian-voice
- qingjian-predict 的 TLS 后端可选:桌面缺省系统 TLS,安卓开 rustls(先装进程级加密实现)
- 回包带未知 service_tier 不再整条失败,翻译失败当场回空结果
- qingjian-voice:实现 Core 的 Transcriber,接火山引擎豆包流式语音识别(WebSocket + rustls,后台线程)
- gloss-gen 自己开 native-tls,工作区的 async-openai 不再缺省带 TLS
|
2026-10-20 20:35:18 +08:00 |
|
yenharvey
|
7eb66ba930
|
feat(core): 手机输入法要用的 Core 能力
- 九宫格拼音方案 nine_key(数字串组句、定音节、定字母出日期),云联想也能在九宫格下发
- 注音按敲的声调排序与转整句;日语罗马音转假名(测试版)
- 符号面板目录对外公开、加「网络」一类,「常用」按用过的次数排;emoji 肤色五档
- 邮箱后缀补全、text_pieces 拆词、认出代码并切高亮片段
- 全拼出日期时间星期、算式结果补全;上屏可暂不记输入统计;CandidateKind::forgettable
- 滑行输入解码接口 SwipeDecoder 与按词表打分的 ShapeDecoder;语音识别接口 Transcriber 与 commit_voice
- 模糊音名称、学习语言、繁体字形、领域词库等选项清单由 Core 给出,各壳不再各写一份
- cli 加 --nine-key;dict-convert 生成注音字调表,symbol_panel.py 补网络符号
|
2026-10-20 20:35:18 +08:00 |
|
yenharvey
|
39161a2166
|
feat: 合并键位提示(双拼键位与五笔字根图)
- KeyHint 改吃 Layout,用户双拼方案也画自己的键位
- 字根图只在挂着 86 五笔时画,别的形码方案没有字根图、设置里不出键位提示
- 字根表与字形表随 86 五笔挪到 assets/schemes/wubi86/
|
2026-10-20 11:46:00 +08:00 |
|
yenharvey
|
84196a8e49
|
feat: 自定义形码方案,单用形码时顶字、满码唯一自动上屏、标点上屏与空码清除
形码侧从只有 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 的下拉框宽度改为最小宽度并可设最大宽度,值过长时截短补「…」,不再把箭头挤出框外。
|
2026-10-20 10:22:58 +08:00 |
|
yenharvey
|
5155ea6d3a
|
feat(tools): 五笔字根图的字根表与字形导出
roots86.tsv 对照通行的 86 版字根图逐键转写(198 个字根,含变体),键名与口诀核对维基百科;每行写字根取自哪个字、保留哪几个轮廓、露出哪一块。
dict-convert wubi-roots 从思源黑体 SC Regular 取轮廓导出 roots86-glyphs.tsv(SVG 路径,随包,沿用 SIL OFL);字体不进仓库。
思源黑体把相连的笔画合成一个轮廓,部件靠「挑轮廓 + 裁剪框」两样叠用取出来;--sheet 画轮廓编号图(描色、标号、0–1000 网格)供挑选。
25 个放字根的键缺一个就报错,防止整键漏掉。
|
2026-10-19 19:05:58 +08:00 |
|
yenharvey
|
5865be8604
|
chore(release): 产品数据升到 data-v7,补 0.2.1 更新日志
data-v7:基础词库带上生僻字与 #256 的词,语言模型与笔画码表按新词库重新生成。
|
2026-10-13 20:36:42 +08:00 |
|
yenharvey
|
a4ca1f7fdd
|
feat(dictionary): 收 3.6 万生僻字,拼音加 fiao / biang
生僻字表 rare_chars.tsv 由 tools/corpus/rare_chars.py 从「规范字表外扩充汉字」与台湾教育部罕用字 C 表合成,按字去重、读音取并集,扩展 G 的 𰻝 𰻞 手工补。
生僻字词频 0:排在同音字最后、不进整句词图(用户选过的除外)、bigram 分词跳过;语料里的生僻字次数多来自日文新字体与繁体残留(戦 砲),不能当词频。
诶 囧 日常常用,标 everyday 按规范字处理。
切分与双拼里生僻音节和常用音节冲突时让给常用的:biangeng 是 bian geng,小狼 bm 是 ben。
dict.tsv 与 dicts/ 按当前语料重新生成,一并带上 #256 的词(data-v6 没含)。
|
2026-10-13 20:00:41 +08:00 |
|
yenharvey
|
e6b910314b
|
feat: 符号面板(macOS),按 ↑ 打开,分搜索 / 符号 / 表情三组
- 组句中高亮还在第一个、没动过时按 ↑ 打开(长按连发不算);输入法菜单也加了「符号面板…」,没在打字时也能开
- 搜索组拿当前候选词查 CLDR 中文关键词、emoji 表与内置符号 / 颜文字表(ku → 😭 (T_T));符号组按维护者整理的符号库分 22 类(含带调拼音、注音、平假名、片假名);表情组是常用、颜文字与 Unicode 官方分组的 emoji(Emoji 15.1 以内,免得旧系统显示成方框)
- 数据由 tools/corpus/symbol_panel.py 生成、编进 Core;面板状态与搜索在 Core(SymbolPanel),格子移动复用 Grid,加了按行滚视口的 Grid::scroll
- macOS 面板一律系统绘制(青简渲染器还没有面板):尺寸固定、换组换类不跳;方向键 / Tab / [ ] / 空格回车 / 数字键,鼠标双击上屏、滚轮逐行滚、点标签切换、✕ 关闭
- 补希腊字母的常用中文译名(艾塔、塞塔、奥密克戎、卡伊……),伽马、欧米伽改读 ga
- Windows 面板与悬浮条、托盘菜单入口记进待办
|
2026-10-13 17:11:43 +08:00 |
|
yenharvey
|
dd9c471766
|
chore(release): 产品数据升到 data-v6,加德语释义表
data-v6 = data-v5 逐字节 + glossary-de.qj(#535,GPL-3.0-or-later)。
|
2026-10-12 16:08:44 +08:00 |
|
Haoyu Xi
|
b184119952
|
feat: 新增德语释义表,gloss-gen 支持德语并接入三平台打包 (#535)
glossary-de.tsv 由 gloss-gen(LLM)生成,名词带冠词,GPL-3.0-or-later;冠词经 Wiktionary 快照校验(一致率 98.4%)。macOS bundle.sh、Windows Inno 与 data-bundle.sh 打进 glossary-de。
Closes #509
|
2026-10-12 15:58:32 +08:00 |
|
Haoyu Xi
|
7a6f76e902
|
feat: 新增德语作为学习语言,三端接线 (#511)
Language 加 German(de),macOS 偏好设置与 Windows 设置可选德语,云释义补德语提示与译词清洗;Windows 缺释义表时启动记一条警告。
Refs #509
|
2026-10-12 15:54:42 +08:00 |
|
yenharvey
|
3268f969e5
|
chore(release): 产品数据升到 data-v5,gloss-gen 缺省只生成英日
data-v5 = data-v4 + 越南语释义表(GPL-3.0-or-later)+ #256 补词后重打的词库、领域词库与重跑的语言模型;含章两个模型字节不变。
gloss-gen 不带 --languages 时只生成英日:重跑英日释义不该顺带把越南语也请求一遍,越南语按需单独补。
|
2026-10-10 10:43:20 +08:00 |
|
Joelee
|
2db9677a4c
|
feat: 学习语言新增越南语 (#480)
Language 加 Vietnamese,三端设置与装配接线,云释义补越南语提示词;随包越南语释义表由 gloss-gen 生成(GPL-3.0-or-later)。
Closes #47
|
2026-10-10 10:42:44 +08:00 |
|
yenharvey
|
025efcf4e4
|
chore(data): 数据 data-v4
基础词库收「嗯」(en),语言模型按新词库重新统计;其余文件与 data-v3 相同。
Closes #300
|
2026-10-09 19:34:53 +08:00 |
|
yenharvey
|
85e9a1b634
|
fix(tools): 词库收「嗯」,读音按输入习惯给 en
Unihan 里 嗯 只有 ng / n 两个读音,都不是拼音音节,生成词库时整个字被丢掉,en 与 ng 都打不出来;
各家输入法都用 en 打它。语料里 嗯 有 34 万次,重跑 bigram 后 en 首选 嗯,enen / endui / enhaode 整句也对。
代价:enren 的整句「嗯人」排到 恩人 前面(enqing / enhui 原来就是 恩庆 / 恩会 排第一,回退分数的老问题)。
|
2026-10-09 19:15:47 +08:00 |
|
yenharvey
|
b240289df1
|
build(release): 将含章模型与词库合并为 data-v3 单包
统一两份模型的 small 型号文件名,并让三个平台读取单包数据。保留旧锁下载路径供历史版本使用。
|
2026-09-29 13:37:59 +08:00 |
|
yenharvey
|
b6c68352a5
|
chore(release): 合并主线并准备 0.1.5-beta.1
合并三平台共用发布流程、更新检查和最新输入改动,接入含章模型的数据打包与安装路径。保留已确认的 beta 更新日志和网盘入口,修复未发布节阻断发布索引的问题。
|
2026-09-29 12:31:24 +08:00 |
|
yenharvey
|
a41d1cf82a
|
feat: 接入含章·通变与知微模型
接入含章·通变的拼音解码、整句重排与词图兜底生成,扩展 macOS、Windows 和 Linux 的模型加载路径。模型文件按正式标识归档,保留旧用户目录回退,并同步数据打包、评测记录和用户文档。
|
2026-09-29 12:02:00 +08:00 |
|
yenharvey
|
26c613c8ae
|
feat(release): Linux 预编译包、三平台共用一个 Release、网盘链接
- Linux:apps/linux/scripts/package.sh 在 Ubuntu 26.04 上打 qingjian-<版本>-linux-x86_64.tar.gz(Server、Fcitx5 插件、产品数据、install.sh),与源码安装共用 files.py 的清单与校验;Linux 版本号对齐 0.1.4-dev
- release.yml:v<版本> 标签发三个平台,prepare 建草稿 → 各平台并行打包上传 → publish 合并摘要与构建信息后转正;有平台失败就停在草稿;单平台补丁仍可用 macos-v / windows-v / linux-v 标签
- CHANGELOG 版本标题下的「网盘:」行进 releases.json 的 mirrors 字段,GitHub Release 说明放在最前
|
2026-09-24 10:10:02 +08:00 |
|
yenharvey
|
795a0c70d2
|
feat(update): 检查更新(只提示)与版本索引的 ed25519 签名
新 crate qingjian-update:读官网的 releases.json、验签名、按平台 / CPU / 渠道挑比当前新的版本,结果写 update.json;
[update] check / channel 配置;macOS 输入法菜单、Windows 任务栏「中 / 英」图标的右键菜单与两端「关于」页提示,
点开下载页,不下载不安装;-dev 本地包不检查(QINGJIAN_UPDATE_VERSION 可顶替版本号来测)。
发版侧 tools/release-sign 给索引签名,release.yml 没配 QINGJIAN_INDEX_SIGNING_KEY 时门禁失败。设计见 docs/design/update.md。
macOS 菜单里「有新版本」这一行必须放在普通条目那一组:放在最后一条分隔线之后时 IMK 每次按键都新建会话、打不了字
(对照构建逐个验过,见 update.md)。
|
2026-09-23 16:56:17 +08:00 |
|
yenharvey
|
7d4b8b1ade
|
chore(data): 数据包 data-v2 随包笔画码表,补 CNS11643 许可证
笔画码表署名改为数位发展部;Windows 安装包把 OFL-1.1 许可证装在 codes 旁;data-bundle.sh 末行变量后紧跟全角逗号的报错改用 ${TAG}。
|
2026-09-23 10:34:24 +08:00 |
|
yenharvey
|
7ff5d27948
|
fix(tools): 笔画表首笔按大陆规范补齐,首笔对照不再按几何近似放行
师、归(CNS 记点,应为竖)、非字头与非字旁(记撇,应为竖)、册 / 删(记竖,应为撇)改对,「所」加进「戶→户」规则的例外;顺带按规范改了竖心旁(点、点、竖)与「必」的笔顺。
首笔对照原先把「点对撇、点对竖、撇对竖」三类直接算对,两岸笔顺的差异正好落在这三类里,真错被放了过去;现在不符的字都要逐字进白名单(对照源几何分不清的 343 字已裁定入表)。
|
2026-09-21 10:14:50 +08:00 |
|
Shiyuhai2023
|
40db095dd1
|
feat(tools): 随包笔画码表 (#153)
辅码的随包原生码表:dict-convert 新增 stroke(CNS11643 笔顺 + 大陆序覆盖表生成笔画表,--verify 对照笔画数与首笔)、mmh-reference(开发期对照数据,不进仓库)与 pack codes(单字前 4 笔 + 末笔、词组每字首笔),assets/stroke 放覆盖表与白名单,安装包带上码表。
|
2026-09-21 10:14:05 +08:00 |
|
bfxh
|
c5e4c84136
|
fix(tools): 词典打包扫描排除点开头隐藏与波浪号开头临时文件 (#172)
领域词库与分词用词库的目录扫描只认普通的 .tsv 文件,系统元数据和编辑器临时文件不再被当成词库打进包。
Closes #166
|
2026-09-20 09:23:34 +08:00 |
|
tonywoo
|
9cfeec4bad
|
feat(core): 五笔 86 输入方案与拼音混输 (#125)
形码与拼音是两条平行管线:码表按编码前缀查,释义、生词、学习与输入日志照常。配置拆成 [general] scheme(拼音侧)与 wubi(形码侧)两条轴,两边都开就是混输;两端设置页、随包码表(极点 86,Apache-2.0)与 CLI --wubi 一并接上,macOS 顺带接了大千注音。
|
2026-09-18 01:06:42 +08:00 |
|
yenharvey
|
5fe018cb08
|
chore(release): 安装包改名、渠道改成更新渠道、索引加 schema_version 与 cpu
为接入 Homebrew 自建源 / WinGet 与软件内检查更新做准备:安装包文件名固定为
qingjian-<版本>-<平台>-<cpu>[-setup].<扩展名>;CHANGELOG 与 releases.json 的 channel 表示更新渠道,
0.1.3 标 stable,带预发布后缀的版本由 release.yml 标成 GitHub 预发布。
|
2026-09-17 15:36:01 +08:00 |
|
yenharvey
|
59312c5cad
|
build(release): 产品数据改成不可变的 data-vN Release,仓库锁文件钉版本
滚动覆盖的 data Release 让老提交自编译拿到新数据、CI 只按 Release 自己的 SHA256SUMS 自校验。
现在 data-bundle.sh 发新号并写 tools/release/data.lock,data-fetch.sh 按锁文件下载校验,CI 与自编译同一条路;
build-info.json 多记 data_tag。老 data Release 冻结不删。
|
2026-09-16 17:53:45 +08:00 |
|
yenharvey
|
00d4c57439
|
feat(tools): bigram --brand 收多个文件,中英混杂词进语言模型
#93 的混杂词只进了词库,排序靠语言模型,cpan 出不了 C盘(第 5);--phrases 合成要成分词在语料里,C 不是 token,
所以走 --brand 直接写一元。次数对着同音竞争词定:B股 / H股 / G盘 / F盘 / X光 压到几百不抢 不顾 / 回顾 / 光盘 / 翻盘 / 星光,
B站 提到 40000 才盖过维基页脚的 本站。windows / rust / python 是普通词,不再全局改大写。冻结日志回放与基线一致。
|
2026-09-16 16:44:39 +08:00 |
|
YIMING LI
|
2200e9785a
|
feat(data): 中英混杂词进基础词库,英文表补专名写法 (#93)
mixed_words.tsv(C盘 / B站 / U盘 / T恤 …)走 lexicon --extra-words 并入 dict.tsv;dict-convert english 改成同文件先到先得、后文件覆盖同码写法,07_display_forms.tsv 补专名大写。
|
2026-09-16 16:35:23 +08:00 |
|
yenharvey
|
b423a4e46d
|
build(installer): 西班牙语释义表随包
两端引擎本来就按学习语言找 glossary-<语言>.qj,设置页也已有西班牙语(#48),只差把 #49 的
表打进包:bundle.sh 与 dict-convert 的语言码加 es(es 表的许可与来源单独写:GPL-3.0-or-later、
Azure Translator 机器翻译),Windows 安装包与 data-bundle 清单加 glossary-es.qj。
|
2026-09-16 11:39:33 +08:00 |
|
Tofuzhu
|
66f5c6efa6
|
仓库:加西班牙语释义表与生成脚本 (#49)
机器翻译(Azure Translator F0)生成的西班牙语释义表 glossary-es.tsv 与生成脚本 tools/corpus/glossary_es.py;已知问题(机翻未人工校对:英文残留、缺词性、首字母大写等)记于 assets/glossary/README.md。这版先作为数据入库,下个版本接通用加载。
|
2026-09-15 20:44:18 +08:00 |
|
luo jiyin
|
30bf66ce49
|
Core:统一 lue/nue 与 lve/nve 的韵母写法(#60)
Closes #59
|
2026-09-15 13:32:16 +08:00 |
|
yenharvey
|
b77c076c30
|
仓库:官网文档只随发版同步(删 docs 工作流、bump-website 去掉 docs 模式);加 PR 模板
|
2026-09-13 20:57:16 +08:00 |
|
yenharvey
|
c9d48f9a01
|
发版数据:本地整句模型改成上传单文件 model.qjm,CI 两个 job 下载放 data/model
data-bundle.sh 三件套比 .qjm 新就调 pack-model.sh 重打、原样上传 model.qjm 并删旧的 qingjian-model.tar.gz;
release.yml 下载校验后 mv 到 data/model/,build-info.json 记 model_sha256;docs/notes/release.md 同步
|
2026-09-12 17:08:05 +08:00 |
|
yenharvey
|
6d731f8ab5
|
模型单文件 .qjm:.qj 容器新种类 Model,加载器认单文件与三件套目录,pack model 打包
- qingjian-format 加 Kind::Model;.qjm 就是 .qj 容器装三节 CONF / VOCB / SAFT(config.json / vocab.json / model.safetensors 原文),
META 带名称 / 许可 / 署名,entries 记参数量
- qingjian-neural:qjm 模块(find_model 先 .qjm 再三件套、pack),CharScorer::load 认文件或目录,metadata() 给 META;
测试夹具改用 data/model(旧 lm-train/export 路径已不存在,之前一直静默跳过),新增打包往返测试
- dict-convert pack model;tools/release/pack-model.sh 是元数据唯一落点(权重许可与代码一致 GPL-3.0-or-later),三件套比 .qjm 新才重打
- mac paths::model_path、Windows dispatch::find_model 改用 find_model;bundle.sh 与 qingjian.iss 只带 model.qjm,Inno 顺手删旧装的三件套
|
2026-09-12 17:08:05 +08:00 |
|
yenharvey
|
5380636c82
|
领域词:从输入日志人工挑 48 条(对齐 / 后端 / 词库 / 候选框 / 看看 / 再也)进基础词库,语言模型走短语同款合成计数
- assets/lexicon/domain_words.tsv:日志里选过 ≥ 2 次、词库与短语层都没有、公开语料里出现过的词;次数用语料次数,不到 20 的按 20,多音字拼音给全
- bigram --phrases 可重复给:领域词当 token 统计会吸走成分词的二元证据(词库 77 次 → 词 + 库 路径没了,整句出 助词哭),走合成路整句得分与原路径一样
- 回放 词 8064 → 8098、整句 2977 → 2983,整句评测集 37.6% 持平(字准确率 76.8 → 76.9);同步 dict.tsv 与领域词库
- 记录:docs/notes/domain-words.md、QINGJIAN.md 4d
|
2026-09-12 12:04:10 +08:00 |
|
yenharvey
|
209cfa63b7
|
短语层:dict-convert phrases 从语料挖 5398 条人整块打的组合(我的 / 好的 / 不知道)进基础词库,品牌词 青简;语言模型按成分合成短语计数
- phrases 子命令:两遍扫语料数相邻两三词,总次数与 LCCC 对话语料次数都 ≥ 2000,边界规则 + 笑声串不配对,读音由成分词拼出;--refresh 重跑
- lexicon --extra-words 文件加第三列拼音;assets/lexicon/phrases.tsv、brand.tsv(青简 210)
- bigram --phrases:分词摘掉短语、统计完合成一元 / 二元(P(短语|v)=P(a|v)P(b|a)),合成行另加不占真实行名额;--brand 写一元与句首二元
短语当 token 重训会让 二十 压过 而是、部队 压过 不对,见 docs/notes/phrase-layer.md
- 整句评测集持平 37.6%,回放词级 8032 → 8064;qingjian 出 请见 / 青简 / 请柬
|
2026-09-12 10:54:17 +08:00 |
|
yenharvey
|
5ba7c27574
|
排序常数扫描:插值与敲错代价做成 Engine 可设 + CLI --tune,冻结日志扫 55 组全在平台区不改;回放把原样上屏也走 take_raw
- Core:sentence::Interpolation / Personal、correction::TypoCosts 收拢常数,Engine::set_interpolation / set_typo_costs;缺省值不变,重构前后回放逐行一致
- CLI:--tune 名=值、报告行末加命中数、没命中例子带来源;回放原样上屏走 take_raw(个人英文词与不纠记录),英文首选 72.5 → 82.9 是尺子偏差
- tools/eval/sweep.sh 网格脚本;结果与没命中构成记在 docs/notes/constant-sweep.md,todo / model-eval / CLAUDE.md 同步
|
2026-09-12 09:36:48 +08:00 |
|
yenharvey
|
3e153b21cd
|
Windows 发版:release.yml 加 windows job,0.1.0-alpha.1 内测版
- release.yml 认 windows-v* 标签:下载产品数据 → 装 Inno Setup 7.1.0(与开发机同版本,钉死 jrsoftware/issrc
的 GitHub Release 并核对 SHA-256)→ build.ps1 打安装包 → 建 Release;两平台共用 publish-releases-json.sh
生成 releases.json 并覆盖到 GitHub latest(顺带修了只认 v* 标签漏掉 macos-v* 的问题)
- build.ps1 优先用 Program Files 里的 Inno Setup 7,PATH 上的 6(CI 镜像自带、不带简中翻译)退居其后;
QINGJIAN_ISCC 可直接指定
- 没有代码签名证书:QINGJIAN_UIACCESS=0 让 Server 不嵌 uiAccess(没签名的 exe 带 uiAccess 起不来);
在开发机上按 CI 条件跑过 build.ps1 + 静默安装,Server 能启动、数据全部加载
- Inno 的 VersionInfoVersion 只认数字,预发布后缀去掉再传;releases_json.py 认 -Setup.exe
- 三个 Windows crate 版本 0.1.0-alpha.1;CHANGELOG 加内测版说明;docs/notes/release.md 加 Windows 发版一节
|
2026-09-11 20:50:56 +08:00 |
|
yenharvey
|
b84bfd5c3f
|
各平台壳版本号独立:发布标签加平台前缀,脚本改读 app 包版本
apps/* 是各自独立发布的产品,版本号不该跟 workspace 或彼此同步(macOS 修的 bug
不该让 Windows 涨版本)。mac 到 0.1.1、win 还在 0.1.0,光靠 v<版本> 标签会撞车。
- apps/macos 用自己的 version(0.1.1),不再 version.workspace。
- 发布标签按平台加前缀 macos-v* / windows-v*;bundle.sh 与 release.yml 都改读
apps/macos/Cargo.toml 的包版本、按去掉 macos-v 前缀后的标签比对。
- releases_json.py 的 TAG 正则接受可选平台前缀(macos- / windows- / linux-),
向后兼容旧的 v* 标签。
- CLAUDE.md 与 docs/notes/release.md 记下该约定与新的打标签方式。
|
2026-09-11 19:35:01 +08:00 |
|
yenharvey
|
e342fb49e0
|
发版后让官网重新构建:往官网仓库推一个小提交(Cloudflare 按提交自动构建,没有构建钩子)
release.yml / docs.yml 改调 tools/release/bump-website.sh,写官网的 src/content/upstream.json(版本标签、文档提交号)并推送;QINGJIAN_WEB_TOKEN 改为对 qingjian-web 有 Contents: write 的 PAT。
|
2026-09-08 17:54:11 +08:00 |
|
yenharvey
|
7a2ccc7691
|
v0.1.0:首个版本
青简(Qingjian):用 Rust 写的拼音输入法,候选词旁多一条正在学的那门语言的译词,一次只学一种。
核心引擎平台无关(crates/),macOS 输入法(apps/macos)已可用,CLI 测试工具(apps/cli),
产品数据生成工具(tools/),设计文档、计划与用户文档在 docs/,发版流程见 docs/notes/release.md。
|
2026-09-07 19:17:46 +08:00 |
|