90 lines
2.3 KiB
Markdown
90 lines
2.3 KiB
Markdown
# Discord Voice Bot (GLaDOS)
|
|
|
|
## Overview
|
|
Voice-controlled Discord bot with conversational AI — always available in #coding voice channel
|
|
|
|
---
|
|
|
|
## Location
|
|
`/home/admin/.openclaw/workspace/discord-voice-bot/`
|
|
|
|
---
|
|
|
|
## Architecture (Completed 2026-02-08)
|
|
|
|
### Components
|
|
| Component | Endpoint | Purpose |
|
|
|-----------|----------|---------|
|
|
| **TTS** | 192.168.0.17:5050 | GLaDOS voice synthesis |
|
|
| **STT** | 192.168.0.17:10300 | Whisper via Wyoming protocol |
|
|
| **LLM** | 192.168.0.17:11434 | Ollama (qwen3-coder-next:cloud) |
|
|
| **Auto-join** | On startup | Joins #coding voice channel |
|
|
|
|
### Voice Pipeline
|
|
```
|
|
Wake Word → STT (Whisper) → LLM (Ollama) → TTS (GLaDOS) → Voice Output
|
|
```
|
|
|
|
---
|
|
|
|
## Commands
|
|
- `!join` — Join voice channel
|
|
- `!leave` — Leave voice channel
|
|
- `!test [text]` — Test TTS synthesis
|
|
- `!listen` — 5-second voice recording (7-10 sec latency)
|
|
|
|
---
|
|
|
|
## MCP Integration (OpenClaw Bridge)
|
|
|
|
### MCP Tools Available via Voice
|
|
- `list_projects()` — "What am I working on?"
|
|
- `create_project(name)` — Start new project
|
|
- `add_task(project, task)` — Add tasks via voice
|
|
- `update_task_status(taskId, status)` — Mark complete
|
|
- `get_project_status()` — Check overall progress
|
|
|
|
### MCP Server Config
|
|
```yaml
|
|
mcp_servers:
|
|
- name: "openclaw"
|
|
transport: "stdio"
|
|
command: "python"
|
|
args:
|
|
- "C:\Users\admin\.openclaw\workspace\discord-voice-bot\openclaw_mcp_server.py"
|
|
```
|
|
|
|
---
|
|
|
|
## Files Created
|
|
- `openclaw_mcp_server.py` — FastMCP server exposing OpenClaw tools
|
|
- `main.py` — Bot implementation using discord.py, wyoming
|
|
- `config.yaml` — Configuration
|
|
- `requirements.txt` — Dependencies (discord.py, requests, numpy, wyoming)
|
|
|
|
---
|
|
|
|
## What Changed (v2)
|
|
- Removed GLaDOS direct dependencies (simpler integration)
|
|
- Uses existing services (Whisper, Ollama, HTTP TTS)
|
|
- Auto-joins voice channel on startup
|
|
- Clean async architecture
|
|
- MCP bridge for OpenClaw integration
|
|
|
|
---
|
|
|
|
## Known Limitations
|
|
- Voice latency: 7-10 seconds for `!listen` (5s recording + processing)
|
|
- Not conversational due to latency
|
|
- Best for command-based interactions, not real-time chat
|
|
|
|
---
|
|
|
|
## Status
|
|
✅ **COMPLETED** — Operational in #coding voice channel
|
|
|
|
Bot auto-joins on startup and accepts voice commands via MCP bridge.
|
|
|
|
---
|
|
|
|
*Status: Complete | Version: 2.0 | Updated: 2026-02-22* |