← 开源
xifan2333

fcitx5-vinput

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

ApplicationsProductivityC++
在 GitHub 打开
增长势头
+2424 小时新增 Star+4.5%
560
Star
50
Fork
—
本周
15
贡献者
创建于 2026-03-06 · 更新于 2026-10-16 · 今日第 690 名
主要开发者
xifan2333jiesoufanzhuyifan
README

fcitx5-vinput

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

English | 中文 | Documentation

https://github.com/user-attachments/assets/5a548a68-153c-4842-bab6-926f30bb720e

Features

  • 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 from the command palette (Shift_R → /asr)
  • LLM post-processing — error correction, formatting, translation via scenes
  • Command mode — select text, speak an instruction, release to apply
  • GUI & CLI — vinput-gui for quick setup, vinput CLI for full control
  • Cross-distro — Arch, Fedora, Ubuntu/Debian, Nix, Flatpak

Installation

Arch Linux (archlinuxcn / AUR)

If you use the archlinuxcn repository, install the repo-built package:

sudo pacman -S fcitx5-vinput

The AUR binary package is also available:

# Full version (with local sherpa-onnx runtime)
yay -S fcitx5-vinput-bin

# Lite version (cloud-only, zero local ONNX runtime)
yay -S fcitx5-vinput-lite-bin

Fedora (COPR)

sudo dnf copr enable xifan/fcitx5-vinput-bin

# Full version (with local sherpa-onnx runtime)
sudo dnf install fcitx5-vinput

# Lite version (cloud-only, zero local ONNX runtime)
sudo dnf install fcitx5-vinput-lite

Ubuntu 24.04 (PPA)

sudo add-apt-repository ppa:xifan233/ppa
sudo apt update

# Full version (with local sherpa-onnx runtime)
sudo apt install fcitx5-vinput

# Lite version (cloud-only, zero local ONNX runtime)
sudo apt install fcitx5-vinput-lite

Ubuntu / Debian (manual)

# Download latest .deb from GitHub Releases
# Full version (with local sherpa-onnx runtime):
sudo dpkg -i fcitx5-vinput_*.deb
sudo apt-get install -f

# Lite version (cloud-only, zero local ONNX runtime):
sudo dpkg -i fcitx5-vinput-lite_*.deb
sudo apt-get install -f

Nix (flake)

Supports x86_64-linux and aarch64-linux. Both full and lite packages are cached on Cachix.

inputs.fcitx5-vinput.url = "github:xifan2333/fcitx5-vinput";

# Full version (default):
#   inputs.fcitx5-vinput.packages.${system}.default
# Lite version (cloud-only, zero local ONNX runtime):
#   inputs.fcitx5-vinput.packages.${system}.fcitx5-vinput-lite

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

flatpak remote-add --if-not-exists xifan https://xifan2333.github.io/flatpak-auto/xifan.flatpakrepo

# Full version (with local sherpa-onnx runtime)
flatpak install https://xifan2333.github.io/flatpak-auto/refs/org.fcitx.Fcitx5.Addon.Vinput.flatpakref

# Lite version (cloud-only, zero local ONNX runtime)
flatpak install https://xifan2333.github.io/flatpak-auto/refs/org.fcitx.Fcitx5.Addon.Vinput.Lite.flatpakref

After installation, grant the extra permissions and restart Fcitx5:

flatpak override --user --filesystem=xdg-run/pipewire-0 org.fcitx.Fcitx5
flatpak override --user --filesystem=xdg-config/systemd:create org.fcitx.Fcitx5
flatpak override --user --filesystem=xdg-cache org.fcitx.Fcitx5
flatpak kill org.fcitx.Fcitx5

GitHub Releases

Download the package for your system from GitHub Releases (both full and lite variants are provided):

  • Debian / Linux Mint / Ubuntu (other): .deb (fcitx5-vinput_*.deb / fcitx5-vinput-lite_*.deb)
  • openSUSE / Fedora (other): .rpm (fcitx5-vinput-*.rpm / fcitx5-vinput-lite-*.rpm)
  • Arch-based: .pkg.tar.zst (fcitx5-vinput-*.pkg.tar.zst / fcitx5-vinput-lite-*.pkg.tar.zst)
  • Flatpak: .flatpak (fcitx5-vinput.flatpak / fcitx5-vinput-lite.flatpak)
  • Generic Linux: tar.gz (*_bundled.tar.gz / fcitx5-vinput-lite-*.tar.gz)

Build from source

Dependencies: cmake, fcitx5, pipewire, libcurl, nlohmann-json, CLI11, Qt6

# Full version (with local sherpa-onnx ASR runtime)
sudo bash scripts/build-sherpa-onnx.sh
cmake --preset release-clang-mold
cmake --build --preset release-clang-mold
sudo cmake --install build

# Lite version (pure cloud ASR + LLM, zero sherpa-onnx dependency)
cmake --preset release-clang-mold -DVINPUT_ENABLE_LOCAL_ASR=OFF
cmake --build --preset release-clang-mold
sudo cmake --install build

Quick start

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

Open Vinput GUI → Resources → Models → download and activate a model. Then:

  • Tap Alt_R — start/stop recording
  • Hold Alt_R — push-to-talk

Key bindings

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
Command Palette Key Shift_R Open unified command palette (/model, /asr, /scene, /proc)

All keys can be customized in Fcitx5 configuration.

Documentation

For ASR configuration, scenes & LLM setup, CLI reference, and registry contribution guide, see the documentation site.

License

GPL-3.0

Contributors

Sponsor

If this project has been helpful to you, feel free to support it.

排名相邻
同类项目