Real-time voice conversations in Discord voice channels with Claude AI
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install discord-voice或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install discord-voice⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/discord-voice/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: discord-voice description: Real-time voice conversations in Discord voice channels with Claude AI metadata: clawdbot: config: requiredConfig: - discord.token optionalEnv: - OPENAI_API_KEY - ELEVENLABS_API_KEY - DEEPGRAM_API_KEY systemDependencies: - ffmpeg - build-essential example: | { "plugins": { "entries": { "discord-voice": { "enabled": true, "config": { "sttProvider": "local-whisper", "ttsProvider": "openai", "ttsVoice": "nova", "vadSensitivity": "medium", "streamingSTT": true, "bargeIn": true, "allowedUsers": [] } } } } } ---
Real-time voice conversations in Discord voice channels. Join a voice channel, speak, and have your words transcribed, processed by Claude, and spoken back.
- ffmpeg (audio processing) - Native build tools for @discordjs/opus and sodium-native
# Ubuntu/Debian
sudo apt-get install ffmpeg build-essential python3
# Fedora/RHEL
sudo dnf install ffmpeg gcc-c++ make python3
# macOS
brew install ffmpeg
clawdhub install discord-voice
Or manually:
cd ~/.clawdbot/extensions
git clone <repository-url> discord-voice
cd discord-voice
npm install
{
plugins: {
entries: {
"discord-voice": {
enabled: true,
config: {
sttProvider: "local-whisper",
ttsProvider: "openai",
ttsVoice: "nova",
vadSensitivity: "medium",
allowedUsers: [], // Empty = allow all users
silenceThresholdMs: 1500,
maxRecordingMs: 30000,
openai: {
apiKey: "sk-...", // Or use OPENAI_API_KEY env var
},
},
},
},
},
}
Ensure your Discord bot has these permissions:
Add these to your bot's OAuth2 URL or configure in Discord Developer Portal.
| Option | Type | Default | Description | | --------------------- | -------- | ----------------- | ----------------------------------------------- | | enabled | boolean | true | Enable/disable the plugin | | sttProvider | string | "local-whisper" | "whisper", "deepgram", or "local-whisper" | | streamingSTT | boolean | true | Use streaming STT (Deepgram only, ~1s faster) | | ttsProvider | string | "openai" | "openai" or "elevenlabs" | | ttsVoice | string | "nova" | Voice ID for TTS | | vadSensitivity | string | "medium" | "low", "medium", or "high" | | bargeIn | boolean | true | Stop speaking when user talks | | allowedUsers | string[] | [] | User IDs allowed (empty = all) | | silenceThresholdMs | number | 1500 | Silence before processing (ms) | | maxRecordingMs | number | 30000 | Max recording length (ms) | | heartbeatIntervalMs | number | 30000 | Connection health check interval | | autoJoinChannel | string | undefined | Channel ID to auto-join on startup |
{
openai: {
apiKey: "sk-...",
whisperModel: "whisper-1",
ttsModel: "tts-1",
},
}
{
elevenlabs: {
apiKey: "...",
voiceId: "21m00Tcm4TlvDq8ikWAM", // Rachel
modelId: "eleven_multilingual_v2",
},
}
{
deepgram: {
apiKey: "...",
model: "nova-2",
},
}
Once registered with Discord, use these commands:
/discord_voice join - Join a voice channel/discord_voice leave - Leave the current voice channel/discord_voice status - Show voice connection status# Join a voice channel
clawdbot discord_voice join <channelId>
# Leave voice
clawdbot discord_voice leave --guild <guildId>
# Check status
clawdbot discord_voice status
The agent can use the discord_voice tool:
Join voice channel 1234567890
The tool supports actions:
join - Join a voice channel (requires channelId)leave - Leave voice channelspeak - Speak text in the voice channelstatus - Get current voice statusWhen using Deepgram as your STT provider, streaming mode is enabled by default. This provides:
To use streaming STT:
{
sttProvider: "deepgram",
streamingSTT: true, // default
deepgram: {
apiKey: "...",
model: "nova-2",
},
}
When enabled (default), the bot will immediately stop speaking if a user starts talking. This creates a more natural conversational flow where you can interrupt the bot.
To disable (let the bot finish speaking):
{
bargeIn: false,
}
The plugin includes automatic connection health monitoring:
If the connection drops, you'll see logs like:
[discord-voice] Disconnected from voice channel
[discord-voice] Reconnection attempt 1/3
[discord-voice] Reconnected successfully
Ensure the Discord channel is configured and the bot is connected before using voice.
Install build tools:
...
安装 Discord Voice 后,可以对 AI 说这些话来触发它
Send a Slack message to the #engineering channel about the deployment
Formats and sends the message with relevant context, tagging the right people
Summarize all unread messages in my inbox from today
Reads messages across connected channels and returns a prioritized summary
Draft a reply to this customer complaint and send it for review
Writes an empathetic, professional response and routes it to the approval queue
将技能文件夹放到 ~/.claude/skills/discord-voice/ 目录(个人级,所有项目可用),或 .claude/skills/discord-voice/(项目级)。重启 AI 客户端后,用 /discord-voice 主动调用,或让 AI 根据上下文自动发现并使用。
Discord Voice 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Discord Voice 可免费安装使用。请查阅仓库了解许可证信息。
Real-time voice conversations in Discord voice channels with Claude AI
Discord Voice 属于「Communication」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。