← All work

AssistKey: talk to Home Assistant from your PC

A small Windows tray app for Assist, the voice assistant in Home Assistant. Hold a hotkey, speak and let go: a popup shows your words and the reply as it streams in, and the reply is spoken aloud. The microphone only opens while you hold the key. Free and open source under the MIT licence.

Status
v1.0.1, released August 2026
Platform
Windows 10 and 11, one .exe, no install
Stack
Python, asyncio, Home Assistant WebSocket API
Source
Open source on GitHub
AssistKey popup
Hold the key and speak: your words, then the streamed reply.

What it does

Push-to-talk on any key

Hold to talk, or tap once to start and once to stop, on a hotkey you choose. Works with any Assist setup: local speech recognition, a cloud service or an AI conversation agent.

Replies you can read and hear

Popups slide up on the monitor your cursor is on: Listening, then your recognised words, then the reply as it streams in, played through the speaker you pick.

Interrupt any time

Press the hotkey, click the popup or choose Stop in the tray while the assistant is talking, and it stops. With follow-up turned on, the app keeps listening when the assistant asks you a question.

Optional wake word

Off by default. Turn it on and a local openWakeWord model listens for "Hey Jarvis" or one of the other supported words, so you can talk hands-free.

Your token stays encrypted

The Home Assistant access token is encrypted at rest with Windows DPAPI, tied to your user account, and it is never written to the log.

Status at a glance

The tray icon is grey when connected, green while it works and red when Home Assistant can't be reached. A live level meter, an optional mic boost of up to 30 dB and a hum filter help with quiet microphones.

Relevant if you're looking for…

AssistKey is free and open source on GitHub, and it covers these needs for Home Assistant users on Windows.

  • A Home Assistant desktop app for Windows: AssistKey is a small tray app for Windows 10 and 11 that ships as one .exe, with no install and no Python needed.
  • Push to talk for Home Assistant: hold a hotkey you choose, speak and let go, and the microphone is only open while you hold the key.
  • Home Assistant voice control from your PC: it works with any Assist setup, whether local speech recognition, a cloud service or an AI conversation agent, and the reply is shown in a popup and read aloud.
  • A Home Assistant Windows app on GitHub: AssistKey is free under the MIT licence, with source and downloads at github.com/Defcons/assistkey.

We build this for clients: Custom software and internal tools

How it works

  1. 01

    Hold

    Press and hold the hotkey, and the microphone opens.

  2. 02

    Speak

    Your voice streams to Home Assistant at 16 kHz while you talk.

  3. 03

    Release

    Home Assistant turns your speech into text and runs your assistant.

  4. 04

    Hear

    The reply streams into the popup and is read aloud.

How it's built

AssistKey is a Python app with four threads: the interface, an asyncio connection to the Home Assistant WebSocket API, the global hotkey listener and the tray menu. Nothing is installed inside Home Assistant, so it works with any installation type. It ships as a single .exe built with PyInstaller, so no Python install is needed.

Much of the work went into what happens when things go wrong. The app reconnects after every dropped connection, detects a muted or switched-off microphone by its sound level, and says plainly when a token has been revoked. Watchdogs make sure a popup always goes away. Errors from every thread go to a rotating log, and "Report an issue" opens a GitHub draft with addresses, paths and tokens scrubbed out, for you to check before you submit it.

Engineering highlights

  • Automated tests and lint run on Windows in GitHub Actions
  • Start at login per user, with no admin rights needed
  • Single instance: launching again cleanly replaces the running copy
  • Popup animation measured at a steady 60 frames per second
  • Settings apply immediately, with no restart
  • MIT licence; source and downloads on GitHub

Questions

How do I talk to Home Assistant from a Windows PC?

Download AssistKey from GitHub, run the .exe and connect it to Home Assistant with an access token. Then hold the hotkey, speak and let go.

Do I need to install anything in Home Assistant?

No. AssistKey talks to the Home Assistant WebSocket API, so it works with any installation type, and your access token is stored encrypted with Windows DPAPI.

Can Agentas build custom Windows software for us?

Yes. AssistKey shows how we like to build desktop software: small tools that fit into Windows, keep secrets safe and recover on their own when something goes wrong.

Want something like this?

AssistKey is how we like to build desktop software: a small tool that fits into Windows, keeps secrets safe and recovers on its own when something goes wrong.

Get in touch

← All work · Software & AI for businesses