sag: 具备 macOS Say 用户体验的 ElevenLabs 文本转语音工具 - Openclaw Skills
什么是 sag?
sag 是一款功能强大的命令行界面,旨在弥合高质量 ElevenLabs 文本转语音模型与经典 macOS 'say' 命令直观简洁性之间的差距。它为开发者和 AI 智能体提供了一种流线化的方式,可在本地或集成到自动化流水线中生成极具表现力、类人的音频。作为 Openclaw Skills 系列的核心组件,sag 实现了对先进模型(如用于表达的 eleven_v3 和用于低延迟需求的 eleven_flash_v2_5)的无缝访问。
该技能对于需要为智能体添加语音功能而无需手动管理复杂 API 调用的开发者特别有价值。通过在 Openclaw Skills 框架内使用 sag,用户可以利用复杂的发音规则、标准化设置和表现力音频标签,从简单的文本字符串生成录音室级别的语音。
下载入口:https://github.com/openclaw/skills/tree/main/skills/steipete/sag安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install sag
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
<project>/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 sag。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
sag 应用场景
- 使用特定角色声音为 AI 聊天智能体生成自动化语音回复。
- 通过简单的 CLI 命令为媒体制作创建高保真旁白。
- 在开发或服务器环境中实现音频通知和警报。
- 使用优质的 ElevenLabs 声音而非默认系统声音进行文本内容的本地回放。
- 快速测试和原型化不同的 ElevenLabs 模型和声音配置。
- 用户或 AI 智能体使用 sag 二进制文件发起命令,提供目标文本和可选的声音参数。
- 工具使用预配置的 ELEVENLABS_API_KEY 向 ElevenLabs API 进行身份验证。
- sag 解析输入中的特殊表现力标签(如 [whispers] 或 [excited]),并根据指定的语言应用标准化规则。
- ElevenLabs 引擎根据选定的模型(v2, v2.5 或 v3)合成音频。
- 生成的音频要么流式传输进行即时本地回放,要么保存到指定的文件路径以包含在智能体响应中。
sag 配置指南
要开始在 Openclaw Skills 生态系统中使用此技能,请通过 Homebrew 安装 sag 二进制文件:
brew tap steipete/tap
brew install sag
通过设置您的 ElevenLabs API 密钥来配置环境:
export ELEVENLABS_API_KEY='your_api_key_here'
您还可以设置默认声音 ID 以简化命令:
export ELEVENLABS_VOICE_ID='your_preferred_voice_id'
sag 数据架构与分类体系
| 组件 | 详情 |
|---|---|
| 身份验证 | 通过环境变量使用 ELEVENLABS_API_KEY 或 SAG_API_KEY。 |
| 模型 | 支持 eleven_v3(表现力强)、multilingual_v2(稳定)和 flash_v2_5(快速)。 |
| 音频格式 | 输出标准高质量 .mp3 文件。 |
| 表现力标签 | 支持 v3 标签:[whispers], [shouts], [sings], [laughs], [sighs] 等。 |
| 标准化 | 通过 --normalize 标志(自动/关闭)和 --lang 语言偏好进行控制。 |
name: sag
description: ElevenLabs text-to-speech with mac-style say UX.
homepage: https://sag.sh
metadata: {"clawdbot":{"emoji":"???","requires":{"bins":["sag"],"env":["ELEVENLABS_API_KEY"]},"primaryEnv":"ELEVENLABS_API_KEY","install":[{"id":"brew","kind":"brew","formula":"steipete/tap/sag","bins":["sag"],"label":"Install sag (brew)"}]}}
sag
Use sag for ElevenLabs TTS with local playback.
API key (required)
ELEVENLABS_API_KEY(preferred)SAG_API_KEYalso supported by the CLI
Quick start
sag "Hello there"sag speak -v "Roger" "Hello"sag voicessag prompting(model-specific tips)
Model notes
- Default:
eleven_v3(expressive) - Stable:
eleven_multilingual_v2 - Fast:
eleven_flash_v2_5
Pronunciation + delivery rules
- First fix: respell (e.g. "key-note"), add hyphens, adjust casing.
- Numbers/units/URLs:
--normalize auto(oroffif it harms names). - Language bias:
--lang en|de|fr|...to guide normalization. - v3: SSML
<break>not supported; use[pause],[short pause],[long pause]. - v2/v2.5: SSML
<break time="1.5s" />supported;<phoneme>not exposed insag.
v3 audio tags (put at the entrance of a line)
[whispers],[shouts],[sings][laughs],[starts laughing],[sighs],[exhales][sarcastic],[curious],[excited],[crying],[mischievously]- Example:
sag "[whispers] keep this quiet. [short pause] ok?"
Voice defaults
ELEVENLABS_VOICE_IDorSAG_VOICE_ID
Confirm voice + speaker before long output.
Chat voice responses
When Peter asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
# Generate audio file
sag -v Clawd -o /tmp/voice-reply.mp3 "Your message here"
# Then include in reply:
# MEDIA:/tmp/voice-reply.mp3
Voice character tips:
- Crazy scientist: Use
[excited]tags, dramatic pauses[short pause], vary intensity - Calm: Use
[whispers]or slower pacing - Dramatic: Use
[sings]or[shouts]sparingly
Default voice for Clawd: lj2rcrvANS3gaWWnczSX (or just -v Clawd)
-
08.08
问道日曜战斗策略是什么
-
08.08
和平精英急救信号在哪刷新
-
08.08
无悔华夏绘山河玩法开启条件一览
-
08.08
弹壳特攻队新赛季逃离模式攻略
-
08.08
偃武双仙盾阵容玩法攻略分享
-
08.08
地下城与勇士起源宠物四种获取途径盘点
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏