GIF Multi — 跨平台 GIF 技能
搜索 Giphy 并发送针对当前消息频道优化的动态 GIF。
初始设置
- 获取 Giphy API Key https://developers.giphy.com → "创建应用" → API(免费,1,000 次/天)
- 配置
通过 openclaw.json(推荐):
{
"skills": {
"entries": {
"gif-multi": {
"env": {
"GIPHY_API_KEY": "你的密钥"
}
}
}
}
}
或在 ~/.openclaw/.env 中:
echo 'GIPHY_API_KEY=你的密钥' >> ~/.openclaw/.env
python3 {baseDir}/scripts/gif_multi.py --check
每日工作流程
检测频道来自入站元数据(会话上下文中的 channel 字段)。
验证配置:如果缺失或当前频道未列出,运行:
python3 {baseDir}/scripts/gif_multi.py --discover
第一次(无配置):
--discover 后,简要告知用户技能已准备就绪(一句话)。
新频道检测:--discover 静默添加。
自然提及它在这里也可以使用,如果自然的话。
缺失 API 密钥:--check 显示设置说明;将其转发给用户。
搜索和转换:
python3 {baseDir}/scripts/gif_multi.py "<查询>" --channel <频道>
发送输出文件与消息(action=send,media=<路径>)。
清理:发送后执行(rm <路径>)。
--discover 只运行一次每个新频道 — 之后,频道保持在配置中,发现被跳过。
每次搜索获取唯一时间戳,因此并发频道、主题或线程永不冲突。
孤立文件 >10 分钟自动清理。
使用模式
配置的 "mode" 字段控制何时发送 GIF:
natural(默认)— 自发的,像表情符号反应。
代理使用其判断发送 GIF,当对话流畅时。
on_request — 只有当用户明确要求("发送 GIF...","反应 GIF")。
更改模式:
python3 {baseDir}/scripts/gif_multi.py --mode natural
python3 {baseDir}/scripts/gif_multi.py --mode on_request
用户也可以在对话中说它:
"停止发送 GIF,无需询问" → 切换到 on_request。
"随意发送 GIF,自然地" → 切换到 natural。
注意
输出为 JSON,包含文件路径在 .gif_cache/ 中。
配置存储在 {baseDir}/config.json(在技能文件夹内)。
评级默认为 g;使用 --rating pg|pg-13|r 覆盖。
Giphy 免费限制:1,000 次/天。
如果 API 密钥缺失,脚本返回帮助字段中的说明。