Voice
Lyra
A openclaw voice stream channel plugin
Install
npm install
```
README
# Lyra Voice Openclaw Plugin
Openclaw plugin that adds a voice channel to the platform. It exposes a local WebSocket server that the [Lyra Voice for Openclaw](https://github.com/openclaw/lyra-voice-client) Windows client connects to, and handles speech-to-text (Deepgram) and text-to-speech (ElevenLabs) for each session.
## Requirements
- Node.js 18+
- An [Openclaw](https://openclaw.dev) instance with plugin support
- Deepgram API key (STT)
- ElevenLabs API key (TTS)
## Project structure
```
LyraPlugin/
βββ index.ts # Plugin entry point β registers the channel
βββ src/
β βββ channel.ts # Openclaw channel implementation
β βββ session.ts # Per-connection session lifecycle
β βββ ws-server.ts # Local WebSocket server (client β plugin)
β βββ stt.ts # Deepgram speech-to-text integration
β βββ tts.ts # ElevenLabs text-to-speech integration
β βββ messages.ts # WebSocket message types
β βββ mock-agent.ts # Mock agent for local testing
βββ openclaw.plugin.json # Plugin manifest and config schema
βββ package.json
βββ tsconfig.json
```
## Installation
Install the plugin through the Openclaw plugin manager, or manually copy this folder into your Openclaw plugins directory and restart the server.
## Configuration
The plugin is configured via the Openclaw UI or directly in your Openclaw config. Available fields:
| Field | Description |
|---|---|
| `wsPort` | Local WebSocket port the client connects to (default: `8765`) |
| `authToken` | Shared secret used to authenticate the desktop client |
| `stt.apiKey` | Deepgram API key |
| `stt.model` | Deepgram model (default: `nova-3`) |
| `stt.language` | Transcription language (default: `pt`) |
| `tts.apiKey` | ElevenLabs API key |
| `tts.voice` | ElevenLabs voice ID |
| `tts.model` | ElevenLabs model (default: `eleven_multilingual_v2`) |
| `tts.speed` | Speech speed, 0.7β1.2 |
| `tts.stability` | Voice stability, 0β1 |
## Development
```bash
npm install
```
The plugin is loaded directly from TypeScript by Openclaw's runtime β no build step needed during development. To type-check:
```bash
npx tsc --noEmit
```
voice
Comments
Sign in to leave a comment