English | 中文 · Product website
typeless-ibus is a native IBus voice input method for Linux. It writes speech recognition results directly into the focused text field, including on GNOME Wayland, without clipboard injection, simulated paste, or X11.
The product focuses on one workflow: hold a key, speak, release it, and get text in the app you are already using.
- Native input method: interim results appear as preedit text and final results are committed by IBus.
- Hold to talk: hold
Fnto record and release it to stop, with toggle mode and alternative keys available. - Built for Wayland: text input uses IBus D-Bus interfaces instead of keyboard or paste simulation.
- System-native controls: change the trigger key and recording mode from the IBus input-source menu, with English and Chinese labels selected from the system locale.
- Small Rust codebase: the engine is written in Rust, with no GUI toolkit or Python runtime.
- Zero-config speech recognition: Doubao is the default provider and automatically obtains its own credentials; no account or API key is required. JSON configuration can instead select OpenAI, Groq, OpenRouter, SiliconFlow, Zhipu, ElevenLabs, Xiaomi MiMo, Alibaba Cloud Model Studio, Volcengine, or another OpenAI-compatible ASR endpoint.
- Broad Linux support: native amd64/arm64
.debbuilds cover Ubuntu 20.04–26.04 and Debian 11 Bullseye, 12 Bookworm, and 13 Trixie; native x86_64/aarch64.rpmbuilds cover Fedora 43/44 and openSUSE Tumbleweed; Arch Linux is protocol-tested; Nix covers both Linux architectures. - Automatic recovery: rejected Doubao service-discovery credentials are refreshed while the current audio is replayed.
- Optional LLM cleanup: safely polish only the final transcript through OpenAI-compatible or Anthropic APIs, skip structured and sensitive fields, and fall back to the ASR text on any error.
- Local recognition logs: daily structured logs retain final transcripts, the original ASR text processed by an enabled LLM, and available IBus app context without saving recorded audio.
- Add
typeless-ibusfrom your desktop's input-source settings. On GNOME, open Settings → Keyboard → Input Sources. - Switch to
typeless-ibusand focus any text field. - Hold
Fnand speak. - Release
Fn; the recognized text is inserted into the focused app.
Press Esc to cancel the active recording or recognition session.
The current release targets Linux distributions with IBus 1.5.22 or newer. IBus remains the only
input-method backend; integrations supplied by each distribution connect it to GTK, Qt, XIM, and
Wayland applications. The project does not ship separate frontends or Fcitx5 support. It does not
include Windows or macOS clients, selected-text rewriting, accounts, cloud quotas, cloud history
sync, or dictionary features. LLM cleanup is opt-in and disabled when llm is absent; see the
LLM provider guide and logging guide.
Detailed documentation is maintained in Chinese. Start with the documentation site for installation, usage, provider configuration, troubleshooting, architecture, and development. Release changes are recorded in the changelog.
This project is released under the MIT License.