xifan2333/fcitx5-vinput

Voice input for Fcitx5 — local and cloud ASR, LLM rewriting, cross-distro packages

fcitx5-vinput 为 Fcitx5 输入法框架(许多 Linux 桌面环境中处理打字的软件)添加了语音输入功能。您无需打字,只需说话,插件就会将您的语音转换为文本,插入到光标所在位置——或修改您已选中的文本。

功能

语音转文字,两种选择

  • 本地 / 离线:使用内置的 sherpa-onnx 语音识别模型,无需互联网连接。
  • 云端:连接云端语音服务(豆包、阿里云百炼、ElevenLabs 或任何兼容 OpenAI 的提供商)。

您可以通过命令面板(Shift_R 然后 /asr)随时在本地和云端之间切换。

基于 LLM 的智能后处理

将语音转换为文本后,它可以将转录文本传递给大型语言模型,以:

  • 修复识别错误
  • 重新格式化文本
  • 翻译文本

这些行为被配置为场景(针对不同情况的预定义流程,例如“写一封电子邮件”或“翻译这段文字”)。

命令模式——通过语音控制

选择任意文本,按住命令键(Control_R),说出指令(如“让这更正式”),然后松开——LLM 会执行您的指令并替换所选内容。这使其成为一个免提编辑快捷方式。

两种触发录音的方式

  • 点按触发键(Alt_R)开始/停止录音。
  • 按住触发键进行按住说话(仅在按住时录音)。

GUI 和 CLI

  • vinput-gui — 图形化设置向导(下载模型、配置提供商)。
  • vinput — 命令行界面,可完全控制所有选项。

按键绑定(均可在 Fcitx5 配置中自定义)

按键 默认值 功能
触发键 Alt_R 点按 = 切换录音;按住 = 按住说话
命令键 Control_R 选中文本后按住,通过语音修改
命令面板键 Shift_R 打开统一命令面板(/model、/asr、/scene、/proc)

如何获取

有两种软件包变体:

  • 完整版 — 包含本地 sherpa-onnx 语音引擎(可完全离线工作)
  • 精简版 — 仅云端,无本地语音引擎(占用更小)

该项目为大多数主流 Linux 发行版和打包系统提供预构建软件包:

  • Arch Linux(通过 archlinuxcn 仓库或 AUR)
  • Fedora(通过 COPR)
  • Ubuntu 24.04(通过 PPA)
  • Ubuntu/Debian(手动下载 .deb)
  • Nix(flake,带 Cachix 二进制缓存)
  • Flatpak
  • openSUSE/Fedora(.rpm)
  • 通用 Linux(.tar.gz)

您也可以从源码构建(需要 cmake、fcitx5、pipewire、libcurl、CLI11、Qt6)。

快速开始

systemctl --user enable --now vinput-daemon.service
fcitx5 -r

然后打开 Vinput GUI → 资源 → 模型,下载并激活一个模型。之后,点按或按住 Alt_R 即可开始语音输入。

更多详情

  • 完整文档(ASR 设置、场景与 LLM 配置、CLI 参考、贡献模型注册表)位于文档站点。
  • 许可证:GPL-3.0
  • README 还列出了贡献者和赞助页面。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目