1、Skill简介
这是一个能够快速搜索和下载 GIF 动图的 Skill,基于 Tenor API,支持命令行搜索、JSON 输出和 Markdown 格式展示。默认每次只返回一个最相关的 GIF,适合需要在聊天、文档或社交媒体中快速插入 GIF 表情的用户使用。
2、使用场景
为什么想做它?
在日常聊天和内容创作中,GIF 动图是表达情绪、活跃气氛的利器。但每次想找个合适的 GIF,都要:
-
打开浏览器搜索 GIF 网站
-
在大量结果中翻找
-
复制链接或下载
-
粘贴到需要的地方
这个过程太繁琐了,尤其是当你只是想快速找一个"点赞"、"鼓掌"或"可爱"的表情时。
之前遇到了什么麻烦?
-
手动搜索 GIF 耗时,经常要在多个网站间切换
-
搜索结果太多,选择困难
-
无法快速获取可直接使用的 URL
-
在命令行或代码环境中不方便操作
做出来之后能省掉哪些动作?
-
一句指令直接获取 GIF,无需打开浏览器
-
默认返回一个最相关的结果,避免选择困难
-
支持多种输出格式(Markdown、JSON、纯 URL)
-
可批量获取多个 GIF(通过
--max参数) -
标题智能优化,即使 API 无标题也能生成有意义的名称
3、创作过程
灵感来源
在使用 SOLO 平台时,我发现经常需要在对话中插入 GIF 来表达情绪或活跃气氛。但每次都得手动去 GIF 网站搜索,效率很低。我就想,能不能做一个 Skill,让我直接在命令行里搜索 GIF?
使用 SOLO 的创作步骤
-
需求分析:确定核心需求——搜索 GIF,默认返回一个结果,支持多种输出格式
-
API 选择:选择了 Tenor API(Google 旗下),免费且无需注册
-
功能设计:
-
命令行参数解析(query、–max、–json、–format)
-
Markdown 格式输出(带标题、预览图、原图链接)
-
JSON 格式输出(便于程序化处理)
-
标题优化:实现智能标题生成逻辑,优先使用 API 标题,其次使用标签,最后使用搜索关键词
-
输出调整:默认只返回 1 个 GIF,避免信息过载
-
测试验证:多次测试不同关键词,确保输出稳定
关键代码
def get_gif_title(result: Dict, query: str = "") -> str:
"""获取 GIF 标题,如果标题为空则从标签或搜索关键词生成"""
title = result.get("title", "")
if title and title.strip():
return title.strip()
tags = result.get("tags", [])
if tags:
return " ".join(t.capitalize() for t in tags[:3])
if query:
return f"{query.title()} GIF"
return "GIF 动图"
技术架构
-
API 调用:使用 Python requests 库调用 Tenor REST API
-
数据解析:提取 id、title、url、preview_url、tags 等字段
-
格式输出:支持 Markdown 表格、JSON、纯文本等多种格式
-
智能标题:优先使用 API 标题 → 标签 → 搜索关键词
开发过程
-
技能开发
-
技能调用测试
-
优化输出
4、使用步骤
第一步:直接安装
npx skills add https://github.com/Codeniu/skills --skill get-gif
第二步:调用 Skill
方式一:命令行调用
cd \you-workspace\get-gif
python core.py love
方式二:通过 SOLO 平台
直接在对话中输入:Use Skill: get-gif love
第三步:查看结果
Skill 会返回格式化后的 GIF 结果:
## Love GIF

[查看原图](https://tenor.com/xxx)
常用命令
python core.py love| 搜索一个 love 相关的 GIFpython core.py happy --max 3| 搜索 3 个 happy 相关的 GIFpython core.py cat --json| 以 JSON 格式输出结果python core.py dog --format url| 只输出 GIF 的 URL
5、效果展示
使用前
手动搜索 GIF 的流程:
使用后
一句指令搞定:
-
输入:
python core.py love -
立即获得一个精选 GIF
-
总耗时:约 2-3 秒
效率对比
-
时间节省:从 1-2 分钟缩短到 3 秒,提升 20-40 倍
-
操作步骤:从 7 步减少到 1 步
-
选择成本:无需在大量结果中纠结
效果截图
使用后:一句指令获取精选 GIF
一句指令搞定
6、Skill 链接
-
Skill 分享链接:get-gif
-
GitHub 仓库:https://github.com/Codeniu/skills.git
7、总结与思考
收获与感悟
创建这个 Skill 的过程让我深刻体会到:
-
灵活扩展:支持多种输出格式,满足不同场景需求
-
API 的力量:善用免费 API,可以快速实现强大的功能
最满意的地方
最满意的是智能标题生成和默认单结果的设计。智能标题确保即使 API 数据不完整,用户也能看到有意义的结果描述;默认单结果则避免了信息过载,让用户专注于最相关的一个 GIF。
后续优化方向
-
GIF 下载功能:支持将 GIF 直接下载到本地
-
多源支持:集成 Giphy、Reddit 等更多 GIF 源
-
TUI 预览:在终端中预览 GIF(需要特定终端支持)
-
收藏功能:支持收藏喜欢的 GIF,方便后续使用
-
静图提取:从 GIF 中提取指定帧作为静态图片
希望得到的建议
-
你还希望支持哪些 GIF 源?
-
输出格式有什么可以改进的地方?
-
你有什么其他功能期待?
如果你经常需要在聊天、文档或代码中插入 GIF,欢迎体验这个 Skill!它简单、快捷、零门槛,一句话就能找到合适的 GIF。期待你的反馈和建议,让我们一起让 GIF 搜索变得更高效! ![]()



