OpenClaw通过Baileys Web实现的WhatsApp频道支持媒体传输,可带可选的文字说明。用户可以通过CLI命令发送媒体,支持本地文件和HTTP(S) URL。
核心功能
使用命令发送带可选说明的媒体:
openclaw message send --media <path-or-url> [--message <caption>]
支持本地文件路径和远程HTTP(S) URL。
支持的媒体类型与处理
图片
图片会自动进行以下处理:
- 调整大小并重新压缩为JPEG格式
- 最大边长限制为2048像素
- 目标大小为5MB,硬上限为6MB
音频/语音/视频
- 最大传输大小:16MB
- 音频以语音消息形式传输(
ptt: true标志)
文档
- 任何其他文件类型最大支持100MB
- 尽可能保留原始文件名
GIF模拟
MP4文件可以包含 gifPlayback: true 以在移动客户端上启用循环播放,实现GIF效果。
格式检测与处理
MIME类型检测优先级:
- 魔术字节(magic bytes)
- HTTP头信息
- 文件扩展名
说明文字来源于 --message 参数或 reply.text,允许空说明。
自动回复集成
管道可以在文本旁边返回媒体,使用与手动发送相同的处理方式解析本地或远程源。当提供多个媒体条目时,会按顺序依次发送。
入站媒体处理
当消息包含媒体附件时,系统会:
- 下载到临时存储
- 暴露模板变量
{{MediaUrl}}和{{MediaPath}} - 媒体理解工具可生成描述
- 在命令解析前插入内容块和转录文本
Docker沙箱会将媒体复制到工作区位置,如 media/inbound/<filename>。
媒体理解配置
理解工具有单独的大小阈值:
| 媒体类型 | 配置项 | 默认限制 |
|---|---|---|
| 图片 | tools.media.image.maxBytes |
10 MB |
| 音频 | tools.media.audio.maxBytes |
20 MB |
| 视频 | tools.media.video.maxBytes |
50 MB |
提示
超过大小限制的媒体会跳过分析处理,但不会阻止回复继续进行。
配置示例
// 媒体配置示例
{
"tools": {
"media": {
"image": {
"enabled": true,
"maxBytes": 10485760
},
"audio": {
"enabled": true,
"maxBytes": 20971520
},
"video": {
"enabled": true,
"maxBytes": 52428800
}
}
}
}
媒体大小限制汇总
| 用途 | 图片 | 音频/视频 | 文档 |
|---|---|---|---|
| 发送限制 | ~6 MB | 16 MB | 100 MB |
| 理解处理 | 10 MB | 20/50 MB | - |
提示
更多详细信息请参考 官方英文文档。