用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/duclm1x1/Dive-Ai --skill discord-voice命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Persistent memory system for AI agents following Model Context Protocol (MCP). Use for storing long-term memories across sessions, semantic search of past knowledge, building knowledge graphs, auto-injecting context, deduplicating memories, syncing to cloud storage. Essential for agents that need to remember decisions, solutions, preferences, and learned patterns over time.
Persistent memory system for AI agents following Model Context Protocol (MCP). Use for storing long-term memories across sessions, semantic search of past knowledge, building knowledge graphs, auto-injecting context, deduplicating memories, syncing to cloud storage. Essential for agents that need to remember decisions, solutions, preferences, and learned patterns over time.
Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.
正在显示 SKILL.md
基于 SOC 职业分类
| name | discord-voice |
| description | Real-time voice conversations in Discord voice channels with Claude AI |
| metadata | {"clawdbot":{"config":{"requiredEnv":["DISCORD_TOKEN","OPENAI_API_KEY"],"optionalEnv":["ELEVENLABS_API_KEY","DEEPGRAM_API_KEY"],"systemDependencies":["ffmpeg","build-essential"],"example":"{\n \"plugins\": {\n \"entries\": {\n \"discord-voice\": {\n \"enabled\": true,\n \"config\": {\n \"sttProvider\": \"whisper\",\n \"ttsProvider\": \"openai\",\n \"ttsVoice\": \"nova\",\n \"vadSensitivity\": \"medium\",\n \"streamingSTT\": true,\n \"bargeIn\": true,\n \"allowedUsers\": []\n }\n }\n }\n }\n}\n"}}} |
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)@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": "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 | "whisper" | "whisper" or "deepgram" |
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:
/voice join <channel> - Join a voice channel/voice leave - Leave the current voice channel/voice status - Show voice connection status# Join a voice channel
clawdbot voice join <channelId>
# Leave voice
clawdbot voice leave --guild <guildId>
# Check status
clawdbot 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:
npm install -g node-gyp
npm rebuild @discordjs/opus sodium-native
DEBUG=discord-voice clawdbot gateway start
| Variable | Description |
|---|---|
DISCORD_TOKEN | Discord bot token (required) |
OPENAI_API_KEY | OpenAI API key (Whisper + TTS) |
ELEVENLABS_API_KEY | ElevenLabs API key |
DEEPGRAM_API_KEY | Deepgram API key |
MIT