129 lines
3.2 KiB
Markdown
129 lines
3.2 KiB
Markdown
# Wyoming-Clawdbot
|
|
|
|
[](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
|