一个用 Rust 写的离线编码查询桌面工具

用小鹤音形输入法快两年了,日常打字速度确实上来了,但偶尔遇到不确定的编码还是得去翻官方文档或者在线查码。在线工具有几个痛点:要联网、页面广告多、查完还得切回原来的窗口。Rime 用户还有一层需求------本地 .dict.yaml 词库文件越来越多,想加个自定义词组还得手动编辑 YAML、改 import_tables、再重新部署,流程繁琐且容易出错。

于是我想:能不能做一个本地离线的小工具,打开就查、查完就关,顺便把 Rime 词库管理也一起解决了?

这就是「小鹤音形词典」------ 一个用 Rust + egui 构建的跨平台桌面应用。

核心功能

离线编码查询

内置 79,783 条编码数据,直接编译进二进制文件,启动即可用,不依赖任何外部数据文件或网络。覆盖小鹤音形的全部 16 个分类:一级简码、二重简码、三码填空、四码全码(字/词)、首选字词、快符、符号、部首部件、Emoji、微信表情、网站直达、随心所欲等。

搜索引擎采用 Trie 前缀树 + 线性扫描的混合方案:输入纯字母时走编码查询(精确匹配 > 前缀匹配 > 子串匹配),输入中文时走文字反查。结果按相关度排序,最多返回 100 条,匹配片段高亮显示。查到的编码或文字一键复制,不用手动选中。

内置帮助文档

15 个章节的完整小鹤音形教程,从双拼入门到鹤形拆分规则,从字根表到简码表,全部原生渲染在应用内(不依赖 WebView)。支持全文搜索、章节间跳转、字根表/拆分示例等静态数据表格。按 F1 随时呼出,Esc 返回。

对于正在学习小鹤音形的朋友来说,相当于把官方文档、键位图、字根表全部整合到了一个窗口里,不用在浏览器标签页之间来回切。

键位图

内置小鹤音形完整键位图(WebP 格式),点击工具栏按钮即可弹出查看,点击其他区域自动关闭。背键位的时候随手就能调出来对照。

Rime 词库管理

这是我觉得最实用的功能。应用会自动扫描本机的 Rime 目录,列出所有 .dict.yaml 和 .txt 词库文件,支持:

按文件启用/禁用,实时搜索外部词库内容

按文字或编码排序,一键复制

文件变更自动检测,mtime 变化时重新加载

带缓存机制,大文件不会每次启动都重新解析

更关键的是「添加新词」功能:输入文字和编码后,应用会自动完成以下全部步骤:

将词条追加到自定义词库文件

设置其词频为高

自动触发 Rime 重新部署

以前手动改 YAML 容易漏步骤或者格式写错导致部署失败,现在全部自动化了。

自动更新

启动时静默检查 GitHub Releases,发现新版本后后台下载,SHA256 校验完整性,然后按平台执行安装:macOS 替换 .app 并去除 quarantine 属性,Windows 通过独立的 updater.exe 等待进程退出后替换重启。下载过程有进度条和耗时显示,支持取消和失败重试,也支持走系统代理。

平台支持

macOS(Apple Silicon + Intel)松鼠工具

Windows(x86_64)小狼毫

截图

搜索结果,绿色突出显示:

image

帮助文档,关键字突出显示:

image

添加自定义新词:

image

开源地址

相关推荐
why技术7 小时前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码8 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep8 小时前
又一个华为天才少年,离职了!
前端·后端·程序员
kyriewen8 小时前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试
IT_陈寒9 小时前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端
hunterandroid10 小时前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端
lichenyang45310 小时前
从一次团队邀请开始:用 React、NestJS 与 Socket.IO 做可靠的实时通知
前端
vtian10 小时前
一篇文章吃透 Monorepo:pnpm + Turborepo + Changesets 全流程实战(含 8 个踩坑)
前端
默_笙10 小时前
❗ 点击计数按钮,为什么"峨眉队"也跟着重新渲染?React.memo 说:我记住了
前端·javascript
315356691311 小时前
DeepSeek Harness 发布后,我没急着跑 Demo,先把 `.agents/` 翻了一遍
前端·后端·github