SuperAPI AI 工具集

discord-voice

智能体与模型

查看项目

更新于 10-16 07:11

技能介绍

Discord Voice 是 Clawdbot 的语音插件,用于在 Discord 语音频道中实现与 Claude AI 的实时语音对话。用户加入语音频道后直接说话,语音会被转写、交给智能体处理,并以语音形式回复。

主要能力

  • 加入/离开语音频道:可通过斜杠命令、CLI 或智能体工具操作。
  • 语音活动检测(VAD):自动检测用户何时开始和停止说话。
  • 语音转文本(STT):支持 Whisper API(OpenAI)或 Deepgram。
  • 流式 STT:使用 Deepgram WebSocket 实时转写,约减少 1 秒延迟。
  • 智能体集成:转写后的语音文本会路由到 Clawdbot 智能体处理。
  • 文本转语音(TTS):支持 OpenAI TTS 或 ElevenLabs。
  • 音频播放:回复会在语音频道中朗读出来。
  • 打断支持(Barge-in):用户开始说话时立即停止播放。
  • 自动重连:心跳监控,断线后自动重连。

使用方式

  1. 安装系统依赖:Ubuntu/Debian 使用 sudo apt-get install ffmpeg build-essential python3;Fedora/RHEL 使用 sudo dnf install ffmpeg gcc-c++ make python3;macOS 使用 brew install ffmpeg。
  2. 通过 ClawdHub 安装:clawdhub install discord-voice;或手动克隆仓库到 ~/.clawdbot/extensions 后执行 npm install。
  3. 在 clawdbot.json 中配置插件,设置 sttProvider、ttsProvider、ttsVoice、vadSensitivity、allowedUsers、silenceThresholdMs、maxRecordingMs 以及各服务商的 API Key。
  4. 配置 Discord 机器人权限:Connect(加入语音频道)、Speak(播放音频)、Use Voice Activity(检测用户说话)。

操作入口

  • 斜杠命令:/voice join <channel>、/voice leave、/voice status。
  • CLI 命令:clawdbot voice join <channelId>、clawdbot voice leave --guild <guildId>、clawdbot voice status。
  • 智能体工具 discord_voice:支持 join、leave、speak、status 动作。

工作流程 机器人加入指定语音频道后,VAD 检测用户说话并缓冲音频;检测到静音后将音频发送给 STT 服务商转写;转写文本发送给 Clawdbot 智能体;智能体回复经 TTS 合成音频;最后在语音频道中播放。

适用场景 适合希望在 Discord 语音频道中通过自然语音与 Claude AI 进行实时对话的用户,例如语音助手、语音交互实验等。

限制

  • 每个服务器同一时间只能有一个语音频道处于活动状态。
  • 最大录音长度默认 30 秒(可配置)。
  • 实时音频需要稳定的网络连接。
  • TTS 输出可能因合成而有轻微延迟。
  • 需要 Discord 机器人具备语音权限,并配置 STT 与 TTS 服务商的 API Key。
  • 需要 ffmpeg 以及 @discordjs/opus、sodium-native 的原生构建工具。

许可证:MIT。