Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voice Layer

Voice Layer is an experimental, local-first macOS voice assistant. It combines a native Tauri window with a user-managed local llama-server, on-device speech input and output, and persistent local chat sessions.

Voice Layer Live mode transcribes a request, reads a local file, and speaks the result.

The default Local provider sends visible conversation text only to the llama-server running on your Mac. Voice input, transcription, synthesized speech, and raw audio remain local. An optional ChatGPT provider is available through Voice Layer's native OAuth flow; selecting it explicitly sends the visible conversation for that reply to OpenAI. It is experimental and may be affected by upstream authentication or account changes. An optional OpenRouter provider lets you bring your own API key and choose a model from Voice Layer's generated allowlist; selecting it sends the visible conversation for that reply to OpenRouter under your key and the selected model's billing.

Quick start

You need macOS, Bun, Rust stable with the Tauri v2 prerequisites, and just.

  1. Install the JavaScript dependencies.

    just install
  2. Start an OpenAI-compatible llama-server on 127.0.0.1:8080 with an alias Voice Layer supports. For example:

    llama-server \
      --host 127.0.0.1 \
      --port 8080 \
      --model /absolute/path/to/model.gguf \
      --alias qwen36-27b

    Supported local aliases are glm47-flash, qwen36-27b, and gemma4-e4b. Voice Layer does not start, configure, or download the LLM server or its model.

  3. In a second terminal, launch the app.

    just dev
  4. Send a message from Chat. The first use of a selected speech model may download it after you initiate the relevant action. Grant microphone access when macOS asks if you want to use voice input or Live.

What it includes

  • Chat and Live voice conversations backed by the same locally stored session.
  • Curated local assistant, speech-to-text, and text-to-speech choices.
  • Sentence-streamed local speech for visible assistant replies.
  • A user-controlled thinking level for local assistant requests.
  • An explicit, optional ChatGPT subscription provider with native OAuth—no API key or separate coding-client account state is used.
  • An explicit, optional OpenRouter BYOK provider: you paste your own API key (stored natively, revealed only as a redacted status), select a model from a checked-in allowlist, and stream Chat and spoken Live replies through OpenRouter.

Common commands

just dev        # Run the native Tauri application
just web        # Run only the Vite frontend
just test       # Run frontend and native tests
just check      # Run build, test typecheck, Rust format check, and Rust check
just build      # Build the optimized executable without packaging
just bundle     # Build Voice Layer.app
just open       # Build and open Voice Layer.app

Source-build checks

Maintainers can validate a fresh source build locally with:

just source-check-macos
just source-check-linux

The macOS check copies the current source into a temporary directory, uses temporary Bun and Cargo caches, runs just test, just check, and just bundle, and verifies the resulting Voice Layer.app. It requires Bun, Rust, just, and Xcode Command Line Tools. Normal source builds currently require network access because the sherpa-onnx native dependency may download its matching archive.

The Linux command requires Docker Desktop or Docker Engine. It performs a fresh, no-cache build by default in a clean Debian container and runs just test, just check, and just build; set SOURCE_CHECK_LINUX_CACHED=1 only when a cached Docker build is useful. Linux defaults to the linux/amd64 Docker platform for reproducible native dependencies on Apple Silicon; override with SOURCE_CHECK_LINUX_PLATFORM when needed. Linux is compile/test coverage only: macOS is the supported application target, and this check does not validate Live mode, microphone capture, AVFoundation playback, or the complete desktop experience.

Run just to see the complete command list.

Documentation

License

Voice Layer is available under the MIT License. Downloaded models, reference audio, and other third-party components remain subject to their own terms.

About

talk to your computer

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages