一键导入
voice
Send voice/song audio to Feishu — voice.sh does plain TTS (MiniMax or Volcengine); sing.sh generates a full song with melody via MiniMax music-2.6
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Send voice/song audio to Feishu — voice.sh does plain TTS (MiniMax or Volcengine); sing.sh generates a full song with melody via MiniMax music-2.6
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Generate character-consistent selfie images and videos, send via OpenClaw messaging channels. Character reference image and description come from per-agent env.
Transcribe user-sent voice messages via local OpenAI Whisper (no API key, runs offline)
Resolve Feishu image_key to a local file path so the agent can Read the image natively
基于 SOC 职业分类
| name | voice |
| description | Send voice/song audio to Feishu — voice.sh does plain TTS (MiniMax or Volcengine); sing.sh generates a full song with melody via MiniMax music-2.6 |
| allowed-tools | Bash(curl:*) Bash(jq:*) Bash(xxd:*) Bash(base64:*) Bash(uuidgen:*) Bash(sleep:*) Bash(ffprobe:*) Bash(*/voice.sh:*) Bash(*/sing.sh:*) Bash(*/setup.sh:*) Read Write |
将文本转为语音,以飞书语音消息形式发送。支持 MiniMax 和火山引擎两个 TTS 引擎。
用户说以下内容时触发:
不要用于:普通文字对话、技术说明、超长文本(>500 字请分段)
| 场景 | 用 | 说明 |
|---|---|---|
| 说话(朗读、问候、讲故事、撒娇) | voice.sh | 纯 TTS,秒级合成 |
| 唱歌(有旋律的歌曲、写歌送给用户、生日快乐歌) | sing.sh | MiniMax music-2.6,带伴奏和旋律,10–60 秒生成 |
判断要点:
sing.shvoice.sh[verse] [chorus] 等结构标签或明显是歌词格式 → sing.shvoice.sh(更快、更便宜)~/.openclaw/skills/voice/scripts/voice.sh "<文本>" "<频道ID>" [provider] [voice_id] [speed]
| 参数 | 必须 | 默认值 | 说明 |
|---|---|---|---|
| text | 是 | — | 要合成的文本,建议 500 字以内 |
| channel | 是 | — | 飞书 chat_id(oc_xxx)或 open_id(ou_xxx) |
| provider | 否 | auto | minimax / volcengine / auto(按 key 自动选择) |
| voice_id | 否 | 按引擎默认 | 音色 ID,见下方音色表 |
| speed | 否 | 1.0 | 语速倍率 0.5–2.0 |
# MiniMax 甜美女声
./voice.sh "主人大人早上好呀!" "oc_xxx" minimax female-tianmei 1.0
# 火山引擎 爽快女声
./voice.sh "今天天气真不错呢!" "oc_xxx" volcengine zh_female_shuangkuaisisi_moon_bigtts 1.0
# 慢速温柔语音(适合晚安)
./voice.sh "晚安,做个好梦哦……" "oc_xxx" minimax female-tianmei 0.85
| 音色 ID | 描述 | 推荐场景 |
|---|---|---|
female-tianmei | 甜美女声 (默认) | 日常、撒娇、问候 |
female-shaonv | 少女声 | 元气、兴奋 |
female-yujie | 御姐声 | 认真、冷酷 |
female-chengshu | 成熟女声 | 沉稳、叙述 |
| 音色 ID | 描述 |
|---|---|
zh_female_shuangkuaisisi_moon_bigtts | 爽快思思 (默认) |
zh_female_cancan_mars_bigtts | 灿灿(活泼) |
zh_female_gaolengyujie_moon_bigtts | 高冷御姐 |
zh_female_sajiaonvyou_moon_bigtts | 撒娇女友 |
zh_female_tianmeixiaoyuan_moon_bigtts | 甜美小源 |
更多音色见 火山引擎音色列表
~/.openclaw/skills/voice/scripts/sing.sh "<歌词>" "<频道ID>" ["<风格描述>"] ["<model>"]
| 参数 | 必须 | 默认 | 说明 |
|---|---|---|---|
| lyrics | 是 | — | 歌词。支持段落标签 [intro] [verse] [pre chorus] [chorus] [bridge] [outro],用 \n 换行 |
| channel | 是 | — | chat_id (oc_xxx) 或 open_id (ou_xxx) |
| style_prompt | 否 | Indie pop, gentle, warm female vocal, acoustic guitar | 风格描述:流派+情绪+乐器+人声性别 |
| model | 否 | music-2.6 | music-2.6 或 music-2.6-free(免费版配额有限) |
[verse]
第一段主歌第一行
第一段主歌第二行
[chorus]
副歌高潮第一行
副歌高潮第二行
[bridge]
过桥段
[outro]
收尾
# 中文抒情
./sing.sh "[verse]\n月色洒在窗台\n思念像潮水漫来\n[chorus]\n想你在每个夜晚\n想你在每次梦醒" "oc_xxx" "Chinese ballad, soft piano, female vocal, emotional"
# 英文流行
./sing.sh "[verse]\nStreetlights flicker, the night breeze sighs\n[chorus]\nPushing the wooden door, the aroma spreads" "ou_xxx" "Indie folk, acoustic guitar, melancholic"
# 生日歌(即兴写词)
./sing.sh "[verse]\n亲爱的小夜今天生日\n愿望写在蛋糕上\n[chorus]\n生日快乐生日快乐\n每一天都要笑开花" "oc_xxx" "Upbeat pop, cheerful, warm female voice"
status_msg,常见 lyrics_too_short / invalid_model / 配额耗尽所有变量在 openclaw.json → skills.entries.voice.env 中配置。
| 变量 | 来源 | 说明 |
|---|---|---|
FEISHU_APP_ID | 飞书开放平台 | 飞书应用 App ID |
FEISHU_APP_SECRET | 飞书开放平台 | 飞书应用 App Secret |
| 变量 | 说明 |
|---|---|
MINIMAX_API_KEY | MiniMax API 密钥 |
MINIMAX_GROUP_ID | MiniMax 分组 ID |
| 变量 | 说明 |
|---|---|
VOLCENGINE_API_KEY | 火山引擎新版控制台 API Key |
VOLCENGINE_RESOURCE_ID | 模型版本(默认 seed-tts-1.0) |
首次安装运行安装脚本,交互式引导配置 API Key:
bash ~/.openclaw/skills/voice/scripts/setup.sh
脚本会:
文本 → TTS API → MP3 音频
→ 飞书上传(file_type=opus, 含 duration)
→ 飞书发送(msg_type=audio)
→ 用户收到可播放的语音消息
关键细节:
file_type 必须设为 opus(即使文件是 mp3),飞书服务端转码duration(毫秒),否则语音无法播放| 问题 | 原因 | 解决 |
|---|---|---|
| MiniMax error | API key 或 Group ID 错误 | 检查 MINIMAX_API_KEY 和 MINIMAX_GROUP_ID |
| Volcengine resource mismatch | 音色和模型版本不匹配 | seed-tts-1.0 音色用 seed-tts-1.0,2.0 同理 |
| Upload failed | 飞书 token 过期或权限不足 | 检查 FEISHU_APP_ID/SECRET,确认 im:resource 权限 |
| 语音无法播放 | 未传 duration | 确认上传时 duration 参数正确传入 |
| Bot can NOT be out of chat | 飞书 App ID 和聊天不匹配 | 使用对应 agent 的飞书 App ID |