rimind 是专为 Linux 平台 fcitx5-rime/ibus-rime 打造的大模型实时联想 Lua 插件,解决原生 Rime 仅靠静态词库、长句 / 创意文本联想能力薄弱的痛点。

不同于内置.gram离线语法模型, rimind 接入云端 / 本地大语言模型,分为忠实预测、自由指令联想两类候选,输入拼音后一键触发 AI 生成短句、诗词、翻译、创意文案。

核心架构做了进程隔离:将网络 LLM 请求剥离为独立后台守护进程,彻底规避 librime 单线程阻塞卡顿问题,全程不干扰原生打字流畅度,适配朙月、雾凇等绝大多数 Rime 拼音方案。

双联想候选机制

插件会在候选栏固定占用倒数第 8 、 9 两位,两种模式分工明确:

  1. 🎯 忠实预测(第 9 位) 严格贴合已输入拼音读音,优先匹配常规词组、完整短句,适合日常办公、聊天正文,不产生偏离原意的无关内容。
  2. 自由联想(第 8 位,特色功能) 支持两大使用场景:
  • 创意补全:根据拼音续写诗句、文案、成语、短句;
  • 指令模式:整串拼音直接当作自然语言指令下发给 LLM ,无需切换翻译软件。

无阻塞异步架构

librime 是单线程、非线程安全引擎,直接同步调用 LLM 网络接口会造成打字卡死, rimind 采用共享内存文件 IPC 分离架构

  1. Rime Lua 前端(同步纳秒级) 仅读写/dev/shm共享临时文件,读取当前输入拼音,不会发起网络请求,绝不阻塞输入;
  2. 独立 Python Daemon 后台进程(异步网络) 常驻系统服务,监听文件变化、防抖节流,并行发起两路 LLM 请求;
  3. 触发刷新逻辑: 后台提前预加载 AI 结果,按下默认快捷键F2, Rime 重新渲染候选, AI 联想词条瞬间展示;无输入时按 F2 不会拦截系统按键。

进程通信流程:

用户打字 → Rime Lua 写入拼音临时文件
↓ 内存文件 IPC 隔离
rimind 后台服务防抖并发调用 LLM
↓ 结果写入共享缓存
按 F2 → Rime 读取 AI 候选并展示在栏末

完整兼容 LLM

支持所有遵循 OpenAI SDK 标准的 API 接口,云端、本地模型全覆盖:

  • 云端: OpenAI 、 DeepSeek 、 Gemini 、 Claude 系列轻量高速模型(推荐 flash/haiku 低延迟版本);
  • 本地离线: Ollama 、 vLLM 本地推理服务,输入完全不出本机,隐私敏感用户首选。 底层强制开启function calling结构化输出, AI 返回文本严格拆分短句,候选干净无多余注释;不支持工具调用的模型会自动降级纯文本解析,无需修改配置。

部署与使用

1. 前置依赖

  • Linux 系统 + fcitx5-rime /ibus-rime ;
  • 系统预装 Python ≥3.11 ;
  • librime-lua 插件(发行版包自带);
  • 可用 LLM API 密钥 / 本地推理服务。

2. 一键自动部署

git clone https://github.com/69gg/rimind
cd rimind
# 复制并填写 API 、模型配置
cp config.toml.example config.toml
$EDITOR config.toml
# 自动完成环境、插件、系统服务安装
./deploy.sh

部署脚本自动完成:

  1. 创建 Python 虚拟环境,安装依赖不污染系统;
  2. 注入 Lua 过滤器到指定 Rime 方案;
  3. 注册 systemd 用户后台服务并自动启动;
  4. 自动执行 Rime 重新部署。

自定义部署参数示例

# 挂载朙月+雾凇两套方案,修改刷新键为反引号
./deploy.sh --schemas luna_pinyin,rime_ice --refresh-key grave

3. 日常基础操作

  • 触发联想:输入拼音后按F2
  • 临时全局停用:make disable,恢复make enable
  • 查看实时 LLM 请求日志:make logs
  • 重启后台服务:make redeploy
  • 完整卸载(保留密钥配置):./uninstall.sh

六、配置文件核心参数( config.toml )

  1. [llm]:接口地址、 API 密钥、模型名称、超时时间,可单独调整两路联想温度;
  2. [trigger]:输入最短字符、防抖等待毫秒,控制调用频率,避免频繁扣费;
  3. force_tool_call:强制结构化输出,模型不支持则自动降级。 刷新快捷键由部署参数指定,修改后需重新执行deploy.sh生效。