/install feishu-voice-elevenlabs
Feishu Voice (TTS + STT)
Send voice messages and transcribe received voice messages on Feishu using ElevenLabs.
Prerequisites
sagCLI (ElevenLabs TTS):npm i -g sagorgo installffmpeg/ffprobe:brew install ffmpeg- ElevenLabs paid plan (required for library voices)
- Feishu app with
im:message:send_as_botandim:filepermissions
Environment Variables
| Variable | Required | Description |
|---|---|---|
ELEVENLABS_API_KEY |
✅ | ElevenLabs API key |
FEISHU_APP_ID |
✅ (TTS) | Feishu app ID |
FEISHU_APP_SECRET |
✅ (TTS) | Feishu app secret |
ELEVENLABS_VOICE_ID |
✅ (TTS) | Voice ID (browse at elevenlabs.io/voice-library) |
ELEVENLABS_MODEL_ID |
✅ (TTS) | Model ID (e.g. eleven_multilingual_v2, eleven_v3) |
ELEVENLABS_SPEED |
❌ | Speech speed 0.5-2.0 (default: 1.0) |
If FEISHU_APP_ID / FEISHU_APP_SECRET are not in env, extract from openclaw config:
export FEISHU_APP_ID=$(python3 -c "import json; print(json.load(open('$HOME/.openclaw/openclaw.json'))['channels']['feishu']['appId'])")
export FEISHU_APP_SECRET=$(python3 -c "import json; print(json.load(open('$HOME/.openclaw/openclaw.json'))['channels']['feishu']['appSecret'])")
Voice Selection
See config/voice-config.example.json for a curated voice list. Browse all voices at https://elevenlabs.io/voice-library or run sag voices.
Recommended models:
eleven_multilingual_v2— best for Chinese and multilingual contenteleven_v3— latest English-optimized model
Sending Voice Messages (TTS)
scripts/feishu-voice-send.sh \x3Ctext> \x3Creceive_id> [receive_id_type] [speed]
receive_id: target useropen_idorchat_idreceive_id_type:open_id(default) orchat_idspeed: speech speed multiplier, 0.5-2.0 (default: 1.0)
Receiving Voice Messages (STT)
When OpenClaw delivers a Feishu voice message, it arrives as a media attachment (.ogg file). Transcribe with:
scripts/feishu-voice-stt.sh /path/to/audio.ogg
Returns recognized text to stdout. Uses ElevenLabs scribe_v1 model with automatic language detection.
Fallback: Download via Feishu API
If the audio file is not delivered as an attachment (only file_key available):
- List recent messages:
GET /im/v1/messages?container_id_type=chat&container_id=CHAT_ID&page_size=5&sort_type=ByCreateTimeDesc - Download audio:
GET /im/v1/messages/{message_id}/resources/{file_key}?type=file - Run STT script on the downloaded file
Smart Reply Mode
When receiving messages, follow this pattern for natural conversation:
- Voice message received → transcribe with STT → understand → reply with voice (TTS)
- Text message received → understand → reply with text
- Override: user can request voice/text reply explicitly
Important Notes
- Feishu
msg_typemust be"audio"— not"media"or"file" - OpenClaw's
messagetoolasVoicedoes not work correctly for Feishu — use this script instead - STT uses ElevenLabs
scribe_v1model, supports Chinese, English, and 90+ languages - For free ElevenLabs accounts, only premade voices work; library voices require a paid plan
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install feishu-voice-elevenlabs - 安装完成后,直接呼叫该 Skill 的名称或使用
/feishu-voice-elevenlabs触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Feishu Voice (ElevenLabs) 是什么?
Send and receive voice messages on Feishu (Lark) using ElevenLabs TTS and STT. Activate when user asks to send a voice message on Feishu, or when receiving a... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 489 次。
如何安装 Feishu Voice (ElevenLabs)?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install feishu-voice-elevenlabs」即可一键安装,无需额外配置。
Feishu Voice (ElevenLabs) 是免费的吗?
是的,Feishu Voice (ElevenLabs) 完全免费(开源免费),可自由下载、安装和使用。
Feishu Voice (ElevenLabs) 支持哪些平台?
Feishu Voice (ElevenLabs) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Feishu Voice (ElevenLabs)?
由 DongDong(@dongdongbear)开发并维护,当前版本 v1.1.0。