voice-wake-say

🔊 macOS 本地语音播报助手

基于 macOS 原生 say 命令,在 Voice Wake 场景下自动语音播报回复,纯本地执行保障隐私安全。

收藏
1.9k
安装
662
版本
v1.0.1
CLS 安全性认证2026-07-12
点击查看完整报告 >

使用说明

核心用法

Voice Wake Say 是一个专为 macOS 设计的语音交互增强技能。当检测到用户通过 Voice Wake(语音唤醒)功能发起对话时(即消息以 "User talked via voice recognition on m3" 开头),该技能会自动调用 macOS 内置的 say 命令,将助手的文本回复转换为语音朗读。

工作流程分为三个步骤:首先,检测到语音唤醒上下文后立即使用 say 进行语音确认,让用户知道系统已接收指令;其次,执行用户请求的实际任务;最后,在任务完成时再次语音播报结果(如适用)。技能严格区分交互模式,仅在检测到特定前缀时启用语音播报,普通文本对话则保持静默。

技术实现上,技能使用 printf '%s' "$SPOKEN_TEXT" | say 命令组合,支持通过环境变量 $SAY_VOICE$SAY_RATE 自定义语音和语速。所有处理均在本地完成,不涉及云端 TTS 服务。

显著优点

隐私安全性极高:作为纯本地解决方案,Voice Wake Say 完全依赖 macOS 系统内置的语音合成引擎,无需连接互联网或上传数据到第三方云服务,从根本上杜绝了语音数据泄露风险。

响应速度快:本地 say 命令执行几乎无网络延迟,相比云端 TTS 服务能提供即时语音反馈,特别适合需要快速确认的场景。

系统集成度高:利用 macOS 原生工具,无需安装额外软件或依赖库,兼容性好且系统资源占用极低。

使用条件明确:技能有严格的触发机制,仅在明确的 Voice Wake 场景下激活,避免了不必要的语音干扰。

潜在缺点与局限性

平台限制严格say 命令为 macOS 特有功能,该技能完全不支持 Linux、Windows 或其他操作系统,跨平台适用性为零。

语音质量有限:相比云端 TTS 服务(如 Azure、AWS Polly),本地 say 命令的语音合成质量较为基础,缺乏高级情感表达和多种高品质人声选择。

功能相对简单:不支持复杂的 SSML(语音合成标记语言)控制,无法实现语调、停顿的精细调整,仅适合简单的信息播报。

环境变量依赖:技能依赖 $SPOKEN_TEXT 等环境变量传递内容,如果环境变量设置不当或包含特殊字符,可能影响播报效果。

适合的目标群体

该技能特别适合以下用户群体:

  • macOS 重度用户:日常工作流完全基于 macOS 生态系统的开发者、设计师或知识工作者。
  • 无障碍需求用户:视力障碍或阅读困难用户,需要通过听觉方式获取系统反馈。
  • 多任务处理场景:需要在专注工作(如编程、设计)时通过语音获取信息,避免频繁切换视觉焦点的用户。
  • 隐私敏感用户:对数据隐私要求极高,拒绝使用任何云端语音服务的个人或企业用户。

使用风险与注意事项

尽管安全评级为 A 级,使用时仍需注意以下风险:

环境变量注入风险:虽然使用 printf '%s' 格式可在一定程度上防止注入,但仍需确保 $SPOKEN_TEXT$SAY_VOICE$SAY_RATE 等环境变量的内容来源可信,避免包含恶意构造的 Shell 特殊字符。

系统兼容性风险:在非 macOS 系统上尝试使用该技能会导致命令执行失败,尽管技能说明中有错误处理逻辑(say 不可用时返回文本),但仍需确保运行环境符合要求。

用户体验一致性:由于严格依赖特定消息前缀触发,如果 Voice Wake 检测机制不稳定或前缀格式变化,可能导致语音播报功能时有时无,影响用户体验。

来源可信度:该技能来源于 GitHub 个人账号(T3 级别),建议企业用户在正式环境部署前进行额外的代码审计,并关注后续更新维护情况。

安全解读

核心用法

voice-wake-say 是一个专为 macOS 设计的语音播报辅助技能。其核心逻辑十分简洁:当用户消息以固定前缀 User talked via voice recognition on m3 开头时,技能会调用 macOS 内置的 say 命令将 AI 的文本回复转换为语音输出。执行流程分为三步:首先立即播报「收到」类确认语,让用户感知到语音已被识别;随后执行具体任务;最后可选择性地播报任务完成状态。若用户消息不符合该前缀规则,则完全保持静默文本输出,避免不必要的语音干扰。

显著优点

1. 完全离线安全:仅依赖 macOS 原生 say 命令,不调用任何云端 TTS 服务,杜绝了网络传输中的数据泄露风险,也避免了第三方 API 的稳定性与隐私隐患。
2. 极低资源占用:纯 Markdown 文档形式,无外部依赖、无编译产物、无持久化存储,对系统性能零负担。

3. 隐私合规无忧:不采集、不存储、不上传任何用户数据,天然符合 GDPR、CCPA 等主流隐私法规要求。

4. 触发精准可控:严格的字符串前缀匹配机制确保只在真正的 Voice Wake 场景下激活,避免误触发导致的尴尬语音播报。

5. 可扩展性:支持通过环境变量 $SAY_VOICE$SAY_RATE 自定义音色与语速,满足个性化需求。

潜在缺点与局限性

1. 平台锁定say 为 macOS 专属命令,Linux 与 Windows 用户无法使用;跨平台部署时需额外适配或降级处理。
2. 功能单一:仅解决「语音播报」这一垂直场景,不具备多轮对话管理、语音唤醒词自定义、音量动态调节等高级功能。

3. 文本处理粗糙:对 Markdown、代码块的长文本仅做简单摘要,复杂格式的听觉体验一般;无 SSML 支持,语音表现力受限。

4. T3 来源风险:维护者为个人开发者,虽当前代码透明无害,但长期维护活跃度与供应链安全需持续关注。

适合人群

  • macOS 重度用户:已习惯使用 Siri 或 Voice Control,希望在 AI 交互中获得语音反馈的连续性。
  • 无障碍需求者:视障或视力疲劳用户,需要听觉确认 AI 已接收语音指令。
  • 隐私敏感型用户:拒绝云端 TTS,追求 100% 本地化处理的数据主权主义者。
  • 开发测试人员:需要快速验证 Voice Wake 链路是否打通的 AI 应用开发者。

常规风险

  • 系统命令可用性:若 macOS 系统精简或 say 被移除,技能将静默降级为纯文本输出,需用户手动检查终端环境。
  • 误触发边界:前缀字符串必须严格匹配,任何额外空格或大小写差异都会导致播报失效,需确保上游系统(如语音输入法)的消息格式一致性。
  • 环境变量未设置:若 $SAY_VOICE 指向不存在的语音包,say 可能回退到默认音色,用户感知为「配置未生效」。

voice-wake-say 内容

手动下载zip · 1.4 kB
SKILL.mdtext/markdown
请选择文件