# Meme Search for Raycast

URL: https://www.raycast.com/uncaughtape/chinese-meme-search

> 通过自定义 JSON 数据源搜索表情包，在 Raycast 中预览并回车复制图片。

- Install: raycast://extensions/uncaughtape/chinese-meme-search
- Author: [gerald wang](https://www.raycast.com/uncaughtape)
- Installs: 2
- Platforms: macOS
- Categories: Fun, Media
- Updated: 2026-11-11
- Source: https://github.com/raycast/extensions/tree/80c0dcacac7dd238b61932859b79addc852ca7bf/extensions/chinese-meme-search/

## Commands

- **Meme Search**: 搜索中文表情包并复制图片

## README

### Meme Search

通过你配置的 JSON 图片接口搜索表情包，在 Raycast 中预览并按回车复制原图。支持静态图片和 GIF。

#### 使用

首次使用前，在扩展设置的 **Custom Source JSON** 中配置获准使用的数据源，格式见下方。此扩展不内置图库，也不提供默认搜索接口。

1. 在 Raycast 中选择 **Meme Search**，输入关键词并按回车。
2. 方向键选图，按回车复制，到聊天窗口粘贴。
3. ⌘] 下一页、⌘[ 上一页；⌘K 菜单提供复制图片链接和查看原图。

若希望直接输入关键词后选择此命令，可在 Raycast 设置的 **Fallback Commands** 中添加 **Meme Search**。后备命令通常在主搜索没有匹配项时出现；命中其他应用或命令时，可选中 Meme Search 后填写关键词参数。也可以为命令设置 `meme` 别名。以上流程均不需要 Command+Enter。

结果页不提供本页过滤；按 Esc 返回主搜索后换词。复制时保留原始图片格式，目标软件可能将其作为图片或文件接收。已复制图片存放在扩展支持目录的 images 文件夹中。

#### 数据源

使用你拥有或已获准接入的图片搜索服务。搜索词会发送至配置的接口，预览和复制时会请求接口返回的图片地址。请求失败会显示错误，不会自动重试。

本扩展不内置腾讯／搜狗未公开接口。自定义配置不会授予第三方接口或图片的使用许可；请遵循来源服务对调用、下载和图片使用的要求。

##### 获取数据源与申请

如果还没有可用接口，可考虑以下官方接入渠道。它们不是本扩展预置的可用源，也不能把申请页网址直接填入配置。

**[SOOGIF 官方 API 申请](https://open.soogif.com/)**：进入页面底部的“申请接入”，填写产品名（例如 Meme Search）、邮箱、QQ 和接入需求。官方提供了 [API 文档入口](https://open.soogif.com/blog/soogif-open-api-v1-5-0)；费用、调用额度和是否接受个人开发者，需要申请时确认。

申请需求可参考：

> 希望在 Raycast 桌面扩展中按关键词搜索中文表情包和 GIF，预览结果，并下载用户选中的图片复制到系统剪贴板，供用户粘贴到聊天软件。请确认个人开发者接入条件、费用和额度、署名要求、图片本地存储及公开发行插件的许可，并提供 API 文档和书面授权。

**拿到接口后**：先确认服务商允许上述使用方式，再根据接口实际返回的 JSON 配置下方字段。当前扩展只支持无需认证的 GET JSON 接口；需要 API Key 或认证请求头的服务暂不能直接接入，也不要把密钥填入 URL。此时需服务商提供适用的免密钥接入方式，或使用你自行管理、获准转发请求和图片的适配服务。只拿到 API Key 并不代表已经能在此扩展中使用。

没有接口时，运行命令后按 ⌘K，可打开“查看数据源接入指引”或“申请 SOOGIF 官方 API”；配置完成后即可搜索。也可接入你已拥有使用权限、且符合下方 JSON 格式的其他图片服务。

#### 自定义源

在扩展设置的 **Custom Source JSON** 填入配置。支持无需认证的 GET JSON 接口，不支持 HTML 抓取、脚本或自定义认证头。不要在配置中填写密钥。清空配置后停止搜索，并提示重新配置。

以下为配置格式示例，`example.com` 不是实际可用的图库：

```json
{
  "url": "https://example.com/search?q={query}&page={page}",
  "results": "data.items",
  "image": "url",
  "title": "title",
  "hasMore": "data.hasMore"
}
```

- `{query}` 自动 URL 编码；`{page}` 从 1 开始。
- `results` 是结果数组的点分路径，`image` 和 `title` 是数组项中的字段路径。
- 数组在根节点时 `results` 填空字符串；数组项本身为图片 URL 时 `image` 填空字符串。
- `title` 和 `hasMore` 可省略。只有 `hasMore` 指向 `true` 或数字 `1`，且 URL 包含 `{page}` 时提供下一页。

上述配置可读取以下响应：

```json
{
  "data": {
    "items": [{ "url": "https://example.com/meme.gif", "title": "开心" }],
    "hasMore": false
  }
}
```
