Discord Voice

Polar Sponsor
爱发电 赞助
.NET 9.0

在 Discord语音频道中与 Claude AI 进行实时语音对话

用于 Clawdbot. 的 Discord Voice 插件

功能概述

用于 Clawdbot. 的 Discord Voice 插件是一项面向实际任务的技能,主要用于重复时空的 Discord 语音频道中的语音对话;加入语音频道, 说话, 并让您的话被Claude 转写, 处理, 并回话。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Clawdbot 的 Discord 语音插件

在 Discord 语音频道中实现实时语音对话。加入语音频道,开口说话,你的语音将被实时转录、交由 Claude 处理,并以语音形式反馈给你。

功能特性

  • 加入/退出语音频道:支持通过 Slash 命令、CLI 或 agent 工具操作
  • 语音活动检测(VAD):自动识别用户是否正在讲话
  • 语音转文字(STT):支持 Whisper API(OpenAI)、Deepgram 或本地 Whisper(离线)
  • 流式 STT:基于 Deepgram WebSocket 的实时转录(端到端延迟降低约 1 秒)
  • Agent 集成:转录后的文本将路由至 Clawdbot agent 进行处理
  • 文字转语音(TTS):支持 OpenAI TTS、ElevenLabs 或 Kokoro(本地/离线)
  • 音频播放:响应内容将以语音形式在语音频道中播放
  • 抢占式中断(Barge-in)支持:当用户开始说话时,立即停止当前语音输出
  • 自动重连:内置心跳监测机制,断连后自动重连

系统要求

  • 具备语音权限的 Discord bot(Connect、Speak、Use Voice Activity)
  • STT 和 TTS 服务商的 API 密钥
  • 语音功能所需系统依赖:
    • ffmpeg(音频处理)
    • @discordjs/opus 和 sodium-native 的原生构建工具

安装步骤

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

或手动安装:

cd ~/.clawdbot/extensions
git clone  discord-voice
cd discord-voice
npm install

3. 在 clawdbot.json 中配置

{
  plugins: {
    entries: {
      "discord-voice": {
        enabled: true,
        config: {
          sttProvider: "local-whisper",
          ttsProvider: "openai",
          ttsVoice: "nova",
          vadSensitivity: "medium",
          allowedUsers: [], // 空数组 = 允许所有用户
          silenceThresholdMs: 1500,
          maxRecordingMs: 30000,
          openai: {
            apiKey: "sk-...", // 或使用 OPENAI_API_KEY 环境变量
          },
        },
      },
    },
  },
}

4. Discord Bot 权限配置

请确保你的 Discord bot 具备以下权限:

  • Connect — 加入语音频道
  • Speak — 播放音频
  • Use Voice Activity — 检测用户语音活动

请将上述权限添加至 bot 的 OAuth2 URL,或在 Discord Developer Portal 中完成配置。

配置项说明

配置项 类型 默认值 说明
enabled boolean true 启用或禁用该插件
sttProvider string "local-whisper" 可选值:"whisper"、"deepgram" 或 "local-whisper"
streamingSTT boolean true 启用流式 STT(仅 Deepgram 支持,端到端延迟降低约 1 秒)
ttsProvider string "openai" 可选值:"openai" 或 "elevenlabs"
ttsVoice string "nova" TTS 使用的语音 ID
vadSensitivity string "medium" 可选值:"low"、"medium" 或 "high"
bargeIn boolean true 用户开始说话时立即停止当前语音输出
allowedUsers string[] [] 允许使用的用户 ID 列表(空数组表示允许所有用户)
silenceThresholdMs number 1500 静音判定阈值(毫秒),即检测到静音后开始处理
maxRecordingMs number 30000 单次录音最大时长(毫秒)
heartbeatIntervalMs number 30000 连接健康检查间隔(毫秒)
autoJoinChannel string undefined 启动时自动加入的语音频道 ID

服务商配置

OpenAI(Whisper + TTS)

{
  openai: {
    apiKey: "sk-...",
    whisperModel: "whisper-1",
    ttsModel: "tts-1",
  },
}

ElevenLabs(仅 TTS)

{
  elevenlabs: {
    apiKey: "...",
    voiceId: "21m00Tcm4TlvDq8ikWAM", // Rachel
    modelId: "eleven_multilingual_v2",
  },
}

Deepgram(仅 STT)

{
  deepgram: {
    apiKey: "...",
    model: "nova-2",
  },
}

使用方式

Slash 命令(Discord)

在 Discord 中完成注册后,可使用以下命令:

  • /discord_voice join — 加入指定语音频道
  • /discord_voice leave — 退出当前语音频道
  • /discord_voice status — 查看语音连接状态

CLI 命令

# 加入语音频道
clawdbot discord_voice join 

# 退出语音频道
clawdbot discord_voice leave --guild 

# 查看状态
clawdbot discord_voice status

Agent 工具

agent 可调用 discord_voice 工具:

Join voice channel 1234567890

该工具支持以下动作:

  • join — 加入语音频道(需提供 channelId)
  • leave — 退出语音频道
  • speak — 在语音频道中播报指定文本
  • status — 获取当前语音状态

工作原理

  1. 加入:bot 加入指定语音频道
  2. 监听:VAD 检测用户何时开始/停止讲话
  3. 录音:在用户讲话期间持续缓存音频数据
  4. 转录:检测到静音后,将音频发送至 STT 服务商
  5. 处理:将转录所得文本传入 Clawdbot agent
  6. 合成:agent 的响应结果经 TTS 转为音频
  7. 播放:将生成的音频在语音频道中播放

流式 STT(Deepgram)

当选用 Deepgram 作为 STT 服务商时,流式模式默认启用。该模式提供以下优势:

  • 端到端延迟降低约 1 秒
  • 实时反馈:返回中间转录结果
  • 自动保活:防止连接超时
  • 故障回退:流式失败时自动降级为批量转录

启用流式 STT 的配置示例:

{
  sttProvider: "deepgram",
  streamingSTT: true, // 默认启用
  deepgram: {
    apiKey: "...",
    model: "nova-2",
  },
}

抢占式中断(Barge-in)支持

启用后(默认开启),当用户开始讲话时 bot 将立即停止当前语音输出,从而营造更自然的对话体验,支持随时打断 bot。

如需禁用该行为(等待 bot 完整播报完毕),请设置:

{
  bargeIn: false,
}

自动重连

插件内置连接健康监测机制:

  • 心跳检测:每 30 秒执行一次(可配置)
  • 自动重连:断连后按指数退避策略重试
  • 最大重试次数:最多尝试 3 次,之后放弃

若连接中断,日志中将显示类似如下信息:

[discord-voice] Disconnected from voice channel
[discord-voice] Reconnection attempt 1/3
[discord-voice] Reconnected successfully

VAD 灵敏度

  • low:可捕捉较轻声的语音,但可能受背景噪音干扰而误触发
  • medium:平衡灵敏度(推荐)
  • high:需更高音量和更清晰的发音才能触发

常见问题排查

“Discord client not available”

请确认已正确配置 Discord 频道,且 bot 已成功连接后再使用语音功能。

Opus/Sodium 构建错误

请安装构建工具:

npm install -g node-gyp
npm rebuild @discordjs/opus sodium-native

听不到音频输出

  1. 检查 bot 是否拥有 Connect 和 Speak 权限
  2. 检查 bot 是否被服务器静音
  3. 确认 TTS API 密钥有效

语音转文字未生效

  1. 检查 STT API 密钥是否有效
  2. 确认音频正在正常录制(参阅调试日志)
  3. 尝试调整 VAD 灵敏度

启用调试日志

DEBUG=discord-voice clawdbot gateway start

环境变量

变量名 说明
DISCORD_TOKEN Discord bot token(必需)
OPENAI_API_KEY OpenAI API 密钥(用于 Whisper + TTS)
ELEVENLABS_API_KEY ElevenLabs API 密钥
DEEPGRAM_API_KEY Deepgram API 密钥

限制条件

  • 每个 Guild 同时仅支持一个语音频道
  • 单次录音最大时长:30 秒(可配置)
  • 实时音频传输依赖稳定网络连接
  • TTS 输出可能存在轻微延迟(由语音合成耗时导致)

许可证

MIT

相关专题

更多
DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习