diff --git a/CHANGELOG.md b/CHANGELOG.md index 88f6ad9e7..26b21ddd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ First Clawdis release post rebrand. This is a semver-major because we dropped le ### macOS companion app - **Clawdis.app menu bar companion**: packaged, signed bundle with gateway start/stop, launchd toggle, project-root and pnpm/node auto-resolution, live log shortcut, restart button, and status/recipient table plus badges/dimming for attention and paused states. -- **On-device Voice Wake**: Apple speech recognizer with wake-word table, language picker, live mic meter, “hold until silence,” animated ears/legs, and an SSH forwarder + test harness that runs `clawdis-mac agent --message …` on your target machine and surfaces errors clearly. +- **On-device Voice Wake**: Apple speech recognizer with wake-word table, language picker, live mic meter, “hold until silence,” animated ears/legs, and main-session routing that replies on the **last used surface** (WhatsApp/Telegram/WebChat). Delivery failures are logged, and the run remains visible via WebChat/session logs. - **WebChat & Debugging**: bundled WebChat UI, Debug tab with heartbeat sliders, session-store picker, log opener (`clawlog`), gateway restart, health probes, and scrollable settings panes. ### WhatsApp & agent experience diff --git a/README.md b/README.md index 1ffb6b9bf..6486d1fb0 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ clawdis gateway --force ## macOS Companion App (Clawdis.app) -- **On-device Voice Wake:** listens for wake words (e.g. “Claude”) using Apple’s on-device speech recognizer (macOS 26+). macOS still shows the standard Speech/Mic permissions prompt, but audio stays on device. +- **On-device Voice Wake:** listens for wake words (e.g. “Claude”) using Apple’s on-device speech recognizer (macOS 26+). macOS still shows the standard Speech/Mic permissions prompt, but audio stays on device. Replies are delivered to the **last-used main surface** (WhatsApp/Telegram/WebChat); if delivery fails, you can still inspect the run in WebChat/logs. - **Push-to-talk (Right Option hold):** hold right Option to speak; the voice overlay shows live partials and sends when you release. - **Config tab:** pick the model from your local Pi model catalog (`pi-mono/packages/ai/src/models.generated.ts`), or enter a custom model ID; edit session store path and context tokens. - **Voice settings:** language + additional languages, mic picker, live level meter, trigger-word table, and a built-in test harness. diff --git a/docs/mac/voicewake.md b/docs/mac/voicewake.md index 02a752cbc..e95440c76 100644 --- a/docs/mac/voicewake.md +++ b/docs/mac/voicewake.md @@ -5,7 +5,7 @@ read_when: --- # Voice Wake & Push-to-Talk -Updated: 2025-12-08 · Owners: mac app +Updated: 2025-12-12 · Owners: mac app ## Modes - **Wake-word mode** (default): always-on Speech recognizer waits for trigger tokens (`swabbleTriggerWords`). On match it starts capture, shows the overlay with partial text, and auto-sends after silence. @@ -29,11 +29,12 @@ Updated: 2025-12-08 · Owners: mac app ## User-facing settings - **Voice Wake** toggle: enables wake-word runtime. - **Hold Cmd+Fn to talk**: enables the push-to-talk monitor. Disabled on macOS < 26. -- Language & mic pickers, live level meter, trigger-word table, tester, forward target/command all remain unchanged. +- Language & mic pickers, live level meter, trigger-word table, tester. - **Sounds**: chimes on trigger detect and on send; defaults to the macOS “Glass” system sound. You can pick any `NSSound`-loadable file (e.g. MP3/WAV/AIFF) for each event or choose **No Sound**. ## Forwarding behavior - When Voice Wake is enabled, transcripts are forwarded to the active gateway/agent (the same local vs remote mode used by the rest of the mac app). +- Replies are delivered to the **last-used main surface** (WhatsApp/Telegram/WebChat). If delivery fails, the error is logged and the run is still visible via WebChat/session logs. ## Forwarding payload - `VoiceWakeForwarder.prefixedTranscript(_:)` prepends the machine hint before sending. Shared between wake-word and push-to-talk paths.