OpenClaw 入门系列
你有没有想过,让 AI 在飞书群里"开口说话"?
不是打字,是那种你点开就能听到声音的语音气泡——就像朋友给你发了一条语音消息一样。
今天这篇文章,我会手把手教你从零开始,用三步搞定这件事:
1. 用 edge-tts 生成语音(免费)
2. 用 ffmpeg 转成飞书支持的 OPUS 格式
3. 用 OpenClaw 发送到飞书群
整个过程不需要花一分钱,不需要任何专业背景。只要你有一台能联网的电脑,跟着做就行。
开始之前(前提条件)
本文假设你已经部署好了 OpenClaw,并且完成了飞书机器人的配置(能正常在飞书里收发文字消息)。如果你还没装 OpenClaw,可以先去 docs.openclaw.ai 看安装文档,5 分钟就能搞定。装好之后回来继续看就行。
什么是语音气泡?为什么值得玩?
语音气泡就是飞书聊天里那种小气泡形状的语音消息。和文字消息不同,它直接播放声音,更适合:
- 早上好问候——每天群里来一段"大家早上好,今天天气不错",比冷冰冰的文字有温度多了
- 提醒播报——"距离会议还有15分钟",比 @人 更有存在感
- 有趣的互动——让 AI 用东北话念段子,群里氛围直接拉满
- 语音日报——把每天的工作总结念出来,通勤路上听,解放双眼
而且,这一切都可以自动化。你不需要每次手动操作——OpenClaw 可以定时、按条件触发,让你的 AI Agent 真正"开口说话"。
环境准备:安装必备工具
在开始之前,你需要两个工具:Python(用来装 edge-tts)和 ffmpeg(用来转音频格式)。
安装 Python + edge-tts
绝大多数电脑已经自带 Python。打开终端(Mac/Linux)或命令提示符/PowerShell(Windows),输入:
bash python --version |
如果能显示版本号(比如 Python 3.10.x),说明 Python 已经就位。如果没有,去 python.org 下载安装。
然后安装 edge-tts:
bash pip install edge-tts |
安装完成后验证一下:
bash edge-tts --text "测试一下" --write-media ~/.openclaw/workspace/test.mp3 |
如果没报错,就说明安装成功了。edge-tts 是微软 Edge 浏览器语音服务的命令行封装,完全免费,没有使用限制,支持 400 多个语音角色。GitHub 地址:rany2/edge-tts
安装 ffmpeg
ffmpeg 是音频/视频处理的瑞士军刀。我们需要它来把 MP3 转成 OPUS 格式。
不同系统的安装方式:
- macOS:`brew install ffmpeg`(需要先装 Homebrew)
- Ubuntu/Debian:`sudo apt install ffmpeg`
- CentOS/RHEL:`sudo yum install ffmpeg`
- Windows: 去ffmpeg.org 下载,解压后把 bin 目录加到系统 PATH
验证安装:
bash ffmpeg -version |
能显示版本信息就行。
第一步:用 edge-tts 生成语音
现在来生成你的第一条语音。
最基础的命令:
bash edge-tts --voice zh-CN-XiaoxiaoNeural --text "大家好,我是你的AI助手" --write-media ~/.openclaw/workspace/hello.mp3 |
注意上面我们把文件保存到了 `~/.openclaw/workspace/` 目录下。这个目录是 OpenClaw 的工作目录,后面发送语音时 OpenClaw 只能访问这个目录下的文件,所以务必把所有生成的文件放在这里。 |
参数解释:
- `--voice`:选择语音角色(后面下篇会详细介绍所有角色)
- `--text`:要转成语音的文字内容
- `--write-media`:输出文件的保存路径
执行完之后,用任何音乐播放器打开听听看——效果会惊艳到你,非常自然的中文语音。
几个好用的默认角色:
- `zh-CN-XiaoxiaoNeural`——女声,温暖自然,适合绝大多数场景(推荐新手从这里开始)
- `zh-CN-YunyangNeural`——男声,播音腔,适合正式播报
- `zh-CN-YunxiNeural`——男声,活泼阳光,适合日常对话
- `zh-CN-XiaoyiNeural`——女声,活泼可爱,适合讲故事
第二步:用 ffmpeg 转成 OPUS 格式
飞书的语音气泡只支持 OPUS 格式,所以我们需要把 edge-tts 生成的 MP3 转一下。
为什么必须是 OPUS?因为 OPUS 是专门为语音通信设计的音频编码格式,压缩效率高、音质好、延迟低,微信、飞书、Discord 等主流平台都用它。
转换命令:
bash ffmpeg -i ~/.openclaw/workspace/hello.mp3 -c:a libopus -b:a 64k -ar 48000 ~/.openclaw/workspace/hello.opus |
参数解释:
- `-i hello.mp3`:输入文件
- `-c:a libopus`:使用 libopus 编码器(这是关键!)
- `-b:a 64k`:比特率 64kbps(语音够用了,文件也更小)
- `-ar 48000`:采样率 48000Hz(OPUS 标准采样率)
- `hello.opus`:输出文件,注意后缀是 `.opus`
就这样,一个飞书可以识别的语音文件就准备好了。
第三步:用 OpenClaw 发送到飞书
OpenClaw 是一个开源的 AI Agent 框架,可以连接飞书、微信、Discord 等多个平台。今天我们用它的 message 工具来发送语音。
在 OpenClaw 的对话中(就是你在飞书里跟机器人聊天的那个界面),让 Agent 执行这样的调用:
javascript message({ action: "send", channel: "feishu", media: "~/.openclaw/workspace/hello.opus", target: "user:ou_xxxxxxxx" }) |
参数说明:
- `action`:固定为 "send"
- `channel`:填 "feishu" 表示发到飞书
- `media`:OPUS 文件的完整路径(必须在 workspace 目录下)
- `target`:接收者的飞书 open_id(格式为 `user:ou_xxxxxxxx`)
特别提醒:发送语音时不能加 message 参数! OpenClaw 的飞书语音发送和文字消息不能同时进行。如果你想同时发送文字和语音,需要分两次调用——先发文字,再发语音。 |
发送到群聊的话,target 填群的 chat_id:
javascript message({ action: "send", channel: "feishu", media: "~/.openclaw/workspace/hello.opus", target: "oc_xxxxxxxx" }) |
搞定!对方会在飞书里看到一个语音气泡,点开就能听到你的 AI 说了什么。
什么!你没有成功,其实你可以把我这篇文章让openclaw解读一下,它一学就会。
夜雨聆风