您的位置:首页 > 手游攻略 > sag: 具备 macOS Say 用户体验的 ElevenLabs 文本转语音工具 - Openclaw Skills

sag: 具备 macOS Say 用户体验的 ElevenLabs 文本转语音工具 - Openclaw Skills

作者:互联网  时间: 2026-08-08 11:45:01  

什么是 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 模型和声音配置。
sag 工作原理
  1. 用户或 AI 智能体使用 sag 二进制文件发起命令,提供目标文本和可选的声音参数。
  2. 工具使用预配置的 ELEVENLABS_API_KEY 向 ElevenLabs API 进行身份验证。
  3. sag 解析输入中的特殊表现力标签(如 [whispers] 或 [excited]),并根据指定的语言应用标准化规则。
  4. ElevenLabs 引擎根据选定的模型(v2, v2.5 或 v3)合成音频。
  5. 生成的音频要么流式传输进行即时本地回放,要么保存到指定的文件路径以包含在智能体响应中。

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_KEYSAG_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_KEY also supported by the CLI

Quick start

  • sag "Hello there"
  • sag speak -v "Roger" "Hello"
  • sag voices
  • sag 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 (or off if 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 in sag.

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_ID or SAG_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)

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4