本文基于 fcitx5-vinput 2.2.2,适用于 Arch、Fedora、Ubuntu、Debian、Nix 和 Flatpak 环境。
这是什么?
fcitx5-vinput 是 Fcitx5 输入法的语音输入插件,支持本地离线识别和云端服务,还能用 LLM 对识别结果进行纠错和改写。不用联网也能用,说完话直接上屏,体验很流畅。
核心亮点:
- 完全离线可用 — 基于 sherpa-onnx,断网也能用
- Push-to-Talk — 按住说话松手就上屏,符合直觉
- 多模型可选 — 中英文、方言、多语言,小到 74MB
- LLM 后处理 — 接大模型自动纠错、排版、翻译
- 命令模式 — 选中文字,语音下指令改写
安装
Fedora(COPR)
sudo dnf copr enable xifan/fcitx5-vinput-bin
sudo dnf install fcitx5-vinput
Arch Linux(AUR)
yay -S fcitx5-vinput-bin
Ubuntu 24.04(PPA)
sudo add-apt-repository ppa:xifan233/ppa
sudo apt update
sudo apt install fcitx5-vinput
Debian / Ubuntu(手动 deb)
# 从 GitHub Releases 下载最新 .deb
sudo dpkg -i fcitx5-vinput_*.deb
sudo apt-get install -f
其他发行版(Nix、Flatpak)和手动安装方式参考官方文档。
快速开始
1. 启动服务并设置开机自启
systemctl --user enable --now vinput-daemon.service
2. 重启 Fcitx5
fcitx5 -r
3. 下载模型
打开 Vinput GUI,进入 Resources(资源)→ Models(模型),选择一个模型下载并激活。
国内用户如果下载慢,程序内置了 gh-proxy.com 和 ghfast.top 代理回退,会自动尝试。也可以手动下载模型文件放到
~/.local/share/vinput/models/目录下(详见文末)。
按键操作
默认按键在 ~/.config/fcitx5/conf/vinput.conf,所有按键均可自定义:
| 按键 | 默认值 | 操作方式 |
|---|---|---|
| 触发键 | 右 Alt |
短按:开始/停止录音;长按(>0.3s):按住说话,松手即停 |
| 命令键 | 右 Ctrl |
选中文字后按住,语音下达修改指令 |
| ASR 菜单 | F8 |
弹出菜单,运行时切换 ASR 提供商或模型 |
| 场景菜单 | 右 Shift |
弹出场景切换菜单 |
日常使用就记住一个:按住右 Alt → 说话 → 松手,文字直接上屏。
可用模型一览
全部 13 个模型,从轻量到旗舰都有。其中带「热词」标注的支持自定义热词,能提升特定词汇的识别准确率。
离线模型(推荐日常使用)
| 模型 | 语言 | 大小 | 热词 | 适用场景 |
|---|---|---|---|---|
| Paraformer Small | 中文 | 74 MB | - | 最轻量,中文语音识别入门首选 |
| Dolphin Multilingual | 多语言 | 77 MB | - | 中英等多语言,体积小 |
| Moonshine Tiny EN | 英文 | 103 MB | - | 轻量英文识别 |
| SenseVoice 五语 | 中日英韩粤 | 158 MB | - | 五门语言,识别覆盖面广 |
| SenseVoice Nano | 多语言 | 179 MB | - | 多语种方言口音覆盖更好 |
| Paraformer 中文 int8 | 中文 | 218 MB | - | 中文通用场景,量化版本 |
| Paraformer 中文 | 中文 | 223 MB | - | 中文通用场景 |
| Moonshine Base EN | 英文 | 239 MB | - | 英文离线识别大模型 |
| Zipformer 方言 | 中文 | 295 MB | ✓ | 普通话+多方言,支持热词 |
| Zipformer 中英 | 中英 | 297 MB | ✓ | 中英双语混合识别,支持热词 |
| Qwen3-ASR 0.6B | 多语言 | 827 MB | - | 旗舰级,基于 Qwen3 |
流式模型(实时识别)
| 模型 | 语言 | 大小 | 热词 |
|---|---|---|---|
| Streaming Zipformer EN | 英文 | 122 MB | ✓ |
| Streaming Zipformer ZH | 中文 | 126 MB | ✓ |
离线模型需要说完一整句才出结果;流式模型边说边出字,延迟更低。
手动安装模型(下载慢的解决办法)
国内从 GitHub Releases 下载可能很慢,可以手动操作:
1. 用 aria2 等多线程工具下载
# 例如下载 Zipformer 中英模型
aria2c -x 16 "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2"
2. 放到正确的目录
模型 ID 按 . 分割,去掉前面的 model 就是路径。例如 model.sherpa-onnx.zipformer-zh-en → sherpa-onnx/zipformer-zh-en/:
# 创建目录
mkdir -p ~/.local/share/vinput/models/sherpa-onnx/zipformer-zh-en
# 解压
tar -xjf sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2 \
-C ~/.local/share/vinput/models/sherpa-onnx/zipformer-zh-en/ \
--strip-components=1
# 写入模型描述文件(vinput-model.json,从注册表获取内容)
3. 通过命令行激活
vinput config model use model.sherpa-onnx.zipformer-zh-en
高级功能
热词(Hotword)
在 GUI 中配置热词文件,每行一个词,提升特定领域词汇(人名、地名、专业术语)的识别率。仅部分模型支持。
命令模式
- 选中要修改的文字
- 按住 右 Ctrl,说出指令:「把这段话翻译成英文」「加个句号」「改成正式语气」
- 松手,选中的文字被替换
场景(Scenes)与 LLM
可以在配置中定义不同场景,接入 LLM 对语音识别结果进行后处理:
- 原始输出(Raw)
- 自动纠错排版
- 中英翻译
- 自定义 Prompt
云端 ASR
除了离线模型,还可以接入云端 ASR 服务:
- 豆包(字节跳动)
- 阿里百炼
- ElevenLabs
- OpenAI 兼容接口
按 F8 运行时切换。
项目信息
- GitHub: xifan2333/fcitx5-vinput
- 文档: https://xifan2333.github.io/fcitx5-vinput/zh-cn/
- 许可证: GPL-3.0
- 作者: xifan2333