Analysis updated 2026-05-18
Ask spoken questions and get a Claude generated answer read back to you.
Run a hands free voice assistant on a Mac without sending audio to the cloud.
Build a menu bar app version with a status icon that shows listening, thinking, or speaking.
Enable an animated avatar or Rive rig that moves its mouth while the assistant talks.
| ralbuque/pynkaro | chussum/mobius | jaywcjlove/dock-lift | |
|---|---|---|---|
| Stars | 42 | 41 | 41 |
| Language | Swift | Swift | Swift |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 1/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Needs an Anthropic API key and the Portuguese Brazil dictation language downloaded for fully on-device transcription.
Pynkaro is a command line prototype of a local voice assistant for macOS. It listens through your microphone, and when it hears the wake word Pincaro it captures your question, transcribes it, sends the text to Claude through the Anthropic API, and speaks the answer back to you. Privacy is a central design point. Wake word detection and transcription run on the Mac itself using Apple's Speech framework, so no audio leaves the computer as long as the Portuguese Brazil dictation language is downloaded in System Settings. The spoken reply is also generated locally with AVSpeechSynthesizer by default. The only thing that travels over the network is the text of your question, sent to api.anthropic.com. To run it, you need macOS 13 or later, Xcode or the Command Line Tools, and an Anthropic API key. You copy an example config file, fill in your API key, and either run it directly with Swift for development or build it into a real menu bar app with a bundled script. As a menu bar app it has no Dock icon, its icon changes to show whether it is listening, thinking, or speaking, and its menu lets you pause listening or quit. The first time it runs, macOS will ask for microphone and speech recognition permission. Settings are controlled through environment variables, letting you change the Claude model used, the system voice, the wake word itself, and whether web search is enabled. The app can also optionally speak with an ElevenLabs cloud voice for a more natural sound, falling back to the local system voice if that fails, and only the reply text is sent to ElevenLabs. There is optional support for an animated avatar, either simple image sprites whose mouth shape changes with the speech, or a 2D rig built in the Rive editor that receives a mouth position value. The code is organized into a handful of Swift files covering the run loop, a state machine for listening and speaking, speech recognition, the Claude API client, and text to speech output. The author lists this clearly as a prototype: it currently runs only in the terminal rather than as a proper menu bar app, wake word detection uses continuous transcription rather than a dedicated low power detector, there is no response streaming yet, and you cannot interrupt the assistant once it starts speaking.
A local macOS voice assistant that listens for a wake word, sends only your question text to Claude, and speaks the reply out loud.
Mainly Swift. The stack also includes Swift, Apple Speech, AVSpeechSynthesizer.
No license information is provided in the README.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.