All work · Open source

Zero

A local voice assistant with a wake word, speech, tool access and memory, running on your own machine.

Open source · Worldwide

Client
Open source
Region
Worldwide
Status
Open source
Delivery
Whisky 11

The problem and context

The project explores a personal voice interface to a tool-using agent, with local wake-word detection, speech processing and persistent memory. It keeps the speech loop on the user’s machine while using a configured agent for reasoning.

Who uses it

  • The developer running a personal assistant on macOS or Windows
  • Developers studying voice, tool-permission and memory integration

What was built

  • Wake word and speech-to-text on device
  • Natural voice replies
  • Windows and macOS

How it works

  1. Wake word activates listening; voice-activity detection decides when speech ends.
  2. Speech recognition transcribes the request and passes it to the agent.
  3. A tool gate allows, asks for confirmation or denies proposed actions according to their scope.
  4. The assistant streams speech replies and updates a local HUD; selected memories persist between sessions.

How the system fits together

  • Python coordinates openWakeWord, Silero VAD, faster-whisper and Kokoro speech.
  • Claude Agent SDK/Claude Code subscription access powers reasoning and tools.
  • SQLite stores memory; local HTTP/WebSocket surfaces provide the HUD.
  • Windows can use CUDA speech recognition; macOS uses its supported local CPU path.

Technology stack

  • Python
  • Claude Agent SDK
  • openWakeWord
  • faster-whisper
  • Kokoro
  • WebSocket HUD

Delivery and current status

  • Open-source repository linked for inspection.
  • Voice loop, text development mode, tool gating, memory and HUD are implemented.
  • Platform setup and startup scripts are documented for Windows and macOS.

Evidence

  • Local speech recognition and wake-word pipeline
  • Agent tools and local memory

Scope and operating limits

  • Local speech processing does not mean the reasoning model runs offline; agent calls need configured access/connectivity.
  • The custom wake model is not shipped in the repository; fresh setups use the documented default model.
  • Tool access requires deliberate permission boundaries; the assistant is not an unrestricted background operator.

← All work · Start a project