360 Secure SkillHub
360 安全技能中心

Discord Voice Using Deepgram

Clawdbot/OpenClaw 插件:在 Discord 语音频道与 agent 对话,音频经 Deepgram 流式 STT 转写、回复经 Deepgram TTS 以 Ogg/Opus 流式回放;需 DISCORD_TOKEN 与 DEEPGRAM_API_KEY,支持 primaryUser 白名单与唤醒词切换说话人。

adriel1006
adriel1006
热度 88.88
最近更新 2026-05-18 12:02:02
分类:协作依赖:第三方 API应用场景:工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add discord-voice-deepgram
Metadata
name
deepgram-discord-voice
description
Voice-channel conversations in Discord using Deepgram streaming STT + low-latency TTS
metadata
{"clawdbot":{"config":{"requiredEnv":["DISCORD_TOKEN","DEEPGRAM_API_KEY"],"optionalEnv":[],"example":"{\n \"plugins\": {\n \"entries\": {\n \"deepgram-discord-voice\": {\n \"enabled\": true,\n \"config\": {\n \"streamingSTT\": true,\n \"streamingTTS\": true,\n \"ttsVoice\": \"aura-2-thalia-en\",\n \"vadSensitivity\": \"medium\",\n \"bargeIn\": true,\n\n \"primaryUser\": \"atechy\",\n \"allowVoiceSwitch\": true,\n \"wakeWord\": \"openclaw\",\n\n \"deepgram\": {\n \"sttModel\": \"nova-2\",\n \"language\": \"en-US\"\n }\n }\n }\n }\n }\n}\n"}}}

Deepgram Discord Voice (Clawdbot/OpenClaw Plugin)

This plugin lets you talk to your agent only from a Discord voice channel.

Pipeline (low latency):

  • Discord voice audio → Deepgram streaming STT (WebSocket)
  • Transcript → your agent
  • Agent reply → Deepgram TTS (/v1/speak streamed HTTP Ogg/Opus)
  • Audio played back into the voice channel

Requirements

  • A Discord bot token (DISCORD_TOKEN)
  • A Deepgram API key (DEEPGRAM_API_KEY)
  • Discord bot permissions in your server:
    • Connect
    • Speak
    • Use Voice Activity

Install

Option A: Install from ClawHub

  1. In your OpenClaw/Clawdbot dashboard, open Skills/Plugins.
  2. Add/install deepgram-discord-voice.
  3. Set the required environment variables.

Option B: Manual install

  1. Copy this folder into your extensions/plugins directory.
  2. Run:
npm install
  1. Restart OpenClaw/Clawdbot.

Configuration

Key settings

  • primaryUser (recommended): Who the bot listens to by default.

    • Best: your Discord user ID (numeric)
    • Also supported: username/display name (e.g., atechy) if unique in-channel
  • allowVoiceSwitch: If true, the primary user can switch who is allowed by voice.

  • wakeWord: Prefix for voice control commands. Default: openclaw.

  • deepgram.sttModel: Default nova-2.

  • deepgram.language: Optional BCP‑47 language tag (e.g., en-US, es, es-EC).

  • ttsVoice: Deepgram Aura voice model (e.g., aura-2-thalia-en).

Example config

{
  "plugins": {
    "entries": {
      "deepgram-discord-voice": {
        "enabled": true,
        "config": {
          "streamingSTT": true,
          "streamingTTS": true,

          "primaryUser": "atechy",
          "allowVoiceSwitch": true,
          "wakeWord": "openclaw",

          "ttsVoice": "aura-2-thalia-en",
          "vadSensitivity": "medium",
          "bargeIn": true,

          "deepgram": {
            "sttModel": "nova-2",
            "language": "en-US"
          }
        }
      }
    }
  }
}

Usage

Join a voice channel

Use the plugin tool or slash command (depends on your OpenClaw setup):

  • Join: action=join with the channelId
  • Leave: action=leave

Talk (voice channel)

Once the bot is connected, just speak.

Safeguard: only listen to you (default)

When primaryUser is set, the plugin will only listen to that user unless you allow someone else.

Let someone else talk (voice commands)

As the primary user, say:

  • openclaw allow <name>
  • openclaw listen to <name>

To lock it back:

  • openclaw only me
  • openclaw reset

Switch via tool actions (optional)

  • allow_speaker with user (id / @mention / name)
  • only_me
  • status

Notes

  • Lowest latency comes from streamingSTT=true and streamingTTS=true.
  • Deepgram TTS is streamed over HTTP in Ogg/Opus so Discord can play it immediately.