返回顶部
v

voice-assistant语音助手

Real-time voice assistant for OpenClaw. Streams mic audio through configurable STT (Deepgram or ElevenLabs) into your OpenClaw agent, then speaks the response via configurable TTS (Deepgram Aura or ElevenLabs). Sub-2s time-to-first-audio with full streaming at every stage.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
1,787
下载量
免费
免费
4
收藏
概述
安装方式
版本历史

voice-assistant

技能名称:语音助手

语音助手

为您的OpenClaw智能体提供实时语音接口。与您的智能体对话并聆听其回应——支持可配置的语音转文字(STT)和文字转语音(TTS)提供商,全程流式传输,首次音频响应时间低于2秒。

架构

浏览器麦克风 → WebSocket → STT(Deepgram / ElevenLabs)→ 文本
→ OpenClaw网关(/v1/chat/completions,流式传输)→ 响应文本
→ TTS(Deepgram Aura / ElevenLabs)→ 音频块 → 浏览器扬声器

语音接口连接到您正在运行的OpenClaw网关的兼容OpenAI的端点。它使用相同的智能体,包含所有上下文、工具和记忆——只是增加了语音功能。

快速开始

bash
cd {baseDir}
cp .env.example .env

填写您的API密钥和网关URL


uv run scripts/server.py

打开 http://localhost:7860 并点击麦克风

支持的提供商

STT(语音转文字)
提供商模型延迟说明
Deepgramnova-2(流式)~200-300msWebSocket流式,最佳准确率/速度
ElevenLabs
Scribe v1 | ~300-500ms | 基于REST,多语言支持良好 |

TTS(文字转语音)
提供商模型延迟说明
Deepgramaura-2~200msWebSocket流式,低成本
ElevenLabs
Turbo v2.5 | ~300ms | 最佳语音质量,流式传输 |

配置

所有配置通过.env文件中的环境变量完成:

bash

=== 必填项 ===


OPENCLAWGATEWAYURL=http://localhost:4141/v1 # 您的OpenClaw网关
OPENCLAW_MODEL=claude-sonnet-4-5-20250929 # 网关路由到的模型

=== STT提供商(选择其一) ===

VOICESTTPROVIDER=deepgram # deepgram 或 elevenlabs DEEPGRAMAPIKEY=your-key-here # 如果STT=deepgram则必填 ELEVENLABSAPIKEY=your-key-here # 如果STT=elevenlabs则必填

=== TTS提供商(选择其一) ===

VOICETTSPROVIDER=elevenlabs # deepgram 或 elevenlabs

使用与上述相同的API密钥

=== 可选调优 ===

VOICETTSVOICE=rachel # ElevenLabs语音名称/ID VOICETTSVOICE_DG=aura-2-theia-en # Deepgram Aura语音 VOICEVADSILENCE_MS=400 # 轮次结束前的静默时间(毫秒) VOICESAMPLERATE=16000 # 音频采样率 VOICESERVERPORT=7860 # 服务器端口 VOICESYSTEMPROMPT= # 可选的系统提示覆盖

提供商组合

配置最佳适用场景
Deepgram STT + ElevenLabs TTS最佳语音输出质量
Deepgram STT + Deepgram TTS
最低延迟,单一供应商 | | ElevenLabs STT + ElevenLabs TTS | 最佳多语言支持 |

工作原理

  1. 1. 浏览器通过Web Audio API捕获麦克风音频,并通过WebSocket流式传输原始PCM数据
  2. 服务器接收音频并将其传输到配置的STT提供商的流式端点
  3. STT实时返回部分转录文本;在话语结束时,完整文本被发送到OpenClaw网关
  4. OpenClaw网关通过SSE(服务器发送事件)逐令牌流式传输LLM响应
  5. 令牌被累积成句子大小的块,并流式传输到TTS提供商
  6. TTS返回音频块,这些块通过同一WebSocket立即转发到浏览器
  7. 浏览器使用Web Audio API播放音频,并带有抖动缓冲区以实现平滑播放

中断处理(插话)

当用户在智能体仍在说话时开始讲话:

  • - 当前TTS音频立即取消
  • 智能体停止当前响应
  • 新的STT会话开始捕获用户的中断

使用示例

用户:嘿,设置我的语音助手
→ OpenClaw执行:cd {baseDir} && cp .env.example .env
→ 打开.env供用户填写API密钥
→ 运行:uv run scripts/server.py

用户:开始语音聊天
→ 在浏览器中打开 http://localhost:7860

用户:将TTS切换到Deepgram
→ 在.env中更新 VOICETTSPROVIDER=deepgram
→ 重启服务器

故障排除

  • - 没有音频输出? 检查您的TTS API密钥是否有效,以及提供商设置是否正确
  • 高延迟? 对STT和TTS均使用Deepgram;确保您的网关在同一网络上
  • 语音被截断? 将VOICEVADSILENCE_MS增加到600-800ms
  • 回声/反馈? 使用耳机,或启用浏览器UI中的内置回声消除功能

延迟预算

阶段目标实际(典型值)
音频捕获 + VAD<200ms~100-150ms
STT转录
<400ms | ~200-400ms | | OpenClaw LLM首个令牌 | <1500ms | ~500-1500ms | | TTS首个音频块 | <400ms | ~200-400ms | | 首次音频总延迟 | <2.5s | ~1.0-2.5s |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 voice-assistant-1776346703 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 voice-assistant-1776346703 技能

通过命令行安装

skillhub install voice-assistant-1776346703

下载

⬇ 下载 voice-assistant v0.1.0(免费)

文件大小: 13.35 KB | 发布时间: 2026-4-17 15:33

v0.1.0 最新 2026-4-17 15:33
Initial release: real-time voice interface with configurable STT (Deepgram/ElevenLabs) and TTS (Deepgram/ElevenLabs), sub-2s latency, barge-in support

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部