SuperAPI AI 工具集

speech-engine

智能体与模型

查看项目

更新于 10-15 21:37

技能介绍

用途:为已有的聊天应用或自建服务器管线加入实时语音界面,同时把智能体逻辑保留在开发者自有服务器上。典型场景包括给 OpenClaw、Hermes 等智能体运行时加语音、构建开发者自托管的 WebSocket 语音会话服务器、在服务器校验用户意图后再把响应文本以语音流回、处理用户打断,以及用 @elevenlabs/react 或 @elevenlabs/client 配合服务器签发的会话令牌构建浏览器客户端。若使用由 ElevenLabs 平台托管的 Conversational AI 智能体(平台管理的提示词、工具、工作流、电话号码或挂件),应改用 agents 技能。

主要能力:每条 Speech Engine WebSocket 连接代表一次会话。浏览器把用户音频发给 ElevenLabs,ElevenLabs 把语音识别事件发给你的服务器,你的服务器基于可信的应用状态生成响应,再通过 SDK 以文本流回传,ElevenLabs 转为语音并在浏览器播放。SDK 负责 WebSocket 路由、请求校验、会话生命周期、ping/pong、轮流发言和打断处理。sendResponse() / send_response() 可接受字符串或文本的异步可迭代对象。创建资源时可配置 tts、asr、turn、speech_engine.request_headers、overrides 与隐私选项。

使用方式:安装服务器依赖并配置 ELEVENLABS_API_KEY;本地开发可用 ngrok http 3001 暴露 HTTPS 公网地址;创建 Speech Engine 资源时把 ws_url / wsUrl 指向公网 WebSocket 地址(通常为 wss://.../ws),保存返回的 Speech Engine ID;在 Python 用 engine.serve(...)、在 TypeScript 用 speechEngine.attach(...) 启动服务器;由服务器端点签发浏览器会话令牌,切勿把 ELEVENLABS_API_KEY 放进浏览器代码;客户端用 conversationToken 启动会话,如需智能体先问候,要在资源上启用首条消息覆盖并在客户端设置 overrides.agent.firstMessage。

限制与安全:语音识别文本是不可信用户输入,可能包含提示注入,不得直接映射为模型角色、响应或工具调用,须经确定性校验、白名单意图或显式确认。SDK 默认对每个 WebSocket 校验 JWT,不要关闭;只有已部署 IP 允许列表或共享密钥请求头等补偿控制时,才考虑 disableAuth / disable_auth,否则等于暴露无需认证的公开计算资源。官方安装指南、JavaScript SDK 参考与 Python SDK 参考的具体细节暂未在此提供。