Files

129 lines
3.2 KiB
Markdown

# Wyoming-Clawdbot
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
Wyoming Protocol server that bridges [Home Assistant Assist](https://www.home-assistant.io/voice_control/) to [Clawdbot](https://clawd.bot) — enabling voice control of your AI assistant.
## Features
- 🎤 Voice commands through Home Assistant Assist
- 🤖 Powered by Clawdbot AI (Claude, GPT, etc.)
- 🏠 Full Home Assistant integration
- 🌍 Multilingual support (English, Russian, German, French, and more)
- 💬 Persistent conversation context
## How It Works
```
Voice → Home Assistant → STT → Wyoming-Clawdbot → Clawdbot → Response → TTS → Speaker
```
1. You speak to your Home Assistant voice satellite (ESPHome, etc.)
2. Speech-to-Text converts your voice to text
3. Wyoming-Clawdbot sends the text to Clawdbot
4. Clawdbot processes and returns a response
5. Text-to-Speech speaks the response
## Requirements
- [Clawdbot](https://clawd.bot) installed and running
- Home Assistant with Wyoming integration
- Python 3.11+ (or Docker)
## Installation
### Docker Compose (recommended)
```bash
git clone https://github.com/vglafirov/wyoming-clawdbot.git
cd wyoming-clawdbot
docker-compose up -d
```
### Manual
```bash
# Clone the repository
git clone https://github.com/vglafirov/wyoming-clawdbot.git
cd wyoming-clawdbot
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
```
## Usage
### Basic
```bash
python wyoming_clawdbot.py --port 10600
```
### With persistent session (recommended)
```bash
python wyoming_clawdbot.py --port 10600 --session-id voice-assistant
```
### Options
| Option | Description | Default |
|--------|-------------|---------|
| `--host` | Host to bind to | `0.0.0.0` |
| `--port` | Port to listen on | `10400` |
| `--session-id` | Clawdbot session ID for context persistence | random |
| `--agent` | Clawdbot agent ID | default |
| `--debug` | Enable debug logging | false |
## Systemd Service
Create `/etc/systemd/system/wyoming-clawdbot.service`:
```ini
[Unit]
Description=Wyoming Clawdbot Bridge
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/wyoming-clawdbot
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
ExecStart=/path/to/wyoming-clawdbot/venv/bin/python wyoming_clawdbot.py --port 10600 --session-id voice-assistant
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
```
Then:
```bash
sudo systemctl daemon-reload
sudo systemctl enable wyoming-clawdbot
sudo systemctl start wyoming-clawdbot
```
## Home Assistant Configuration
1. Go to **Settings → Devices & Services → Add Integration**
2. Search for **Wyoming Protocol**
3. Enter the host and port (e.g., `192.168.1.100:10600`)
4. The "clawdbot" conversation agent will appear
5. Configure your Voice Assistant pipeline to use "clawdbot" as the Conversation Agent
## License
MIT License - see [LICENSE](LICENSE) for details.
## Credits
- [Clawdbot](https://clawd.bot) - AI assistant platform
- [Wyoming Protocol](https://github.com/rhasspy/wyoming) - Voice assistant protocol
- [Home Assistant](https://www.home-assistant.io/) - Home automation platform