← Back to Plugins
Voice

Whisper

AgentClaws By AgentClaws 👁 499 views ▲ 0 votes

Voice transcription plugin for OpenClaw β€” local Whisper, Groq, or OpenAI

GitHub

Install

pip install openai-whisper

Configuration Example

{
  "plugins": {
    "openclaw-whisper": {
      "enabled": true,
      "provider": "groq",
      "apiKey": "gsk_your_key_here"
    }
  }
}

README

# @agentclaws/openclaw-whisper

Voice message transcription for [OpenClaw](https://openclaw.com). Send a voice note on Telegram, WhatsApp, or Discord β€” your agent reads it as text.

Fixes [#14374](https://github.com/openclaw/openclaw/issues/14374).

## Quick Start
```bash
openclaw plugins install @agentclaws/openclaw-whisper
```

Works immediately with local Whisper. No API key needed.

### Requirements (local mode)
```bash
pip install openai-whisper
apt install ffmpeg
```

## Providers

| Provider | Cost | Speed | Setup |
|----------|------|-------|-------|
| **local** (default) | Free | ~10s/msg | `pip install openai-whisper` |
| **groq** | Free tier | ~1s/msg | Add `apiKey` to config |
| **openai** | $0.006/min | ~2s/msg | Add `apiKey` to config |

Local mode is the default. For faster transcription, add a Groq or OpenAI key:
```json
{
  "plugins": {
    "openclaw-whisper": {
      "enabled": true,
      "provider": "groq",
      "apiKey": "gsk_your_key_here"
    }
  }
}
```

## How It Works

1. Voice note arrives via Telegram/WhatsApp/Discord
2. OpenClaw saves audio to `~/.openclaw/media/inbound/`
3. Plugin detects new file, transcribes it
4. Text injected into agent context as `[Voice] your message here`
5. Agent responds naturally

Supports `.ogg` `.opus` `.mp3` `.wav` `.m4a` `.webm` `.flac` up to 25MB.

## Config

| Option | Default | Description |
|--------|---------|-------------|
| `provider` | `"local"` | `"local"`, `"groq"`, or `"openai"` |
| `apiKey` | β€” | API key for groq/openai (not needed for local) |
| `model` | auto | local: `base`. groq: `whisper-large-v3-turbo`. openai: `whisper-1` |
| `language` | `"en"` | ISO 639-1 code |
| `autoTranscribe` | `true` | Watch for new voice messages |
| `pollSec` | `3` | Check interval (seconds) |
| `watchDir` | auto | Override media directory path |

## Gateway API
```javascript
await gateway.request("whisper.transcribe", { file: "/path/to/audio.ogg" });
await gateway.request("whisper.status");
```

## License

MIT
voice

Comments

Sign in to leave a comment

Loading comments...