Voice
Voice Device
An OpenClaw plugin that connects local voice hardware to OpenClaw as a full channel β with persistent sessions, memory, and persona.
Install
npm install openclaw-voice-device
Configuration Example
{
"plugins": {
"voice-device": {}
}
}
README
# openclaw-voice-device
An [OpenClaw](https://openclaw.ai) plugin that connects local voice hardware to OpenClaw as a full channel β with persistent sessions, memory, and persona.
## What it does
Lets any voice device send a speech transcript to OpenClaw and receive a reply, routed through the full OpenClaw session pipeline. The device gets access to the AI's complete persona, conversation history, memory, and tools β not just a one-shot completion.
```
Device sends: { "device_id": "my-device-001", "transcript": "what is the weather today" }
OpenClaw runs: full session pipeline (persona + memory + tools)
Device gets: { "reply": "It's 62 degrees and partly cloudy." }
```
Compare this to hitting `/v1/chat/completions` directly:
- Sessions persist across utterances β the AI remembers what you said a moment ago
- Full persona and memory β same AI you talk to on any other channel
- Cross-channel continuity β start a conversation on your phone, continue it by voice
- No context management needed on the device
## Requirements
- OpenClaw gateway (self-hosted)
- Any device that can make HTTP requests and play audio
## Installation
```bash
npm install openclaw-voice-device
```
Then add to your OpenClaw config:
```json
{
"plugins": {
"voice-device": {}
}
}
```
## Device API
### Send a transcript
```
POST /voice-device/transcribe
Authorization: Bearer <device-token>
Content-Type: application/json
{
"device_id": "my-device-001",
"transcript": "what is the weather today"
}
```
Response:
```json
{
"reply": "It's 62 degrees and partly cloudy.",
"session_id": "sess_xyz"
}
```
### Request a pairing code
```
POST /voice-device/pair/request
Content-Type: application/json
{ "device_id": "my-device-001" }
```
Response:
```json
{
"code": "DEVICE-7K4M",
"expires_in": 300
}
```
The user approves the code in OpenClaw UI or via the `/pair` command. Once approved, the device polls for its token:
```
GET /voice-device/pair/poll?code=DEVICE-7K4M
```
## Status
π§ **Early development** β API may change before v1.0.
## License
MIT
voice
Comments
Sign in to leave a comment