WhatsApp表情搜索
WhatsApp GIF 表情搜索发送工具,支持 Tenor/Giphy 搜索并自动转换为 MP4 格式发送,适合个人日常聊天使用。Use when 需要SEO优化、关键词分析、排名提升、搜索流量优化时使用。不适用于黑帽SEO手段。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。
天轰穿
@thcjp
What This Skill Does
Searches Tenor and Giphy for GIFs, automatically converts them to WhatsApp-compatible MP4 format, and sends them to a single WhatsApp contact. Supports Chinese and English keyword search.
Replaces manually downloading, converting, and sending GIFs to WhatsApp by automating the entire search-to-send workflow.
When to Use It
- Search for a celebration GIF to send in a WhatsApp chat
- Send a festive greeting GIF to a friend on holidays
- Quickly reply with a funny or surprised GIF in a conversation
- Find and send a themed GIF for a specific event or mood
- Use a Chinese keyword to search for a relevant GIF expression
Install
$ openclaw skills install @thcjp/gif-whatsapp-tool-free功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
WhatsApp 表情搜索(免费版)
概述
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 个结果
输出: 返回单次搜索最多返回 5 个结果的执行结果,包含操作状态和输出数据。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
一次只能发送给 1 个联系人
一次只能发送给 1 个联系人
输出: 返回一次只能发送给 1 个联系人的执行结果,包含操作状态和输出数据。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持自定义字幕(使用空格占位
不支持自定义字幕(使用空格占位)
输出: 返回不支持自定义字幕(使用空格占位的执行结果,包含操作状态和输出数据。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持定时发送
不支持定时发送
输出: 返回不支持定时发送的执行结果,包含操作状态和输出数据。
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
不支持 GIF 收藏库
不支持 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手段
- 搜索引擎作弊
- 付费广告投放管理
触发条件
需要SEO优化、关键词分析、排名提升、搜索流量优化时使用。不适用于非本工具能力范围的需求。
快速开始
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
依赖详情
# 安装 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 形式播放
优选实践
搜索关键词优化
- 使用英文搜索:Tenor 和 Giphy 的英文结果更丰富
- 具体描述场景:
happy birthday cake比birthday更精准 - 多结果对比:获取 5 个结果后选择最合适的,而非直接用领先个
- 避免过于宽泛:
funny cat比cat更有针对性
GIF 选择建议
# 获取多个结果进行对比
gifgrep "thank you" --max 5 --format url
# 查看文件名和描述,选择最合适的
# 避免选择过大或过小的 GIF
# 优选 480p 或 720p 分辨率的 GIF
发送频率控制
- 一个对话中发送 1 个 GIF 即可,不要连续发送多个
- 不是每条消息都需要 GIF,适度使用
- 考虑接收方的感受,避免发送不当内容
常见问题
GIF 搜索无结果
# 检查网络连接
curl -I https://media.tenor.com
# 尝试更换关键词
gifgrep "happy" --max 5 --format url # 使用更通用的词
# 检查 gifgrep 配置
gifgrep --config
ffmpeg 转换失败
# 检查 ffmpeg 是否安装
ffmpeg -version
# 重新安装 ffmpeg
# macOS
brew reinstall ffmpeg
# 验证 GIF 文件完整性
file /tmp/gif.gif
发送失败 LocalMediaAccessError
原因:文件未复制到工作区目录
解决:确保执行 cp 命令将文件复制到 /root/.skill-platform/workspace/
# 正确流程
cp /tmp/gif.mp4 /root/.mp4
# 然后再发送
message action=send to=NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
GIF 在 WhatsApp 中不循环播放
# 确保设置了 gifPlayback=true
message action=send to=NUMBER message=" " \
filePath=/root/.mp4 gifPlayback=true
# 检查 MP4 格式参数
ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p \
依赖说明
运行环境
- Agent 平台:支持 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
- 操作系统:Windows / macOS / Linux
- 网络环境:需可访问 Tenor、Giphy 和 WhatsApp 服务
- 存储空间:至少 100MB 用于临时文件存储
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| gifgrep | CLI 工具 | 是 | 参考官方文档安装 |
| ffmpeg | 多媒体处理 | 是 | brew install ffmpeg 或 apt install ffmpeg |
| curl | 文件下载 | 是 | 系统自带 |
| WhatsApp message 工具 | 发送服务 | 是 | 平台内置 |
| LLM API | API | 是 | 由 Agent 内置 LLM 提供 |
API Key 配置
- 免费版无需额外 API Key
- gifgrep 使用公开 API,无需认证
- WhatsApp 发送使用平台内置 message 工具,无需单独配置
可用性分类
- 分类:MD+EXEC(纯 Markdown 指令,部分功能需要 exec 命令行执行能力)
- 说明:基于 Markdown 的 AI Skill,通过自然语言指令驱动 Agent 执行任务
- 适用人群:个人 WhatsApp 用户、社交活跃用户
- 升级建议:如需批量发送、定时发送、GIF 库管理等高级功能,请使用 PRO 版本
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行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 |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |
核心功能
- 自动化执行: 基于指令驱动的自动化流程
- 文件处理: 支持多种文件格式的读取、解析和写入操作
- API集成: 通过标准化接口调用外部服务并处理响应
- 命令执行: 在安全沙箱中执行系统命令并收集结果
- 信息检索: 快速搜索和过滤目标数据
Top skills in this category
Humanizer
@biostartechnologyRemove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Slack
@steipeteUse when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
PollyReach
@pollyreachPollyReach gives every AI agent a phone number and the ability to get things done over the phone — finding contacts, making calls, and completing tasks. Just...
imap-smtp-email
@gzlicanyiRead and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Supports multiple accounts. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip
Answer Overflow
@rhyssullivanSearch indexed Discord community discussions via Answer Overflow. Find solutions to coding problems, library issues, and community Q&A that only exist in Discord conversations.