OpenClaw voice assistant plugin — wake word detection, speech-to-text, text-to-speech, all as a standard OpenClaw plugin.
- 🗣️ Wake word — configurable trigger (default: "미르야")
- 🎤 STT — SenseVoice (primary), faster-whisper, OpenAI Whisper
- 🔊 TTS — Edge TTS, Piper, macOS
say - 🧠 Agent integration — Voice input goes directly to your OpenClaw agent
- ⚙️ Standard plugin —
openclaw.plugin.jsonmanifest, config viaopenclaw.yaml
Node.js (OpenClaw plugin) ◄── JSON-RPC stdio ──► Python (audio/ML)
├── index.ts (entry) ├── vad.py (Silero VAD)
├── bridge.ts (IPC) ├── stt.py (SenseVoice/Whisper)
│ ├── tts.py (Edge TTS)
│ └── audio.py (PyAudio)
# Install as OpenClaw plugin
cd ~/voiceclaw
openclaw plugins install .
# Install Python dependencies
bash scripts/install-python.sh# Via chat command
/voiceclaw start
/voiceclaw stop
/voiceclaw status
# Via Gateway RPC
# voiceclaw.status
# voiceclaw.config {action: "get"}plugins:
entries:
voiceclaw:
enabled: true
config:
stt:
engine: sensevoice
language: ko
tts:
engine: edge-tts
voice: ko-KR-SunHiNeural
wakeWord: "미르야"
vad:
threshold: 0.5
autoStart: false
agentId: main| Issue | Solution |
|---|---|
| No audio input detected | Check System Settings → Privacy → Microphone permissions |
| PyAudio install fails | Run brew install portaudio first, then retry |
| Wake word not triggering | Lower vad.threshold (e.g., 0.3) in config |
| TTS no sound output | Verify audio output device; try say "test" in terminal |
| Python bridge won't start | Ensure python3 -m pip list shows all deps from requirements.txt |
npm install
npm run build # TypeScript → dist/
npm run dev # Watch modeMIT © MUIN