voice-wake-say
当用户输入指示语音唤醒/语音识别时(例如,以“用户通过<设备>上的语音识别进行交谈”开头的消息),在 macOS 上使用内置的“say”命令大声说出响应。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~xadenryan-voice-wake-saycURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~xadenryan-voice-wake-say/file -o xadenryan-voice-wake-say.md## 概述(中文) 当用户输入指示语音唤醒/语音识别时(例如,以“用户通过<设备>上的语音识别进行交谈”开头的消息),在 macOS 上使用内置的“say”命令大声说出响应。 ## 原文 # Voice Wake Say ## Overview Use macOS `say` to read the assistant's response out loud whenever the conversation came from Voice Wake/voice recognition. Do **not** use the `tts` tool (it calls cloud providers). ## When to Use `say` (CHECK EVERY MESSAGE INDIVIDUALLY) **IF** the user message STARTS WITH: `User talked via voice recognition` - **Step 1:** Acknowledge with `say` first (so the user knows you heard them) - **Step 2:** Then perform the task - **Step 3:** Optionally speak again when done if it makes sense **IF** the user message does NOT start with that exact phrase - THEN: Do NOT use `say`. Text-only response only. **Critical:** - Check EACH message individually — context does NOT carry over - The trigger phrase must be at the VERY START of the message - For tasks that take time, acknowledge FIRST so the user knows you're working ## Workflow 1) Detect Voice Wake context - Trigger ONLY when the latest user/system message STARTS WITH `User talked via voice recognition` - If the message instructs "repeat prompt first", keep that behavior in the response. 2) Prepare spoken text - Use the final response text as the basis. - Strip markdown/code blocks; if the response is long or code-heavy, speak a short summary and mention that details are on screen. 3) Speak with `say` (local macOS TTS) ```bash printf '%s' "$SPOKEN_TEXT" | say ``` Optional controls (use only if set): ```bash printf '%s' "$SPOKEN_TEXT" | say -v "$SAY_VOICE" printf '%s' "$SPOKEN_TEXT" | say -r "$SAY_RATE" ``` ## Failure handling - If `say` is unavailable or errors, still send the text response and note that TTS failed.