核心用法
gifgrep 是一款面向开发者的命令行 GIF 搜索工具,通过封装 Tenor 和 Giphy 两大主流 GIF 平台的 API,实现从搜索到下载再到内容提取的完整工作流。
搜索与浏览:基础命令 gifgrep <关键词> 支持 --max 限制结果数、--source 切换数据源(auto/tenor/giphy)。gifgrep tui "查询词" 启动终端交互界面,配合 --thumbs 参数可在 Kitty/Ghostty 终端中预览静帧缩略图。
下载与输出:--download 将结果保存至 ~/Downloads,--reveal 自动在 Finder 中定位最后下载的文件。输出格式灵活:--json 返回完整元数据数组(含 id、title、url、preview_url、tags、尺寸等),--format url 则输出纯 URL 便于管道处理。
内容提取:gifgrep still 从 GIF 中提取指定时间点的静帧(如 --at 1.5s);gifgrep sheet 生成帧网格图(--frames 指定采样数、--cols 控制列数、--padding 调整间距),特别适合 PR 预览、文档插图、聊天快速分享等场景。
显著优点
- 双源聚合:同时支持 Tenor(无需 API Key)和 Giphy(需
GIPHY_API_KEY),自动 fallback 保证可用性 - TUI 体验:基于终端的交互浏览,无需离开命令行即可完成搜索-预览-下载全流程
- 开发者友好:JSON 输出、管道支持、jq 兼容,轻松集成到脚本和工作流
- 内容处理闭环:内置静帧提取和网格图生成,省去额外图像处理工具
- 维护者可信:steipete (Peter Steinberger) 为知名 iOS/macOS 开发者,开源社区活跃多年
潜在缺点与局限性
- 终端预览限制:动态缩略图仅支持 Kitty/Ghostty 终端,主流终端(iTerm2、Terminal.app)只能显示静帧
- API Key 门槛:Giphy 完整功能需自行申请 API Key,对一次性用户不够便利
- 依赖外部 CLI:Skill 本身为纯文档封装,实际功能依赖本地安装的
gifgrep二进制,未内置分发 - 平台局限:目前仅支持 macOS(通过 Homebrew 安装),Linux/Windows 需 Go 源码编译
- 网络依赖:所有搜索实时调用云端 API,离线环境不可用
适合人群
- 需要频繁插入 GIF 的开发者、技术写作者、产品经理
- 习惯命令行工作流、追求效率的终端用户
- 需要批量获取素材用于演示、文档、PR 评论的视觉工作者
- 已使用 Kitty/Ghostty 终端、希望获得原生预览体验的用户
常规风险
| 风险项 | 说明 |
|--------|------|
| 第三方 API 依赖 | Tenor/Giphy 服务可用性、速率限制及条款变更可能影响功能 |
| API Key 管理 | 用户需自行保管 `GIPHY_API_KEY`,避免硬编码提交至版本控制 |
| 版权合规 | 下载的 GIF 内容受原平台版权保护,商用需注意授权范围 |
| 二进制来源 | `gifgrep` 本身非 Skill 内置,需通过可信渠道(Homebrew/Go 官方源)安装 |