yenharvey
|
4f37e9fd65
|
feat(settings): 新设置程序的候选页加上小键盘数字(Windows)
#354 只接了旧版 Windows 设置;新设置程序是主入口,按平台支持表只在 Windows 显示,macOS、Linux 记为待实现。文档同步到按键页与设置页。
|
2026-10-26 11:28:47 +08:00 |
|
chleo
|
ff843799fc
|
feat(windows): 小键盘数字支持选词与直输配置 (#354)
中文组句中小键盘数字以前只能选词,打编号、型号时得切英文;加 [general] numpad_digit,缺省 select 照旧选词,direct 让数字进组句一起上屏。
Closes #217
|
2026-10-26 11:28:47 +08:00 |
|
jubeater
|
5e58194c6b
|
feat(linux): 云联想补齐按需触发、用量统计与释义兜底 (#783)
Linux 的云服务只差按需联想、用量统计、释义兜底三项,对齐 Windows。
顺带两处 bamboo-slip 修复:Wayland 会话直连剪贴板(连不上回退 X11);秘密输入框聚焦时关输入法,免得密钥经云联想上报。
Closes #418
|
2026-10-26 10:01:27 +08:00 |
|
Haoyu Xi
|
dd2657e305
|
feat: 词库导入支持只有词的表,读音按随包词库派生 (#787)
只有词的 txt 与混了无读音行的 Rime 词库以前认不出或静默丢词;现在按随包基础词库与领域词库派生读音,四个导入入口都接上。
Closes #698
|
2026-10-26 09:50:20 +08:00 |
|
xiaomao49
|
243e41c3d5
|
feat(linux): 中英切换时弹「中 / 英」提示 (#751)
Linux 切中英没有任何视觉反馈;KeyResult 带上切换后的模式,Fcitx5 插件用框架的输入法信息气泡提示,跟随「切换输入法时显示输入法信息」设置。
|
2026-10-26 09:32:20 +08:00 |
|
Theswq
|
2791a41093
|
fix(fcitx4): 上屏先于清空预编辑,避免 Chromium/Electron 丢字 (#797)
render 会先清空预编辑,Chromium 系把它当组合结束,随后的提交被丢掉;改成与 fcitx5 版一样先上屏再 render。
|
2026-10-26 09:32:09 +08:00 |
|
Haoyu Xi
|
9c0d4474f2
|
feat(core): 中文模式下英文候选可限数量与最高位次 (#772)
中文模式下英文候选可以限两件事:[general] english_max_in_chinese 限数量(1–4,缺省 4 即 1 条精确词 + 3 条补全),english_min_position 限有中文候选时英文最高排第几(1–9,缺省 1 不限制;没有中文候选时英文照旧第一)。缺省值下行为不变;完全关闭仍用「打拼音时也给英文词」。三个平台的 Server 与共用设置页都接上了,Linux 改配置后也会重新读 english_in_chinese。
Closes #768
|
2026-10-23 15:46:26 +08:00 |
|
Haoyu Xi
|
66d62093ef
|
fix(core): 关闭「打拼音时也给英文词」后不再把英文词并入整句 (#770)
关掉「打拼音时也给英文词」后,整句分词仍把内置英文词当句尾(nanine 出「那nine」)。现在开关关着时英文尾段整条路都停:nanine 回到「那你呢」,单独打 nine 也回到拼音读法。开关缺省开着,缺省行为不变。
Closes #766
|
2026-10-23 15:35:37 +08:00 |
|
jacklaoz
|
6cd1d091ba
|
build(linux): 在容器里打 deb / rpm,Server 认发行版的系统数据目录 (#631)
apps/linux/packaging/build.sh 在容器里打 deb 与 rpm:Rust 部分在 Ubuntu 22.04 里编一次,fcitx5 插件分别对着 Debian 13 / Fedora 42 编;每种包 Server 与数据一个包、fcitx5 插件一个包。smoke/ 把打好的包拿到五个发行版的干净容器里装包自检。
resources.rs 认 /usr/share/qingjian 等系统数据目录,装在 /usr/bin 时不再误认成开发目录。flatpak 先不打。
Refs #101
|
2026-10-23 14:37:10 +08:00 |
|
jacklaoz
|
0f17aa15d5
|
feat(linux): IBus 前端,安装脚本按机器上的框架装对应前端 (#628)
GNOME 默认的输入法框架是 IBus:加一个 IBus 前端(纯 Rust,与 Fcitx5 插件共用同一个 Server),安装脚本按机器上有哪个框架装对应的前端(--frontend auto/fcitx5/ibus/both),可选把 Server 装成随登录启动的 systemd 用户服务。
协议类型搬进 qingjian_platform::protocol::linux,两个前端共用。GNOME Wayland 上组句中按应用快捷键时先把拼音上屏到原来的框。
合并 main 时保留 #351 的 --fcitx4(单独一支,不与 --frontend 同用)。
|
2026-10-23 13:43:26 +08:00 |
|
Haoyu Xi
|
10e86493d8
|
feat(dictionary): 导入只有词没有拼音的词表,读音从随包词库派生 (#718)
只有词、没有拼音的词表(每行 词 / 词<Tab>词频 / 词<Tab>读音[<Tab>词频],也认 Rime 的头)也能导入:词表写了读音就用它,其次整词在词库里就用词库读音,再按词库最长匹配切分,切不动的单字取词频最高的读音;一个词只写一条。字不在参考词库里的词跳过并列出。
这次只做 Core 与 CLI(--import-words / --import-to),设置程序的导入页另做。关联 #698。
|
2026-10-23 11:37:52 +08:00 |
|
yenharvey
|
4a076d4506
|
chore(release): 开发版 0.3.2-dev
|
2026-10-22 18:43:31 +08:00 |
|
yenharvey
|
a5126ac090
|
chore(release): 0.3.1
|
2026-10-22 17:48:52 +08:00 |
|
yenharvey
|
11bc654811
|
feat: 知意与含章·知微做成实验功能,设置里下载启用
合入本地 experiment/zhiyi-engine:Core 本地模型可选通变 / 知微 / 知意(知意分省电、均衡、准确三档),设置「实验功能」页下载、启用、删除,进度条与逐块校验;mac 走 Metal,Windows 走 ONNX Runtime 只用 CPU;读不到光标前文时按应用、按输入框取最近打的字。
冲突:设置的短语页、快捷键页说明按 main 的新功能留;用户文档 local-model.md、preferences.md 已在 main 拆分,实验功能的说明搬进 input/sentence.md、getting-started/settings.md、advanced/config-file.md。
|
2026-10-22 17:20:40 +08:00 |
|
yenharvey
|
58d5d4b2f7
|
chore(release): 开发版 0.3.1-dev
|
2026-10-22 16:31:42 +08:00 |
|
yenharvey
|
ae89370e9f
|
test(settings): 没有随包笔画表时不查「笔画」行的 ⓘ
CI 只有样例数据、也没装应用,随包码表列表是空的,这一行建不出来;本机能过是因为从已装的 Qingjian.app 里找到了笔画表。
|
2026-10-22 15:56:03 +08:00 |
|
yenharvey
|
393656df5e
|
chore(release): 0.3.0
产品数据升到 data-v8:并入青简词库后的 dict.qj、补充词库 dicts/general.qj,去掉用不上的含章·知微。
|
2026-10-22 15:33:17 +08:00 |
|
yenharvey
|
17f819b753
|
feat: 打「用户名@」时候选列出常见邮箱的完整地址
Core 的 email_completions 原来只给 Android 用,桌面的英文直输段接上,地址按快捷候选上屏、不记学习。
直输段里按空格选中地址时不再把空格交给应用。
网址本来就能在英文直输段里打(www.example.com),不另做模式。
Closes #508
|
2026-10-22 15:04:39 +08:00 |
|
yenharvey
|
b6319013e8
|
feat: 候选右键菜单:置顶、降权、删除(#749)
macOS、Windows 右键候选(macOS 也可 ⌃ 点按)弹出菜单,菜单由青简自己画:
bamboo-slip 新增 PopupMenu 组件(与设置页下拉菜单同一套样式),
qingjian-render 的 render_menu 出位图,壳只给不抢焦点的弹出窗、管悬停与点击。
- 置顶:给当前输入码加一条比同码短语都高的自定义短语(封顶 999),可在设置里看到、改、删;取消置顶删掉它
- 降权:记进学习数据 user-demoted.tsv,每降一次往后挪一格,词库词也能降;可取消
- 删除:原来 Shift + 数字删候选的那套,挪进菜单;Shift + 数字删候选去掉,回到普通符号
- 菜单项与动作在平台层 candidate_menu,两个壳共用;Esc 只关菜单,敲键、候选窗重画或收起时关
- Linux 候选窗由 Fcitx 画,暂无此菜单
|
2026-10-22 14:39:00 +08:00 |
|
yenharvey
|
95b2e19684
|
feat(phrases): 自定义短语改按权重排
固定位置 1–9 换成可以直接填的权重(1–999,新建 10,可以相同):同一个输入码下权重大的在前,
相同的按列表顺序,都排在普通候选前面;与短语同字的普通候选去掉,不再出两遍。
旧配置的 position 读进来换成权重(第 1 位是 10),保存时原地改成 weight、注释保留。
Android 常用语的输入码上限与 Core 一致(32 个字母),以前存下的超长码转换时跳过,不再让整组常用语挂不上。
|
2026-10-22 12:23:34 +08:00 |
|
yenharvey
|
ce616462f2
|
feat(settings): 随包「笔画」码表旁加 ⓘ,说明取码规则并链到文档
|
2026-10-22 12:23:32 +08:00 |
|
yenharvey
|
c1afdf808f
|
docs: 架构说明只写自己的做法,不再拿别的输入法作依据
|
2026-10-22 12:22:28 +08:00 |
|
yenharvey
|
c398f17c91
|
feat: 横排且高亮移动键选 ← / → 时,↑ / ↓ 在拼音行与候选之间切换
原来 ← / → 把拼音行和候选连成一条,要改拼音得先把高亮退到第一个候选,打句子时没法在中间改拼音。
这种组合下改成两区:↑ 进拼音行(候选不画高亮,空格照样上屏原来那个)、← / → 只移拼音光标,↓ 回候选,开了横排展开时再 ↓ 展开;矩阵第一行 ↑ 回拼音行、不收起;拼音行里再 ↑ 才开符号面板。
规则放在 Core 的 candidate::arrows::route,mac 与 Windows 两个壳只记焦点、执行动作;竖排、或横排用 ↑ / ↓ 移高亮时按键不变。
|
2026-10-22 11:39:09 +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
|
90943c8b26
|
fix(android): 设置页说明照桌面设置的写法精简
各项说明缩成一行,只说这项做什么,去掉格式、协议、识别原理这类技术词。
「释义兜底」改叫「补充译词」,文档跟着改;关于页的版本后面标「预览版」。
|
2026-10-22 10:00:32 +08:00 |
|
yenharvey
|
eb5158aa4a
|
feat(windows): 知意只用 CPU,不接 DirectML
集显上 DirectML 因每次序列长度不同,均衡档一次 200 ms,CPU 两线程 28 ms;
安装包改带 CPU 版 ONNX Runtime,少一个 18 MB 的闭源 DirectML.dll。
|
2026-10-21 20:17:27 +08:00 |
|
yenharvey
|
a20a38acaf
|
docs(user): 用户文档按用户要做的事重新分组
功能越加越多,原来按早期设置页搭的结构塞不下:几个大页(按键、拼音方案、主题)越写越长,同一功能散在几页。
现在分为开始使用、打字、学语言、个性化、AI 服务、各平台、隐私与帮助、进阶八组,一个功能只在一页讲全,别处一句话加链接。
配置键名、文件路径、文件格式只放进阶组,其他页只写「设置 → 某页 → 某项」,面向普通用户不出现实现词。
设置程序的 ⓘ 链接表、各 README、issue 模板与代码注释里指向旧页面的链接一并改到新地址。
|
2026-10-21 20:06:25 +08:00 |
|
yenharvey
|
ffc12073aa
|
build(installer): DirectML.dll 改从 NuGet 取,PyPI 国内常连不上
|
2026-10-21 20:00:03 +08:00 |
|
yenharvey
|
99f64f3bc6
|
build(installer): 取 ONNX Runtime 时用 TLS 1.2
|
2026-10-21 19:59:06 +08:00 |
|
yenharvey
|
b8881c7456
|
feat(windows): 知意走 ONNX Runtime,有显卡用 DirectML,没有退 CPU 省电档
qingjian-neural 把知意的前向抽成 candle / ONNX 两个实现,分词与序列拼法共用;
Windows Server 按 [model] name 加载,设置下载 zhiyi-onnx,安装包带上 ONNX Runtime 1.24.4 与 DirectML。
|
2026-10-21 19:47:52 +08:00 |
|
yenharvey
|
5659b11025
|
docs(settings): 各页说明改短,只留怎么用
|
2026-10-21 19:16:14 +08:00 |
|
yenharvey
|
3be348d4e4
|
feat(settings): 「实验功能」页下载、启用、删除知意与含章·知微
两边同时取清单,先回来的先下,不通换另一边;逐块与整包核对 SHA-256,解到临时目录再换进模型目录。
mac 壳按 [model] name 加载,换档当场生效。Windows、Linux 登记待实现。
|
2026-10-21 19:16:08 +08:00 |
|
yenharvey
|
2fc065ee5c
|
Merge branch 'feat/app-history' into experiment/zhiyi-engine
|
2026-10-21 17:27:31 +08:00 |
|
yenharvey
|
b6f9c0568e
|
Merge branch 'main' into experiment/zhiyi-engine
# Conflicts:
# crates/qingjian-core/src/engine/query/mod.rs
|
2026-10-21 17:27:31 +08:00 |
|
yenharvey
|
04068a5c0f
|
feat(core): 读不到光标前文时按应用、按输入框取最近打的字当前文
- 输入记录按应用分开,每个 256 字、最多 16 个应用;换应用不串
- [model] context_memory_seconds(缺省 60,0 不过期)没打字就不算前文,太旧的前文没参考意义
- mac 进输入框时从头记;Linux 本来每个输入上下文一份;Windows 的 DLL 还不报换输入框,等知意 Windows 版一起做
|
2026-10-21 16:35:47 +08:00 |
|
yenharvey
|
db5d6fe325
|
feat: 拼音行按高亮候选切分,可选显示带调拼音
- 一串拼音有几种分法时,拼音行按高亮候选的读音切(ganga 高亮 尴尬 是 gan'ga、刚啊 是 gang'a),应用里的行内拼音跟着换;Core 的 Query::spelled / follow,mac、Windows、Linux 壳在高亮变化时重切
- [general] show_tones(设置 → 候选 → 拼音行显示声调,缺省关):候选窗口顶部的拼音换成高亮候选的带调读音,简拼也换成完整读音;读音与输入对不上的不换;应用里的拼音不带调
- 声调先按词库里的词取,整句从左往右取最长的词,没标的字按单字声调表补,拿不准的不标;注音、九宫格不标
- Frame 加 window_preedit 给候选窗口单独一串拼音,DLL 不读,不升协议版本
- Linux 的 Fcitx 面板与行内拼音共用一串,声调先不接,设置表登记待实现
|
2026-10-21 16:04:34 +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
|
ccbc66b3d7
|
fix(macos): 用户词库目录有新文件就重新加载,不用重启输入法
设置程序导入的词库不一定改配置(那本本来就没关着),以前只看配置变没变,导入后要重启才生效。
现在和 Windows / Linux 一样看 dicts/ 的文件快照。
|
2026-10-21 15:04:47 +08:00 |
|
yenharvey
|
c3a1d56d41
|
feat(settings): 拼音和形码不能都关,下拉菜单支持变灰的项
两个都关时引擎偷偷按全拼,界面却写着关,像是坏了。现在一边关着时另一边的「关」变灰点不了;手改配置都关时仍按全拼兜底。
bamboo-slip 的 Menu 加 disabled,变灰的项不响应悬停与点击。补上双拼与形码混输的测试。
|
2026-10-21 13:12:11 +08:00 |
|
yenharvey
|
bd4355d86a
|
feat: 导入五笔词库,跟形码方案的码表合并
「导入词库」看第二列认格式:多字词的编码连着写就当形码词库,存进用户目录 code_dicts/,文件头记着导入时选的形码方案,载入方案时并进它的码表,不用整份换码表。
拼音导入遇到这种文件直接拒绝(#536 是五笔码表被当拼音词库导入,显示成功却打不出);认不出格式时提示每列该写什么。
形码词库和拼音词库共用开关与移除;mac / Windows 看到 code_dicts/ 变了就重装方案。Linux 还没有形码,安卓提示暂不支持。
Refs #536
|
2026-10-21 13:12:10 +08:00 |
|
yenharvey
|
f77774733e
|
perf(neural): 知意选词模型优先用 Metal,权重按需从 mmap 读、词嵌入留 F16
600 条回放:Metal 每页 27~34ms、CPU 时间约 2s,CPU 单线程 94ms、29s,结果一致;CLI 峰值内存 710MB → 400MB。
没 Metal 退回 CPU 时 mac 壳把 candle 线程池限到 2:它每步算完先空转,四线程打字时进程冲到 170%。
|
2026-10-21 11:48:09 +08:00 |
|
jubeater
|
3b5828462e
|
feat(linux): 中英切换键与默认英文模式可配置 (#730)
Linux Server 读 [shortcut] switch_mode、[general] default_english 与 english_mode,设置程序在 Linux 上显示切换键与默认英文模式;Fcitx5 / Fcitx4 把 Ctrl 报成 VK 0x11 以认单击 Ctrl。
Closes #703
|
2026-10-21 11:23:47 +08:00 |
|
yenharvey
|
f40ad4d08e
|
fix(macos): 选词模型也读应用里光标前的文字,打分日志记前文来源与长度
原来只有接了整句模型或开了自动空格才读应用前文,只接知意时拿到的是会话历史;读的长度也从 64 加到 192(知意英文要 192)。
日志只记来源与字数,不记内容。
|
2026-10-21 10:33:05 +08:00 |
|
yenharvey
|
491e32cd2f
|
feat(core): 试验知意选词模型接进引擎与 mac 壳
停顿后把候选窗前 18 条里盖住整段输入的送去后台打分,分回来按知意的规则重排(模型分 + 二元 LM + 位置先验 1.0);
mac 壳在用户目录有 models/zhiyi/ 时加载它、不再加载含章,跟随本地模型开关。
|
2026-10-21 10:23:56 +08:00 |
|
yenharvey
|
3b1e41230f
|
Merge branch 'main' into experiment/zhiyi-engine
|
2026-10-21 10:15:15 +08:00 |
|
yenharvey
|
b2f0052a4c
|
fix(windows): 切到英语键盘布局时收起悬浮状态条
原来监听的 ITfActiveLanguageProfileNotifySink 只报文字服务,跨语言切到纯键盘布局(ENG)时不来,状态条一直留着。
改用 ITfInputProcessorProfileActivationSink,别的输入法或键盘布局被激活都发 ImeSwitched。
Closes #722
|
2026-10-21 10:05:10 +08:00 |
|
wustghj
|
65311578eb
|
fix(windows): 修复搜索栏候选窗被遮挡 (#735)
搜索页在候选窗创建后弹出会排到它前面;每次显示候选都用 SetWindowPos(HWND_TOPMOST) 重新升到置顶序列首位,不抢焦点。
|
2026-10-21 09:42:15 +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 |
|
bfxh
|
141c231b44
|
ci: 加 shellcheck 门禁,并给 shell 脚本钉死 LF (#737)
CI 此前只对 4 个 Linux 脚本做 bash -n;shellcheck 只报 warning 及以上。.gitattributes 让 *.sh 始终以 LF 检出,避免 CRLF 让 shebang 失效。
|
2026-10-21 09:29:48 +08:00 |
|