sag 🗣️ — macOS say 风格的 ElevenLabs TTS CLI
> 来源: https://github.com/steipete/sag/ | 网站: https://sag.sh
> 日期: 2026-06-02 | 评分: ⭐⭐⭐⭐
一句话版本
sag 是一个命令行工具,让你在终端里像调用 macOS 的 say 命令一样使用 ElevenLabs 的高质量 AI 语音合成——说 "sag 你好" 就直接从扬声器播放,支持各种音色、语速和输出格式。
项目概况
| 项目 | 详情 |
|---|---|
| **作者** | Peter Steinberger ([steipete](https://github.com/steipete)) |
| **语言** | Go (69.4%) + JavaScript (30.6%) |
| **许可** | MIT |
| **Stars** | 381 ⭐ |
| **最新版本** | v0.3.0 (2026-05-06) |
| **安装方式** | Homebrew、预编译二进制(Linux/macOS/Windows)、Go toolchain |
| **OpenClaw 集成** | ✅ 已上架 clawhub 作为 AI Agent Skill |
核心设计
sag 的设计哲学极其简洁:像 say 一样用,但声音是现代级别的。
sag "你好世界" # 直接朗读
sag -v Roger "Hello" # 选择音色
sag -o output.mp3 ... # 保存为文件
echo "piped" | sag # 管道输入
sag -v ? # 列出所有可用音色
没有复杂的配置,没有 SDK 集成——装了就能用。
引擎选型
sag 支持四种 ElevenLabs 引擎,覆盖不同场景:
| 引擎 | 模型 ID | 延迟 | 价格 | 最大字符 | 适用场景 |
|---|---|---|---|---|---|
| **v3 (alpha)** | `eleven_v3` | 较高 | 标准 | 5,000 | 最富表现力的"演技派"音色 |
| **v2 (稳定)** | `eleven_multilingual_v2` | 中等 | 标准 | 10,000 | 稳定基线,SSML 支持 |
| **v2.5 Flash** | `eleven_flash_v2_5` | ~75ms | 低50% | 40,000 | 超低延迟,大批量 |
| **v2.5 Turbo** | `eleven_turbo_v2_5` | ~250ms | 低50% | 40,000 | 低延迟与质量平衡 |
关键区别:v3 用音频标签([whispers]、[short pause]),v2/v2.5 用 SSML 。
特色功能
1. 流式播放:边生成边播放(--stream),也能关闭流式只存文件
2. 延迟调节:--latency-tier 0-4,tier 3 获得最快首音延迟
3. 音色微调:稳定性(stability)、相似度(similarity)、风格化(style)、说话人增强(speaker boost)
4. 种子控制:--seed 实现跨运行的可复现性
5. 多平台播放后端:macOS 用 afplay,其他平台用 oto(Go 音频库)
6. 音色搜索:支持关键词、标签过滤、试听(--try)
与 Babel 系统的关联分析
Jay 的 Babel 播客系统 使用 IndexTTS2(本地 GPU TTS)做中文播客配音。sag 是另一条技术路径:
| 维度 | Babel (IndexTTS2) | sag (ElevenLabs) |
|---|---|---|
| **运行位置** | 本地 GPU (ub2) | 云端 API |
| **成本** | 一次性 GPU 投入 | 按字符付费 |
| **声音质量** | 中文不错,英文一般 | ElevenLabs 业界顶级 |
| **延迟** | 生成慢(长文本分钟级) | 流式秒级 |
| **灵活性** | 自建流程 | 即装即用 |
潜在用途:
- sag 适合做快速试听和短文本配音(播客标题、简介、通知等)
- Babel + IndexTTS2 仍是大批量中文播客生成的最优解
- 如果 ElevenLabs 能处理中文(其 multilingual v2 支持中文),sag 可以作为 Babel 的 快速原型工具
与 OpenClaw 生态的关联
steipete 似乎与 OpenClaw 团队关系密切(X 上提到 "Clawd is lovin' it!"),sag 已上架 clawhub 作为 OpenClaw AI Agent Skill。这意味着:
- 可以直接在 OpenClaw 中通过 Skill 系统调用 sag
- 适合 AI Agent 在需要语音输出时快速调用
- CLI 设计天然适合 agent 管道
评分
| 维度 | 评分 | 说明 |
|---|---|---|
| **设计理念** | ⭐⭐⭐⭐⭐ | macOS say 式极简设计,零学习成本 |
| **功能完整度** | ⭐⭐⭐⭐ | 引擎切换、音色搜索、流式、参数微调一应俱全 |
| **工程实现** | ⭐⭐⭐⭐ | Go 构建跨平台二进制,CI/CD 完整 |
| **生态整合** | ⭐⭐⭐⭐ | Homebrew、clawhub、GitHub Actions |
| **与 Jay 项目的相关性** | ⭐⭐⭐ | TTS 相关,但路径不同(API vs 本地 GPU) |
总分: 4.0 / 5.0 ⭐
结论
sag 是一个小而美的工具:它没有试图重新发明轮子,而是把 ElevenLabs 的强大能力包装成 macOS 用户最熟悉的界面。对于需要快速、高质量 TTS 的开发者、AI Agent 工作流、以及 macOS 重度用户来说,sag 是 "到手即用"的绝佳选择。
对于 Jay 的 Babel 系统,sag 可以作为一种补充工具——不适合替代 IndexTTS2 做大批量中文播客生成,但非常适合快速配音、试听、以及 OpenClaw 管道中的即时语音输出。