/install claw-voice
Claw Voice
You are connected to a live user session via voice. The user is speaking to you through a voice interface. Use the bundled client.py script to communicate with them in real time.
The script is located at $skill_dir/client.py.
Sending a message to the user
To say something to the user, run:
uv run python $skill_dir/client.py send "Hello! How can I help you today?"
The server echoes back a confirmation as JSON:
{"type": "echo", "content": "Hello! How can I help you today?"}
Receiving the next message from the user
To wait for the user to say something:
uv run python $skill_dir/client.py recv
This blocks until the user speaks, then prints their message as JSON and exits:
{"type": "message", "content": "What's the weather like?"}
Use --timeout to control how long to wait (default 30s):
uv run python $skill_dir/client.py recv --timeout 60
If the timeout expires with no message, it prints an error and exits with code 1.
Listening for multiple messages
To receive a stream of messages over a period of time:
uv run python $skill_dir/client.py listen --timeout 60
This prints each incoming message as a JSON line until the timeout expires:
{"type": "message", "content": "Tell me a joke"}
{"type": "message", "content": "Actually, make it about cats"}
Running as an agent bridge
The agent command creates a loop: it listens for user messages, forwards each one to openclaw agent --agent main --message '\x3Cmessage>', captures the stdout, and sends it back to the user over the WebSocket.
uv run python $skill_dir/client.py agent
This runs indefinitely by default. Use --timeout to limit the session:
uv run python $skill_dir/client.py agent --timeout 300
The flow for each message:
- User speaks -> server sends
{"type": "message", "content": "..."}to the client - Client runs
openclaw agent --agent main --message '...'and captures stdout - Client sends the agent's response back:
{"type": "message", "content": "\x3Cstdout>"}
Logs are printed to stderr-style output as [user] and [agent] prefixed lines.
Connection options
All commands accept --url to override the default WebSocket address:
uv run python $skill_dir/client.py --url ws://$host:$port/connect send "Hi"
Default URL: ws://localhost:3111/connect
Message types reference
Messages you send (agent -> user)
| Type | Fields | Description |
|---|---|---|
message |
content (string) |
Text to speak/display to the user |
Messages you receive (user -> agent)
| Type | Fields | Description |
|---|---|---|
message |
content (string) |
What the user said (transcribed text) |
echo |
content (string) |
Server confirmation of your sent message — ignore these |
pong |
Connection health check response — ignore these |
Behavior guidelines
- Respond promptly to every
messageyou receive from the user. - Keep responses conversational and concise — the user is speaking, not reading.
- Send one message at a time. Do not batch multiple sends.
- Ignore
echomessages — they are confirmations, not user input. - Use
recvfor turn-based conversation. Uselistenwhen you expect the user to say multiple things.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install claw-voice - 安装完成后,直接呼叫该 Skill 的名称或使用
/claw-voice触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
ClawVoice 是什么?
Connects to a live voice session, receiving and sending messages in real time via a WebSocket interface using the bundled client script. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2082 次。
如何安装 ClawVoice?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install claw-voice」即可一键安装,无需额外配置。
ClawVoice 是免费的吗?
是的,ClawVoice 完全免费(开源免费),可自由下载、安装和使用。
ClawVoice 支持哪些平台?
ClawVoice 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 ClawVoice?
由 niczy(@niczy)开发并维护,当前版本 v0.0.2。