鼠鬚管(Squirrel)是 Rime 中州韻輸入法引擎 的 macOS 前端,基于 InputMethodKit 构建,适用于 macOS 13.0 及以上版本。
本仓库是上游 rime/squirrel 的分叉,在保留上游全部功能的基础上,增加一项实验性能力:LLM 候选词重排序——候选呈现给用户之前,由本地运行的轻量语言模型结合当前会话上文,在同一重排组内重新调整候选的发射顺序,同时保留系统词典权重、用户词典权重与既有候选生成逻辑。
当前为实验性开发分支:尚未发布正式安装包,LLM 重排序需要从源码构建并自行部署本地模型服务(见「安装」)。
- 上游 Squirrel / Rime 的全部功能:拼音输入、方案切换、用户词典、同步、主题定制等
- LLM 候选词重排序:
- 当前范围:仅简体中文输入方案(以
luna_pinyin为开发基准)
目前没有开箱即用的安装包,以下两步均面向开发者与早期试用者。
- 构建应用:从源码构建 Squirrel,步骤见 INSTALL.md。
- 部署重排序服务:构建并安装
llm_rerank插件(随本仓库的 librime 子模块构建),部署 daemon 与模型权重。插件安装方式见 librime-llm-rerank。
初次安装后,若在部分应用中打不出字,请注销并重新登录。
- 在系统输入法列表中选择「鼠鬚管」,通过
Ctrl+``(或F4)呼出方案菜单、切换输入方式 - LLM 重排序通过输入方案的
llm_rerank过滤器配置。下列键值与已发布插件v1.0.2的默认值一致;省略socket_path时才会用$HOME/.../llm-rerank.sock,显式值按字面使用(~不会展开)。完整协议与阻塞语义见 公共合同。
engine:
filters:
- llm_rerank
llm_rerank:
reranking_enabled: true
recording_enabled: false
evidence_enabled: false
window: 32
alpha: 0.0
sys_coeff: 1.0
usr_coeff: 1.0
gamma: 2.0
saturate_k: 3.0
deadline_ms: 200
baseline_policy_id: mean-token-lm-v1alpha 默认 0.0,语言模型项关闭;要联系 daemon 必须设为正值。其他可调项(verbose、socket_path)见公共合同。
- 候选列表由 librime 生成并完成基础排序,本仓库的 Swift 前端只负责渲染与翻页,不重排候选(CONTEXT.md)
- 重排发生在 librime 插件层(librime-llm-rerank):在候选产出后、呈现前,以本次会话上文为条件重新调整同一重排组内候选的发射顺序
- 设计规格见 issue #16;架构决策见 docs/adr/;已发布配置与协议见 公共合同
- 第一阶段(进行中):通用 LLM 候选重排——已完成插件与打包(#26),后续完善体验验收与配置收敛
- 第二阶段(规划中):语义个性化候选重排——以本地语义记忆复用用户的历史选择:保存可重放的选择事件,在语义相近而非字面相同的上文下复用既往偏好,同时严格区分零检索证据与真故障,任何故障都沿用整次原序透传。规格见 issue #43
- 个人实验路径(未启用):ADR-0004 仅放宽 #43 / ADR-0003 的首次启用效能与生产锁门槛;版本化配置见 personal-bge-experiment-v1。当前发布示例仍为
evidence_enabled: false。habit 未明确激活前不得当作线上证据。
| 仓库 | 说明 |
|---|---|
| Habit130/librime-llm-rerank | 候选重排插件源码(librime 插件,BSD-3-Clause) |
- 构建环境、依赖与发布流程:INSTALL.md
- 仓库工作约定(分支、提交规范、评审流程):AGENTS.md
- 问题与需求:本仓库 Issues;插件代码请提交到 librime-llm-rerank
本仓库基于上游 rime/squirrel(式恕堂 版權所無)分叉,沿用其 GPL v3 授权。上游的完整版权与致谢(输入方案设计、程序设计与美术贡献者、所引用的开源软件清单)见上游仓库的 README。
感谢 Rime 社区 与上游 Squirrel 的所有贡献者。