Skip to content

AI语音输入法。高性能、低延迟、易配置,你的数据永远在本地。

Notifications You must be signed in to change notification settings

mofa-org/mofa-input

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MoFA IME

高性能、低延迟、易配置,你的数据永远在本地。

介绍

MoFA IME 是一款 macOS 常驻语音输入器:按住热键(fn)说话,松开即本地转写,默认(可选关闭) LLM 润色,并自动写入当前输入框。

首次使用请先打开 MoFA IME 设置 下载模型(至少 1 个 ASR 模型;并推荐再下载 1 个 LLM 模型)。

特性

  • 全局热键触发:基于 CGEventTap,默认 Fn/Globe,亦支持 Cmd/Ctrl/Alt/Shift + 主键
  • 菜单栏常驻:状态图标与文字实时更新,菜单可监看 状态/识别/发送/提示
  • 输入法式悬浮窗:显示录音、转录、润色、发送等阶段;可见 ASR 预览文本。
  • 常驻悬浮球:可拖动的圆形悬浮按钮,点击展开历史窗口;可在设置中关闭。
  • 历史窗口:显示最近输入记录,支持一键复制;内置设置/退出/关闭快捷按钮。
  • 本地模型链路:目前用Whisper ASR + Qwen GGUF,支持自动选型与显式切换。
  • LLM 封装方式:通过 mofa-input 的 Rust FFI 封装接入 llama.cpp(本地 GGUF 推理)。
  • 模型管理 GUI:下载、删除、切换模型;支持热键录制与运行参数保存。
  • 文本注入多级回退:AXUIElement 失败后,自动回退至 剪贴板粘贴,再回退 Unicode 事件输入
  • 质量守护:静音检测、模板噪声句过滤、英文占比判定(英文场景不强转中文)。

原理

  1. 监听全局热键按下/抬起事件。
  2. 按下即开启录音,抬起即停止并提交音频。
  3. 先行本地 ASR 转写,得原始文本。
  4. 依配置决定发送模式:ASR 原文LLM 润色
  5. 走输入注入链路(AX -> 剪贴板粘贴 -> Unicode 事件),将结果写入焦点输入框。
  6. 发送成功的文本自动保存到历史记录(最多 50 条)。
  7. 全程以菜单栏与悬浮窗反馈状态,并持久化配置到 ~/.mofa/macos-ime.conf,模型目录为 ~/.mofa/models

后续计划:LLM 推理栈拟逐步迁移至 OminiX-MLX:https://github.com/OminiX-ai/OminiX-MLX

许可证

本项目采用 Apache License 2.0,详见 LICENSE

About

AI语音输入法。高性能、低延迟、易配置,你的数据永远在本地。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages