小鹤音形词典:一个用 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 变化时重新加载
  • 带缓存机制,大文件不会每次启动都重新解析

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

  1. 将词条追加到自定义词库文件
  2. 设置其词频为高
  3. 自动触发 Rime 重新部署

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

自动更新

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

平台支持

  • macOS(Apple Silicon + Intel)松鼠工具
  • Windows(x86_64)小狼毫

截图

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

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

添加自定义新词:

开源地址

项目以 Unlicense 协议开源,代码和下载都在 GitHub:

https://github.com/davelet/xiaohe-yinxing-dict

Releases 页面提供 macOS(.dmg / .zip)和 Windows(.zip)的预编译包,下载即用。

如果你也是小鹤音形用户,尤其是 Rime 用户,欢迎试用和反馈。有问题或建议可以直接提 Issue。

相关推荐
wflynn5 分钟前
MIT 团队用 GPT-6 Astra 改写小模型权重,跳过梯度训练提升指令遵循能力
ai·技术
小七-七牛开发者3 小时前
Coding Agent 推理性能优化:Decode、KV Cache 与多 Session 调度
ai·agent·kvcache·ai coding·speculativedecoding
GISer_Jing4 小时前
SuperAgent
ai·langchain
YYYing.4 小时前
【Agent系列 (十一) 】上下文工程
人工智能·python·ai·agent·上下文工程
最强小杰6 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
七夜zippoe7 小时前
Agent 错误处理体系:分类、重试、降级与熔断设计
ai·agent·降级·错误处理·熔断设计
unconditional7 小时前
我拆了 sdkm 的自定义 SDK 机制:所谓“内置”,就是官方提前帮你填好的表
rust·开源
VIP_CQCRE7 小时前
内容自动化越跑越乱?先补上状态、去重和失败恢复
python·ai·工作流·幂等设计·内容自动化
GJGCY8 小时前
券商舆情智能体如何设计?事件聚类去重、主体消歧与风险事件抽取技术解析
经验分享·ai·金融·自动化·证券·智能体
whyutianict_vv8 小时前
零基础转 AI 运维:投入清单、技术路线与核对表
linux·运维·人工智能·ai