一个用 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

开源地址

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大5 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师5 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学5 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端