Cross-platform fork of Koe (声) — bringing voice-to-text input to Windows and Linux.
The original Koe is a macOS-native voice input tool built with Objective-C + Rust. This fork adds Koe Shell (koe-shell), a pure Rust desktop shell that replaces the macOS Objective-C layer, making Koe work on Windows (and Linux) with the same core engine.
| Upstream (missuo/koe) | This Fork | |
|---|---|---|
| Platform | macOS only (Objective-C shell) | Windows, Linux (Rust shell) |
| UI | Native macOS menu bar + overlay | System tray + Win32/X11 overlay |
| Binary | Koe.app (Xcode build) |
koe single binary (cargo build) |
| Core engine | Same koe-core Rust library |
Same koe-core Rust library |
| ASR | All providers | Cloud + sherpa-onnx (no MLX/Apple Speech) |
The key insight: koe-core (ASR, LLM, config, session management) is already pure Rust and cross-platform. Only the thin "shell" layer needed to be rewritten.
For configuration, prompts, dictionary, local models, and other features shared with upstream, see the upstream README.
Download the latest binary from GitHub Releases:
- Windows:
koe-<version>-x86_64-pc-windows-msvc.zip - Linux:
koe-<version>-x86_64-unknown-linux-gnu.tar.gz
Unzip and run koe (or koe.exe on Windows). No installation needed.
Prerequisites:
- Rust toolchain (
rustup) - Windows: Visual Studio Build Tools (for MSVC)
- Linux:
libasound2-dev libxdo-dev libxtst-dev libevdev-dev
git clone https://github.com/jeffcaiz/koe.git
cd koe
cargo build --release --package koe-shell
# Binary at: target/release/koe (or koe.exe on Windows)- Run
koe— a system tray icon appears - Press the hotkey (default: Right Alt) to start recording
- Speak — audio streams to the ASR service in real-time
- Release the hotkey — corrected text is pasted into the active input field
First-time setup is done through the Settings UI, accessible from the system tray menu.
All config lives in ~/.koe/ (or %USERPROFILE%\.koe\ on Windows), same format as the original Koe. See the upstream documentation for full config reference.
┌─────────────────────────────────────────┐
│ Koe Shell (Rust) │
│ ┌──────────┐ ┌────────┐ ┌───────────┐ │
│ │ Hotkey │ │ Audio │ │ Clipboard │ │
│ │ (rdev) │ │ (cpal) │ │ + Paste │ │
│ └────┬─────┘ └───┬────┘ └─────▲─────┘ │
│ │ │ │ │
│ ┌────▼────────────▼────────────┴─────┐ │
│ │ koe-core (Rust) │ │
│ │ ASR · LLM · Config · Sessions │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ Tray │ │ Overlay │ │ Settings│ │
│ │(tray-icon)│ │ (Win32) │ │ (axum) │ │
│ └──────────┘ └──────────┘ └─────────┘ │
└─────────────────────────────────────────┘
Releases are automated via GitHub Actions. To create a new release:
git tag v0.x.x
git push fork v0.x.xThis triggers CI to build Windows and Linux binaries and publish them as a GitHub Release.
MIT — same as upstream.