1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | speech-engine(合集仓库 elevenlabs/skills 子技能) |
| 作者/维护者 | ElevenLabs(语音 AI 厂商,官方 GitHub 组织) |
| 来源链接 | https://github.com/elevenlabs/skills/tree/main/speech-engine |
| 许可证 | MIT(GitHub API 核实,仓库级声明) |
| GitHub Stars | 402(elevenlabs/skills 合集仓库整体,不代表本子技能个体热度) |
| Forks | 55(同上,合集仓库整体) |
| 最新版本 | 无独立版本号,随仓库滚动更新,本目录最近一次改动为 2026-07-01 |
| 安装方式 | npx skills add elevenlabs/skills 一条命令;或手动克隆复制子目录 |
2. 功能介绍与亮点
ElevenLabs 官方技能,为开发者自建的 agent 服务端加装实时语音对话能力:ElevenLabs 负责麦克风采集、语音识别、轮次判断、语音合成与播放,开发者只需暴露一个 WebSocket 端点、把回复文本流回给 SDK,agent 推理逻辑始终留在自己的服务器上。
亮点:① 官方 SDK 覆盖 Python(异步)与 JavaScript/TypeScript,浏览器端附 @elevenlabs/react 组件示例;② 每条连接默认做 JWT 校验,正文用具体攻击场景解释为何不应关闭校验;③ 明确要求把语音识别文本当作不可信输入处理,不得直接映射为模型角色或工具调用;④ 记录了一个已知的 LiveKit WebRTC 兼容性问题及临时解法。同仓库另有 text-to-speech、speech-to-text、agents、music、sound-effects、voice-changer、voice-isolator、setup-api-key 等姊妹技能。
3. 适用场景
固定分类:集成与工作流自动化(核心是把 ElevenLabs 的语音收发能力接入开发者自建的 agent 服务端,属“连接 agent 与外部系统的桥”)。适用于:给已有的自建 agent(含 OpenClaw、Hermes Agent 等运行时)加语音输入输出、搭建可打电话或网页对话的语音客服、把文本对话 agent 升级为实时语音交互产品。受益人群:已维护一套 agent 服务端逻辑、希望不迁移到托管平台就加装语音层的开发者。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——遵循 Agent Skills 规范,
npx skills add通用安装命令,技能存入.claude/skills目录 - OpenClaw:✅ 原生支持——SKILL.md front matter 内含专门的
openclawmetadata 字段,声明所需环境变量ELEVENLABS_API_KEY - Hermes Agent:✅ 官方文档点名——正文“When to Use”一节明确列出“Add voice to OpenClaw, Hermes, or a similar agent runtime”作为适用场景,技能本身通过通用 WebSocket/SDK 调用实现、不依赖 Hermes 专属接口
- Codex:❓ 未验证——官方材料只泛称“遵循 Agent Skills 规范,可用于任何兼容的 AI 编码助手”,未点名 Codex
5. 推荐理由
官方 ElevenLabs 出品,把“给自己的 agent 服务端加实时语音”这件涉及音频流、WebSocket、身份校验的麻烦事,封装成一套开箱可用的 SDK 调用+安全默认值,且正文直接点名支持 OpenClaw、Hermes 这类自建 agent 运行时。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 合集仓库整体 402 Stars/55 Forks 不计入个体评分;ElevenLabs 官方博客专文(elevenlabs.io/blog/elevenlabs-agent-skills)发布过整套技能集合;该功能对应的官方开发者活动“Hack #10: Speech Engine”独立成题;另有多篇第三方教程/博客围绕“ElevenLabs + OpenClaw/Hermes 实时语音”这一组合撰写实操指南 |
| 可用性 | 7 | 官方 SDK 文档完整(Python/TypeScript 双语言示例、浏览器端 React 组件示例),近 1 个月内有独立提交;但相比同仓库的单次 API 调用型技能,本技能需要开发者自行搭建并运行一个 WebSocket 服务端、本地开发还需 ngrok 之类的内网穿透工具暴露公网地址,配置步骤明显更多 |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
① shell 命令:无,核心是官方 SDK 建立 WebSocket 服务与调用 REST 接口
② 联网外发:是,语音/文本经自建服务器与 ElevenLabs API 传输,目标透明;正文提醒不要把 API Key 放进浏览器代码,改用服务端签发的临时 token
③ API Key 存储:ELEVENLABS_API_KEY 经环境变量传入,保留在服务端
④ 可疑指令:无,正文反而主动给出防护建议——语音识别文本视为不可信输入、默认开启 JWT 校验并详细说明关闭校验的风险场景
⑤ 作者信誉:ElevenLabs 官方仓库,语音 AI 行业头部厂商
⑥ License:MIT,仓库级明确
⑦ 最近维护:本目录最近提交 2026-07-01,仓库持续推送
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本技能的差异 |
|---|---|---|
| Pipecat(开源 Python 框架) | 自行组装 STT/LLM/TTS 各环节供应商,对实时对话管线做逐帧级别的精细控制 | 灵活度最高但需要自己搭建整条管线;本技能由 ElevenLabs 统一托管语音识别、合成与轮次判断,开发者只需接回复文本,上手门槛更低 |
| LiveKit Agents(开源 WebRTC 框架) | 基于自有 WebRTC 基础设施构建语音/视频 agent,适合多人音视频房间等复杂媒体场景,可自托管 | 更偏底层媒体基础设施,需要理解房间模型与媒体路由;本技能只需暴露一个 WebSocket 端点,不涉及自建 WebRTC 服务器 |
| Vapi(托管语音代理平台) | 通过控制台/API 配置好 STT/LLM/TTS 供应商即可拿到一个可打电话的语音 agent,追求最快上线速度 | 部署最快但 agent 逻辑托管在 Vapi 平台上;本技能把 agent 推理逻辑留在开发者自己的服务器,更适合已有一套自建 agent 逻辑、只想加装语音层的场景 |
8. 用户评价
该技能目前在第三方平台尚无针对“speech-engine”这一具体子技能的具名用户评价;已发现的第三方文章多围绕“用 ElevenLabs 给 OpenClaw/Hermes 类自建 agent 加语音”这一组合场景撰写实操教程,而非评价性内容。
9. 其他补充
仓库整体遵循开放的 Agent Skills 规范(agentskills.io),同一份技能可跨多种兼容的 AI 编码助手复用;evals/ 目录提供触发与功能两类自动化测试。
10. 安装使用方式
- 通用安装:
npx skills add elevenlabs/skills(安装整个仓库,含全部子技能,agent 按任务描述自动触发对应的一个) - 手动安装:
git clone https://github.com/elevenlabs/skills.git,将speech-engine目录复制到对应 agent 的 skills 目录 - 配置 API Key:
export ELEVENLABS_API_KEY="your-api-key",也可用同仓库setup-api-key技能引导获取 - 依赖库:Python 需
pip install elevenlabs python-dotenv;JS/TS 需npm install @elevenlabs/elevenlabs-js dotenv,浏览器端另装@elevenlabs/react - 本地开发:需用
ngrok等工具把本地 WebSocket 服务暴露为公网地址,再据此创建 Speech Engine 资源 - 安装后无需重启即可生效;agent 按任务描述(如“给这个聊天机器人加语音功能”)自动触发,也可显式提及技能名手动调用
11. 注意事项
- 需要有效的 ElevenLabs API Key 及可用额度,该服务为按量计费的第三方付费服务,是否提供免费额度未验证
- 需要开发者自己运行并对外暴露一个 WebSocket 服务端,无法零配置开箱即用
- 存在一个已知的 LiveKit WebRTC 兼容性问题,浏览器端连接报错时需临时锁定
livekit-client版本 - Codex 的兼容性尚未验证