Skip to content

About

A voice computer for Omarchy: hold F7, talk to your desktop, it answers out loud or does it. Local models or any OpenAI-compatible endpoint.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Omarchy Voice Computer

A voice computer for Omarchy: hold a key, talk to your desktop, and it answers out loud or does what you asked. It runs on speech and chat models you choose: local servers (whisper.cpp, llama.cpp, Kokoro) or any OpenAI-compatible endpoint.

  • Talk and hear (F7). Hold F7 and talk. When you let go, the computer answers out loud. Tap F7 to stop it. The last 20 turns stay in memory (never on disk) for the next turn.
  • Desktop intents. "Pause", "next track", "volume 40", "louder" and "mute" run in about 0.15 s with no model. Anything else goes to the brain with a fixed set of tools: volume, media, timers, workspaces, focusing, moving and full-screening windows, opening apps and files, notes and file search. vcd builds every command itself, so the model never runs shell commands.
  • Confirms by voice or key, never by clicking. Moving a window or opening an app or file asks first: hold F7 and say "yes" or "no", or press SUPER + ALT + F7. Closing a window needs the key, never your voice, and the voice computer never closes a terminal.
  • Dictation (F9). Omarchy's voxtype types what you say at the cursor. Each clip goes to your STT endpoint and falls back to local Whisper while the endpoint is down. Silence and runaway text ("pppp…") are dropped.
  • Bar indicator. A mic glyph in the Omarchy bar shows the state (ready, listening, thinking, speaking, needs you, off and why). Click it for the last turns and mute. An overlay under the bar shows what was heard and answered, and never takes keyboard focus.

It is built from vcd (vc daemon, Go, a user service), the vc command the key binds and the bar use, the bar plugin (QML), an installer, and the dictation setup for voxtype.

Requirements

  • Omarchy (Hyprland with Omarchy's Lua config, ~/.config/hypr/bindings.lua) and its shell bar
  • PipeWire with its Pulse layer (parecord, pw-play), jq
  • Go 1.27 or newer (or an older Go that fetches the toolchain by itself)
  • voxtype for F9 dictation (omarchy-voxtype-install), optional
  • A backend: an OpenAI-compatible speech-to-text, chat and text-to-speech endpoint. See docs/install.md for a minimal local setup.

Install

git clone https://github.com/makefunstuff/omarchy-voice-computer
cd omarchy-voice-computer
install/install.sh

Then point ~/.config/voice-computer/config.json at your endpoints and run systemctl --user restart voice-computer. The installer backs up every file of yours it changes (as FILE.bak.voice-computer.<time>). It refuses to run if your bindings.lua already binds F7, SUPER + ALT + F7, SHIFT + F7 or SUPER + SHIFT + F7 (o.bind("F7", …)); pick other keys with VC_TALK_KEY and VC_CONFIRM_KEY. To remove it all, run install/uninstall.sh.

docs/install.md has the whole guide: backends, configuration, keys, the bar, troubleshooting and uninstalling.

Keys

Key What it does
F7 (hold) Talk; let go and the computer answers
F7 (tap) Stop the answer, or say no to an open confirm
SUPER + ALT + F7 Confirm the open confirm (the only way to confirm closing a window)
F9 (hold) Dictate: the words are typed at the cursor (Omarchy's own voxtype bind)

Privacy: what leaves the machine

Only what goes to the endpoints you configure. With local servers, nothing leaves the machine.

  • F7 turns: the recorded audio (only while F7 is held, 60 s at most) goes to the STT endpoint. The words you said go to the chat endpoint, with the standing instructions (which name this machine's hostname) and one context line: the time, the date, the focused app, the workspace, the volume and what media is playing. The answer's text goes to the TTS endpoint. Window titles and file names are never sent to the chat model: it sees neutral labels ("chromium window 2"), and vcd reads the real names out itself.
  • F9 dictation: each clip goes to the STT endpoint, or stays local while voxtype runs on local Whisper.
  • Agent replies (optional, off by default): the reply's text goes to the TTS endpoint.
  • Logs: vcd logs timings only, never words, to the user journal. There is no telemetry.

Status

This is the first public release: talk and hear, the desktop intents and dictation. As an optional integration, it can also speak what your coding agents' coordinators write to you, if you use a coordinator such as Shepherdr (agent replies). Handing work to agents by voice is planned for a later release.

License

MIT, see LICENSE.

About

A voice computer for Omarchy: hold F7, talk to your desktop, it answers out loud or does it. Local models or any OpenAI-compatible endpoint.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages