arrow_backRetour aux issues
mbailey/voicemode
#485
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Always-on hands-free voice — wake-word activation + ambient listen ("Hey Claude")
ecoDébutant
enhancement
help wanted
descriptionDescription
## North star
Just call your assistant by name and start talking — no keyboard or screen needed. Pop in your wireless headphones, connect a wireless speaker, or just use your computer's mic, and Claude is simply there by voice, like a colleague in the room. Say "Hey Claude" (or whatever you've named your assistant), speak, hear the answer, carry on.
This is an umbrella / north-star issue. It **consolidates three existing requests** that are all facets of the same dream:
- **#58 — Listening for a wake word** (@shenzo1): wake-word gating so VoiceMode is always listening but only acts when called.
- **#457 — Ambient always-on mode** (@DaemonNZ): a continuous VAD-gated listen/respond loop that runs in the background instead of per-`converse`.
- **#210 — Trigger word for end-of-speech / "walkie-talkie mode"** (@evbrandy): an explicit spoken end-marker ("over") for noisy environments where silence-VAD struggles.
Those three are being closed and folded in here so there's a single place to track the vision — thank you all for the original write-ups; the detail is carried forward below.
## Building blocks
**1. Wake-word activation ("Hey Claude").** A lightweight always-on wake-word detector (e.g. openWakeWord / Porcupine) gates the heavier STT pipeline — the mic is always open, but transcription and the agent only fire after the wake word. Configurable phrase, so you can name your assistant. (from #58)
**2. Ambient continuous-listen loop.** A VAD-gated (Silero) capture loop that runs in the background, independent of an explicit `converse` call; on end-of-utterance it transcribes and injects into the Claude Code session. Needs a state machine with mic gating so the assistant doesn't hear itself or barge over its own TTS. (from #457)
**3. Explicit end-of-speech trigger word ("over").** For noisy environments (street, café, outdoors), an optional spoken end-marker that ends recording immediately and is stripped from the transcript — robustness for when silence detection can't be trusted. (from #210)
## How this connects to what just shipped
The **control channel** (VM-1676 — on master, ships next release) is the deterministic-trigger foundation: a Stream Deck button, a media key, a **spoken keyword**, or any local process can pause / resume / stop in-flight TTS without going through the agent. That spoken-keyword path is the same machinery a wake/trigger word rides on.
**Next up is skip forward / back over that same channel, which gives true barge-in** — the missing piece that makes a continuous conversation feel natural (interrupt the assistant mid-sentence and it just keeps up).
Rough order: control channel (done) → skip / barge-in → wake-word + ambient loop = "Hey Claude" always-on.
## Help wanted
This is a big, high-value feature and a great place for community contribution — several building blocks (wake-word detection, the ambient state machine) are well-trodden ground with solid open-source libraries. A few people have already prototyped pieces of this; if that's you, please chime in here.
Issues similaires
calkit/calkit
star53
Poids du dépôt moyen
VS Code extension should be robust to YAML parser errors
Seeing this error: ``` Failed to read calkit.yaml: YAMLParseError: A block sequence may not be used as an implicit map…
Python
bug
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: a manual Refresh control
The dashboard polls: `refreshStats()` (`src/doberman/dash/app.py:408`) every 5 s and `refreshPending()` (`:546`) every …
Python
enhancement
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: "Copy details" button on each pending-approval card
Each pending-approval card in the dashboard (`renderPending`, `src/doberman/dash/app.py:448-544`) shows the risk badge,…
Python
enhancement
good first issue