Voice input for Fcitx5 — local and cloud ASR, LLM rewriting, cross-distro packages
English | 中文 | Documentation
demo.mp4
- Two trigger modes — tap to toggle recording, or hold to push-to-talk
- Local & cloud ASR — offline sherpa-onnx models or cloud providers (Doubao, Aliyun Bailian, ElevenLabs, OpenAI-compatible), switchable at runtime with
F8 - LLM post-processing — error correction, formatting, translation via scenes
- Command mode — select text, speak an instruction, release to apply
- GUI & CLI —
vinput-guifor quick setup,vinputCLI for full control - Cross-distro — Arch, Fedora, Ubuntu/Debian, Nix, Flatpak
yay -S fcitx5-vinput-binsudo dnf copr enable xifan/fcitx5-vinput-bin
sudo dnf install fcitx5-vinputsudo add-apt-repository ppa:xifan233/ppa
sudo apt update
sudo apt install fcitx5-vinput# Download latest .deb from GitHub Releases
sudo dpkg -i fcitx5-vinput_*.deb
sudo apt-get install -fSupports x86_64-linux and aarch64-linux.
inputs.fcitx5-vinput.url = "github:xifan2333/fcitx5-vinput";Binary cache via Cachix:
nixConfig = {
extra-substituters = [ "https://fcitx5-vinput.cachix.org" ];
extra-trusted-public-keys = [ "fcitx5-vinput.cachix.org-1:XpX3AA6+dDIX4qJhb1QM7sbTwX6/qSlGvW8Z5NK6XdU=" ];
};Full Home Manager example in the install docs.
flatpak remote-add --if-not-exists xifan https://xifan2333.github.io/flatpak-auto/xifan.flatpakrepo
flatpak install https://xifan2333.github.io/flatpak-auto/refs/org.fcitx.Fcitx5.Addon.Vinput.flatpakrefDownload the package for your system from GitHub Releases:
- Debian / Linux Mint / Ubuntu (other):
.deb - openSUSE / Fedora (other):
.rpm - Arch-based:
.pkg.tar.zst - Flatpak:
.flatpak - Generic Linux:
_bundled.tar.gz
Dependencies: cmake, fcitx5, pipewire, libcurl, nlohmann-json, CLI11, Qt6
sudo bash scripts/build-sherpa-onnx.sh
cmake --preset release-clang-mold
cmake --build --preset release-clang-mold
sudo cmake --install buildsystemctl --user enable --now vinput-daemon.service
fcitx5 -rOpen Vinput GUI → Resources → Models → download and activate a model. Then:
- Tap
Alt_R— start/stop recording - Hold
Alt_R— push-to-talk
| Key | Default | Function |
|---|---|---|
| Trigger Key | Alt_R |
Tap to toggle recording; hold to push-to-talk |
| Command Key | Control_R |
Hold after selecting text to modify with voice |
| ASR Menu Key | F8 |
Open ASR provider / model switcher |
| Scene Menu Key | Shift_R |
Open scene switcher |
All keys can be customized in Fcitx5 configuration.
For ASR configuration, scenes & LLM setup, CLI reference, and registry contribution guide, see the documentation site.
If this project has been helpful to you, feel free to support it.
