WebChat Voice Proxy

🎙️ 本地语音输入,零成本实时转录

为OpenClaw WebChat添加本地语音输入功能,通过faster-whisper实现零成本离线转录,支持PTT/切换双模式与多语言UI

收藏
5k
安装
1.5k
版本
0.3.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

webchat-voice-proxy 是一个专为 OpenClaw WebChat 设计的语音输入增强技能,通过在浏览器端集成麦克风按钮,实现完全本地的语音转文字功能。该技能采用 HTTPS/WSS 反向代理架构,将浏览器 MediaRecorder 捕获的音频流代理至本地 faster-whisper 服务(端口 18790)进行转录,无需调用任何云端 API,彻底消除 API 成本与隐私泄露风险。

显著优点

1. 完全本地化:依赖 faster-whisper 实现离线转录,音频数据不出本机,适合隐私敏感场景
2. 零持续成本:一次部署后无 API 调用费用,适合高频使用

3. 专业交互设计:支持 Push-to-Talk(按住说话)与 Toggle(点击开关)双模式,双击切换;配备实时 VU 表(音量可视化)与键盘快捷键(Ctrl+Space PTT、Ctrl+Shift+M 连续录制)

4. 多语言 UI 内置:自动检测浏览器语言,支持英/德/中三语,可通过 localStorage 强制指定或扩展自定义语言

5. 持久化安全部署:通过 systemd 用户服务实现开机自启,配合网关 hook 机制确保更新后自动重新注入

潜在局限与风险

| 类别 | 说明 |
|------|------|
| **依赖链复杂** | 必须预先部署 `faster-whisper-local-service`,需 Python 3.9+ 及 CUDA/CPU 推理环境,GPU 加速配置门槛较高 |
| **证书信任问题** | 自签名 TLS 证书导致浏览器首次访问必现安全警告,需手动例外处理 |
| **网络暴露风险** | 默认绑定 127.0.0.1,若通过 `VOICE_HOST` 暴露至 LAN,则网关 WebSocket 与转录端点同时对全网开放 |
| **系统修改深度** | 需修改 npm 全局安装的 Control UI 文件、注入 systemd 服务、修改网关配置,卸载不彻底可能残留 hook |
| **实时性限制** | faster-whisper 为分段转录,非流式实时输出,Ctrl+Shift+B「实时转录」仍为 beta 功能 |

适合人群

  • 高频使用 OpenClaw WebChat 且偏好语音输入的开发者/高级用户
  • 对数据隐私有严格要求、拒绝云端 STT 服务的用户
  • 具备 Linux 系统管理基础、能独立排查 systemd/Python 依赖问题的技术用户
  • 已在运行 faster-whisper 或愿意配置本地 GPU 推理环境的用户

常规风险

  • 配置漂移:网关 allowedOrigins 与 HTTPS 代理 VOICE_HOST 不匹配将导致 CORS/origin 错误
  • 服务耦合故障:faster-whisper 服务异常会直接阻断语音功能,需掌握 systemctl --user status openclaw-transcribe.service 诊断
  • 浏览器权限:首次使用需授权麦克风,部分安全环境下可能受限

WebChat Voice Proxy 内容

assets文件夹
hooks文件夹
references文件夹
scripts文件夹
手动下载zip · 27.4 kB
https-server.pytext/plain
请选择文件