據 AlphaMoat 統計,截至 2026-09,Voice Assistant 累計下載 3,020 次、獲 4 個星標,在全部 5,078 個 AI 技能中排名第 3,718 位,在「AI 智慧體」分類(969 個)中排名第 751 位。
| 平台 | 累計安裝 | 累計下載 | 星標 | 評論 |
|---|---|---|---|---|
| ClawHub ↗ | 90 | 2901 | 4 | - |
| SkillHub ↗ | 160 | 3020 | 4 | — |
各平台的計數口徑不同,統計時間不一致。
瀏覽器語音介面連線 OpenClaw 閘道器,可設定語音識別和合成。音訊、轉寫和產生文字可能傳送至第三方並寫入記錄檔;使用可信網路、限制閘道器權限,避免傳輸未獲批准的敏感內容。 需要 Python/uv、已設定執行的 OpenClaw Gateway、麥克風權限與所選 STT/TTS 分支的 Deepgram 或 ElevenLabs 憑證。服務無驗證,綁定 localhost,對外開放前加驗證與 Origin 檢查;審查記錄,不傳送未獲准敏感語音。
資料釋出於 2026-10-27
以下是根據技能文件生成的示例,不代表實際執行結果。
2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。
| 月份 | 累計下載 | 環比 | 星標 |
|---|---|---|---|
| 2026-09 | 3020 | — | 4 |
| 2026-08 | 2797 | +4.5% | 4 |
| 2026-07 | 2677 | — | 4 |
| 2026-05 | 2280 | — | 4 |
| 2026-03 | 1815 | — | 4 |
以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。
---
name: voice-assistant
description: Real-time voice assistant for OpenClaw. Streams mic audio through configurable STT (Deepgram or ElevenLabs) into your OpenClaw agent, then speaks the response via configurable TTS (Deepgram Aura or ElevenLabs). Sub-2s time-to-first-audio with full streaming at every stage.
metadata:
openclaw:
emoji: "🎙️"
requires:
bins: ["uv"]
env: []
primaryEnv: "VOICE_STT_PROVIDER" install:
- id: "uv"
kind: "brew"
formula: "uv"
bins: ["uv"]
label: "Install uv (brew)"
---
# Voice Assistant
Real-time voice interface for your OpenClaw agent. Talk to your agent and hear it respond — with configurable STT and TTS providers, full streaming at every stage, and sub-2 second time-to-first-audio.
## Architecture
```
Browser Mic → WebSocket → STT (Deepgram / ElevenLabs) → Text
→ OpenClaw Gateway (/v1/chat/completions, streaming) → Response Text
→ TTS (Deepgram Aura / ElevenLabs) → Audio chunks → Browser Speaker
```
The voice interface connects to your running OpenClaw gateway's OpenAI-compatible endpoint. It's the same agent with all its context, tools, and memory — just with a voice.
## Quick Start
```bash
cd {baseDir}
cp .env.example .env
# Fill in your API keys and gateway URL
uv run scripts/server.py
# Open http://localhost:7860 and click the mic
```
## Supported Providers
### STT (Speech-to-Text)
| Provider | Model | Latency | Notes |
|-----------|------------------|----------|------------------------------|
| Deepgram | nova-2 (streaming) | ~200-300ms | WebSocket streaming, best accuracy/speed |
| ElevenLabs | Scribe v1 | ~300-500ms | REST-based, good multilingual |
### TTS (Text-to-Speech)
| Provider | Model | Latency | Notes |
|------------|--------------|----------|--------------------------------|
| Deepgram | aura-2 | ~200ms | WebSocket streaming, low cost |
| ElevenLabs | Turbo v2.5 | ~300ms | Best voice quality, streaming |
## Configuration
All configuration is via environment variables in `.env`:
```bash
# === Required ===
OPENCLAW_GATEWAY_URL=http://localhost:4141/v1 # Your OpenClaw gateway
OPENCLAW_MODEL=claude-sonnet-4-5-20250929 # Model your gateway routes to
# === STT Provider (pick one) ===
VOICE_STT_PROVIDER=deepgram # "deepgram" or "elevenlabs"
DEEPGRAM_API_KEY=your-key-here # Required if STT=deepgram
ELEVENLABS_API_KEY=your-key-here # Required if STT=elevenlabs
# === TTS Provider (pick one) ===
VOICE_TTS_PROVIDER=elevenlabs # "deepgram" or "elevenlabs"
# Uses the same API keys as above
# === Optional Tuning ===
VOICE_TTS_VOICE=rachel # ElevenLabs voice name/ID
VOICE_TTS_VOICE_DG=aura-2-theia-en # Deepgram Aura voice
VOICE_VAD_SILENCE_MS=400 # Silence before end-of-turn (ms)
VOICE_SAMPLE_RATE=16000 # Audio sample rate
VOICE_SERVER_PORT=7860 # Server port
VOICE_SYSTEM_PROMPT="" # Optional system prompt override
```
## Provider Combinations
| Setup | Best For |
|------------------------------------|---------------------------------|
| Deepgram STT + ElevenLabs TTS | Best quality voice output |
| Deepgram STT + Deepgram TTS | Lowest latency, single vendor |
| ElevenLabs STT + ElevenLabs TTS | Best multilingual support |
## How It Works
1. **Browser captures mic audio** via Web Audio API and streams raw PCM over a WebSocket
2. **Server receives audio** and pipes it to the configured STT provider's streaming endpoint
3. **STT returns partial transcripts** in real-time; on end-of-utterance the full text is sent to the OpenClaw gateway
4. **OpenClaw gateway streams** the LLM response token-by-token via SSE (Server-Sent Events)
5. **Tokens are accumulated** into sentence-sized chunks and streamed to the TTS provider
6. **TTS returns audio chunks** that are immediately forwarded to the browser over the same WebSocket
7. **Browser plays audio** using the Web Audio API with a jitter buffer for smooth playback
## Interruption Handling (Barge-In)
When the user starts speaking while the agent is still talking:
- Current TTS audio is immediately cancelled
- The agent stops its current response
- New STT session begins capturing the user's interruption
## Usage Examples
```
User: "Hey, set up my voice assistant"
→ OpenClaw runs: cd {baseDir} && cp .env.example .env
→ Opens .env for the user to fill in API keys
→ Runs: uv run scripts/server.py
User: "Start a voice chat"
→ Opens http://localhost:7860 in the browser
User: "Switch TTS to Deepgram"
→ Updates VOICE_TTS_PROVIDER=deepgram in .env
→ Restarts the server
```
## Troubleshooting
- **No audio output?** Check that your TTS API key is valid and the provider is set correctly
- **High latency?** Use Deepgram for both STT and TTS; ensure your gateway is on the same network
- **Cuts off speech?** Increase `VOICE_VAD_SILENCE_MS` to 600-800ms
- **Echo/feedback?** Use headphones, or enable the built-in echo cancellation in the browser UI
## Latency Budget
| Stage | Target | Actual (typical) |
|-------------------------|-----------|------------------|
| Audio capture + VAD | <200ms | ~100-150ms |
| STT transcription | <400ms | ~200-400ms |
| OpenClaw LLM first token| <1500ms | ~500-1500ms |
| TTS first audio chunk | <400ms | ~200-400ms |
| **Total first audio** | **<2.5s** | **~1.0-2.5s** |
將開發過程中的經驗、錯誤與修正記錄為 Markdown 檔案,供日後重用並提升為工作區記憶。
用自然語言描述需求,在本機與遠端技能市場尋找技能並取得推薦。
給 AI agent 用的瀏覽器自動化命令列技能。
將使用者明確糾正與自我檢視整理成分層記憶,並依使用情況升級或封存。
在安裝第三方技能之前,按清單審查來源、許可權與危險模式的技能。
將代理記憶與跨技能狀態整理成具型別與約束的知識圖譜。
規劃 AI 代理主動跟進、工作記憶與回顧流程的工作區設定指南。
指導如何建立與更新有效 Claude 技能的寫作指南。
資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。