openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Voice Wake Say TTS Responses (Native)

Speak responses aloud on macOS using the built-in `say` command when user input indicates Voice Wake/voice recognition (for example, messages starting with "User talked via voice recognition on <device>").

通信与消息

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v0.1.0

统计:⭐ 1 · 2.1k · 9 current installs · 9 all-time installs

1

安装量(当前) 9

🛡 VirusTotal :良性 · OpenClaw :可疑

Package:clawdbot-skill-voice-wake-say

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :可疑

OpenClaw 评估

The skill's behavior (use of macOS 'say' for local TTS) matches its stated purpose, but there are small but important inconsistencies (missing declared OS/binary requirements and undeclared env vars) that should be addressed before trustfully installing.

目的

The skill's stated purpose (speaking responses on macOS using the built-in 'say' command) aligns with the runtime instructions. However, the metadata does not declare an OS restriction or list 'say' as a required binary — a mismatch: the skill will only work on macOS with the 'say' binary present.

说明范围

The SKILL.md confines actions to checking the latest message for a precise trigger phrase and running a local 'printf | say' command; it does not instruct reading unrelated files or contacting external endpoints. It does reference optional environment variables (SAY_VOICE, SAY_RATE) that are not declared in the skill metadata. The strict requirement to only check the latest message and ignore context is unusual but not inherently malicious.

安装机制

Instruction-only skill with no install steps and no code files — low installation risk (nothing is written to disk).

证书

The skill declares no required environment variables or credentials (appropriate for a local TTS helper). It nonetheless references optional env names (SAY_VOICE, SAY_RATE) in SKILL.md that are not declared; this is an inconsistency to be corrected but not by itself suspicious.

持久

always is false and there is no install-time persistence or modification of other skills or system-wide configuration. Model invocation is allowed (normal); the skill can be called autonomously, but its trigger is narrowly scoped to a user message prefix.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Voice Wake Say TTS Responses (Native)」。简介:Speak responses aloud on macOS using the built-in `say` command when user input…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/xadenryan/clawdbot-skill-voice-wake-say/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: voice-wake-say
description: Speak responses aloud on macOS using the built-in `say` command when user input indicates Voice Wake/voice recognition (for example, messages starting with "User talked via voice recognition on <device>").
---

# 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 on m3`
- **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 on m3`
- 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.