Install
openclaw skills install @thcjp/gif-whatsapp-tool-freeopenclaw skills install @thcjp/gif-whatsapp-tool-free功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
WhatsApp 表情搜索免费版是一款面向个人用户的 GIF 表情搜索与发送工具。WhatsApp 不支持直接发送 Tenor 或 Giphy 的 GIF 链接,本工具自动完成 GIF 下载、格式转换为 MP4、发送到指定联系人的一站式流程,让 WhatsApp 聊天更生动有趣。
| 能力 | 说明 | 免费版支持 |
|---|---|---|
| GIF 搜索 | 搜索 Tenor 和 Giphy 平台 | 是 |
| 格式转换 | GIF 自动转 MP4 | 是 |
| 发送到 WhatsApp | 通过 message 工具发送 | 是 |
| 批量发送 | 一次发送多个 GIF | 否 |
| 自定义字幕 | 添加文字说明 | 否 |
| 定时发送 | 定时发送 GIF | 否 |
| GIF 库管理 | 收藏常用 GIF | 否 |
执行已知限制操作,使用input_params参数进行配置,支持创建/查询/导出等操作。
input_params参数,支持创建/查询/导出操作单次搜索最多返回 5 个结果
输出: 返回单次搜索最多返回 5 个结果的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作一次只能发送给 1 个联系人
输出: 返回一次只能发送给 1 个联系人的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作不支持自定义字幕(使用空格占位)
输出: 返回不支持自定义字幕(使用空格占位的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作不支持定时发送
输出: 返回不支持定时发送的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作不支持 GIF 收藏库
输出: 返回不支持 GIF 收藏库的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作输出: 返回已知限制的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:表情搜索发送工具、搜索并自动转换为、格式发送、适合个人日常聊天、核心能力、平台的、自动将、转换为、兼容的、一键发送到指定、支持中英文关键词等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
用户在 WhatsApp 聊天时希望发送一个庆祝的 GIF。
# 搜索庆祝类 GIF
gifgrep "celebration" --max 5 --format url
# 下载并转换格式
curl -sL "GIF_URL" -o /tmp/gif.gif
ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/gif.mp4 -y
# 发送到 WhatsApp
cp /tmp/gif.mp4 /root/.skill-platform/workspace/gif.mp4
message action=send to=NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
预期效果:联系人在 WhatsApp 中收到一个循环播放的庆祝 GIF。
用户希望在节日时发送应景的 GIF 祝福。
# 搜索新年祝福 GIF
gifgrep "happy new year fireworks" --max 5 --format url
# 选择最合适的一个,下载并发送
curl -sL "SELECTED_URL" -o /tmp/newyear.gif
ffmpeg -i /tmp/newyear.gif -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/newyear.mp4 -y
cp /tmp/newyear.mp4 /root/.skill-platform/workspace/newyear.mp4
message action=send to=FRIEND_NUMBER message="新年快乐" \
filePath=/root/.mp4 gifPlayback=true
用户想要用表情回复朋友的消息,表达惊讶或搞笑。
# 搜索搞笑表情
gifgrep "laughing funny" --max 5 --format url
# 快速发送(一行命令)
curl -sL "URL" -o /tmp/g.gif && \
ffmpeg -i /tmp/g.gif -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/g.mp4 -y 2>/dev/null && \
cp /tmp/g.mp4 /root/.skill-platform/workspace/g.mp4
以下场景WhatsApp表情搜索不适合处理:
需要SEO优化、关键词分析、排名提升、搜索流量优化时使用。不适用于非本工具能力范围的需求。
# 安装 gifgrep(GIF 搜索工具)
# 参考 gifgrep 官方文档安装
# 安装 ffmpeg(格式转换)
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# 验证安装
ffmpeg -version
gifgrep --version
# 1. 搜索 GIF
gifgrep "thumbs up" --max 3 --format url
# 2. 下载 GIF
curl -sL "GIF_URL_FROM_RESULTS" -o /tmp/gif.gif
# 3. 转换为 MP4
ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p \
# 4. 复制到工作区
cp /tmp/gif.mp4 /root/.mp4
# 5. 发送
message action=send to=CONTACT_NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
| 情感 | 推荐搜索词 |
|---|---|
| 开心 | celebration, party, dancing, excited |
| 赞同 | thumbs up, nice, good job, applause |
| 搞笑 | laugh, lol, haha, funny |
| 惊讶 | mind blown, shocked, surprised, wow |
| 难过 | crying, sad, disappointed |
| 无奈 | facepalm, ugh, annoyed |
| 爱意 | heart, love, hug |
| 酷炫 | sunglasses, cool, awesome |
重要:WhatsApp 的 message 工具只能发送工作区目录中的文件
- 文件必须位于 /root/.skill-platform/workspace/ 目录下
- /tmp 目录中的文件会报错 LocalMediaAccessError
- 消息体不能为空,使用单个空格作为占位符
- 必须设置 gifPlayback=true 才能以 GIF 形式播放
happy birthday cake 比 birthday 更精准funny cat 比 cat 更有针对性# 获取多个结果进行对比
gifgrep "thank you" --max 5 --format url
# 查看文件名和描述,选择最合适的
# 避免选择过大或过小的 GIF
# 优选 480p 或 720p 分辨率的 GIF
# 检查网络连接
curl -I https://media.tenor.com
# 尝试更换关键词
gifgrep "happy" --max 5 --format url # 使用更通用的词
# 检查 gifgrep 配置
gifgrep --config
# 检查 ffmpeg 是否安装
ffmpeg -version
# 重新安装 ffmpeg
# macOS
brew reinstall ffmpeg
# 验证 GIF 文件完整性
file /tmp/gif.gif
原因:文件未复制到工作区目录
解决:确保执行 cp 命令将文件复制到 /root/.skill-platform/workspace/
# 正确流程
cp /tmp/gif.mp4 /root/.mp4
# 然后再发送
message action=send to=NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
# 确保设置了 gifPlayback=true
message action=send to=NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
# 检查 MP4 格式参数
ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p \
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| gifgrep | CLI 工具 | 是 | 参考官方文档安装 |
| ffmpeg | 多媒体处理 | 是 | brew install ffmpeg 或 apt install ffmpeg |
| curl | 文件下载 | 是 | 系统自带 |
| WhatsApp message 工具 | 发送服务 | 是 | 平台内置 |
| LLM API | API | 是 | 由 Agent 内置 LLM 提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |