← Back to Plugins
Voice

Lyra

tiagoguirra By tiagoguirra 👁 12 views ▲ 0 votes

A openclaw voice stream channel plugin

GitHub

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

Loading comments...