Skip to content

Repository files navigation

Zephyr

Zephyr is a Windows AI voice input assistant built with Tauri 2, Rust, Preact, and TypeScript.

It is not a Windows TSF input method. It is a lightweight helper tool: hold a global shortcut, speak, watch a floating preview, and release to deliver the final cloud ASR transcript into the active app.

Zephyr main interface

Zephyr focuses on a fast preview-first voice input flow. The core input path stays native/Rust-side, while the Tauri front end provides settings, history, hotword management, and visual feedback.

Features

  • Hold-to-talk global shortcut, default Ctrl+Alt+Space.
  • Volcengine bidirectional streaming ASR over WebSocket, default bigmodel_async.
  • Preview Mode: partial text appears in a non-focus-stealing floating preinput window.
  • Final text is delivered through Unicode SendInput by default, without modifying the clipboard.
  • Dynamic shortcut settings with conflict detection.
  • Recognition behavior switches for punctuation, ITN, semantic smoothing, and first-character acceleration.
  • Local history with search, edit, copy, delete, and clear.
  • Hotword and context management with optional DeepSeek-based organization.
  • Light ASCII visual settings UI with tray integration.

Platform

The current target is Windows only.

Tested development assumptions:

  • Windows 10/11
  • Rust MSVC toolchain
  • Visual Studio Build Tools or Visual Studio Community with C++ desktop workload
  • Node.js and npm

Quick Start

git clone https://github.com/zhongwater123/Zephyr.git
cd Zephyr
npm install
npm run tauri dev

For Rust-only checks:

cd src-tauri
cargo test

For production build:

npm run package:windows

The command runs the release gates, builds a current-user NSIS installer, and writes a SHA-256 release manifest next to it. See Windows test installer and upgrades.

Configuration

Open the settings drawer in the app and configure the recognition service.

Default ASR settings:

  • Endpoint: wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async
  • Resource ID: volc.bigasr.sauc.duration
  • Model: bigmodel
  • Language: zh-CN
  • Auth mode: old console App Key + Access Key by default; API Key mode is also supported.

Secrets are stored in the operating system keyring. They are not written to config.json.

See docs/configuration.md and docs/provider-volcengine.md.

Data And Privacy

Zephyr handles voice audio and recognized text. Some data is sent to external cloud services when the related feature is enabled:

  • Audio is streamed to the configured ASR provider during a voice session.
  • Final transcripts can be stored locally in history.db when history is enabled.
  • History text can be sent to DeepSeek only when the hotword agent is enabled or manually triggered.

See PRIVACY.md before using real personal or sensitive data.

Documentation

Contributing

Issues, bug reports, usability notes, and small focused pull requests are welcome.

Good first areas to help with:

  • Windows compatibility and edge-case testing across common apps.
  • Volcengine ASR protocol robustness.
  • Preview overlay latency and positioning.
  • History, hotword, and context-management UX.
  • Documentation and setup improvements.

Please avoid committing API keys, personal transcripts, local databases, generated build output, or dependency folders.

Repository Hygiene

Generated and local-only files should not be committed:

  • node_modules/
  • dist/
  • target/
  • target-check/
  • .vs/
  • sauc_go/
  • sauc_go.zip
  • .env*
  • logs and temporary files

License

MIT. See LICENSE.

About

Windows AI voice input / 中文语音输入工具 built with Rust/Tauri 2 — global hotkey, Volcengine streaming ASR, floating preview, auto-paste.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages