A macOS menubar speech-to-text app with a built-in keyboard-driven launcher. Hold a hotkey to record, release to transcribe and type the result into the active app — or use the Alfred/Raycast-style launcher to search apps, files, clipboard history, and more.
- Speech-to-Text — Offline-first with multiple backends: FunASR (Chinese ONNX), Apple Speech (built-in), MLX-Whisper (99 languages, Apple Silicon GPU), and remote Whisper API
- AI Enhancement — LLM-powered proofreading, translation, and custom chain modes via any OpenAI-compatible API, with vocabulary retrieval and conversation history for better accuracy
- Clipboard Enhance — AI-enhance selected text in any app with a hotkey
- Launcher — Alfred/Raycast-style search panel for apps, files, clipboard history, bookmarks, and snippets
- Scripting — Python-based automation with leader keys, global hotkeys, timers, and pasteboard access
- Lightweight — Menubar-only app with full dark mode support
Download WenZi.app from the Releases page, drag to /Applications, and launch.
Lite Edition: A minimal build without large local ASR dependencies — much smaller download, ideal for users who primarily need the launcher and only occasional voice input via remote API.
First launch: macOS will block unsigned apps. Go to System Settings → Privacy & Security and click Open Anyway.
git clone https://github.com/Airead/WenZi && cd WenZi
uv sync
./scripts/build.sh # Build WenZi.app (output in dist/)
# or: ./scripts/build-dmg.sh # Build DMG installergit clone https://github.com/Airead/WenZi && cd WenZi
uv sync
uv run python -m wenzi- macOS (Apple Silicon recommended for MLX-Whisper)
- Build/dev: Python 3.13+ and uv
The default FunASR backend downloads models (~500 MB) on first use. The menubar icon shows progress (DL X%).
On first launch the app will prompt for Microphone, Accessibility, and optionally Speech Recognition (Apple Speech backend only).
| Guide | Description |
|---|---|
| User Guide | Start here — progressive guide from first launch to advanced usage |
| Configuration | Full config reference and environment variables |
| Provider & Model Setup | Step-by-step ASR and LLM provider setup |
| AI Enhancement Modes | Customize and create enhancement modes |
| Enhancement Mode Examples | Ready-to-use mode templates |
| Prompt Optimization | Systematic prompt improvement workflow |
| Conversation History | How conversation history improves accuracy |
| Error Correction | How the five-layer correction system works |
| Scripting API | Leader keys, hotkeys, and automation APIs |
uv run pytestMIT
