SkillAgentSearch skills...

MemeMeow

智能检索张维为表情包

Install / Use

/learn @MemeMeow-Studio/MemeMeow
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <pre align="center"> ███╗ ███╗███████╗███╗ ███╗███████╗███╗ ███╗███████╗ ██████╗ ██╗ ██╗ ████╗ ████║██╔════╝████╗ ████║██╔════╝████╗ ████║██╔════╝██╔═══██╗██║ ██║ ██╔████╔██║█████╗ ██╔████╔██║█████╗ ██╔████╔██║█████╗ ██║ ██║██║ █╗ ██║ ██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██╔══╝ ██║ ██║██║███╗██║ ██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║███████╗╚██████╔╝╚███╔███╔╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚══╝╚══╝ </pre>

✨ 通过自然语言检索表情包 ✨

在线体验 · 反馈问题 · 参与贡献

License Python Version Online Demo


<p align="center"> <a href="#-features">Features</a> • <a href="#-screenshots">Screenshots</a> • <a href="#-quick-start">Quick Start</a> • <a href="#-usage">Usage</a> • <a href="#-api">API</a> • <a href="#-related-applications">Related Applications</a> </p> </div>

<a id="-features"></a>

✨ Features

[!CAUTION] 本项目返回表情包结果由AI生成,与本人观点无关。

  • 自然语言处理: 采用嵌入模型,实现 Q&A 式的检索,能够对给出问题自动使用表情包回应。
  • 高拓展性: 可结合 VLM 高效为图片打上标签,制作资源包并在 Issues 中分享。
  • 便捷使用: 提供现成的web(无法导入资源包),MMIME输入法使用,API使用,以及iOS捷径使用,可不用部署到本地。
  • 社区驱动:能够在社区分享自己制作的表情包资源包!
  • 另外,单纯使用检索功能,若使用API无需任何花费💰

Mememeow 是一个基于自然语言的表情包检索工具。它能让你通过描述想要的场景,快速找到合适的表情包。不再需要记住具体的文件名或标签,就能轻松找到想要的表情!

<a id="-screenshots"></a>

📸 Screenshots

<table> <tr> <td width="50%"> <img src="screenshots/streamlit_vvquest.png" alt="主页面" width="100%"/> <p align="center">主页面 - 表情包检索</p> </td> <td width="50%"> <img src="screenshots/webui.png" alt="Web界面" width="100%"/> <p align="center">Web界面展示</p> </td> </tr> <tr> <td width="50%"> <img src="screenshots/streamlit_upload_images.png" alt="上传页面" width="100%"/> <p align="center">上传页面 - 添加新表情包</p> </td> <td width="50%"> <img src="screenshots/streamlit_label_images.png" alt="标签页面" width="100%"/> <p align="center">标签页面 - 为表情包添加描述</p> </td> </tr> </table>

ℹ️ Data Source

本项目张维为表情包来源于 知乎

[!CAUTION] 若有侵权,请联系删除

<a id="-quick-start"></a>

🚀 Quick Start

环境要求

  • Python 3.11+
  • 可选: Silicon Flow API Key (用于云端模型) / OpenAI API Key (用于 VLM 打标)

安装步骤

  1. 克隆仓库
git clone https://github.com/MemeMeow-Studio/MemeMeow.git
cd MemeMeow
  1. 安装依赖
pip install -r requirements.txt
  1. 启动应用
python -m streamlit run app.py

<a id="-usage"></a>

📖 Usage

Basic Usage

  1. 访问 Web 界面 (默认为 http://localhost:8501)
  2. 在搜索框中输入你想要的表情包场景描述
  3. 点击搜索,系统会返回最匹配的表情包

图片管理

上传新图片

  1. 进入 upload images 页面
  2. 添加表情包 下选择图片
  3. 可选: 启用 使用VLM自动生成文件名 功能,这样省去人工打标的步骤

[!CAUTION] 每次上传后需要重新生成缓存。

图片打标

  1. 进入 label images 页面
  2. 选择图片文件夹
  3. 点击 使用VLM生成描述 生成标签
  4. 选择合适的描述并重命名文件或直接点击 下一张 (会自动重命名)

导入资源包

社区资源包组 (NEW!)

  1. 点击资源包管理页面,点击添加社区资源包组URL,输入资源包仓库的清单文件链接 (社区资源包仓库清单文件链接为https://raw.githubusercontent.com/MemeMeow-Studio/Memes-Community/refs/heads/main/community_manifest.json),然后点击添加url
  2. 添加成功后,点击更新社区资源包组,MemeMeow会自动更新社区资源包中所有表情包库的清单文件。
  3. 点击重新扫描资源包,社区资源包会出现在下方;启用你要使用的
社区资源包工作原理

社区资源包分为

  • 资源包组仓库更新信息community_manifest.json
  • 表情包仓库metadata.json
  • 表情包库manifest.json。

点击资源包管理页面,添加一个community_manifest的url,然后点击更新按钮。每次更新,MemeMeow会对比url指向的manifest和本地manifest中,每个表情包库的timestamp;

如果存在更新,则根据清单文件的信息,针对有更新的表情包库,重新下载表情包库的清单文件。

下载完成的资源包跟在线资源包的管理方式一致。

示例社区清单文件链接:

https://raw.githubusercontent.com/MemeMeow-Studio/Memes-Community/refs/heads/main/community_manifest.json

更多详细信息,可以查看MemeCommunity仓库

Q: 社区资源包组,表情包仓库和表情包库有什么区别? A: 社区资源包组可以存放多个表情包库,方便在MemeMeow中统一管理; 表情包仓库只是方便存放多个表情包库,本身的文件(metadata.json)不会被除了仓库自己以外的程序使用。 表情包库是管理一组表情包的最小单元,可以作为独立的在线资源包添加,可以被社区资源包组仓库管理。

Q: 能够导入多个社区资源包链接吗? A: 可以!你可以自己建立一个表情包仓库,或者结构相似的文件服务器,然后用相同的方法生成资源包仓库清单文件,然后导入MemeMeow。

在线资源包

点击资源包管理页面,点击导入在线资源包,输入资源包链接,按下回车。

导入在线资源包只会下载一个manifest,存储所有图片的url路径和文件名。文件名用于匹配查询;匹配到图片后,会自动根据url联网下载图片,并缓存到本地,避免下载整个资源包。

示例资源包链接:(导入时输入)

https://github.com/MemeMeow-Studio/VVfromVideo/raw/main/all_vvs/manifest.json

示例仓库链接:

https://github.com/MemeMeow-Studio/MemesLib-Community

Q: 导入在线资源包功能和社区资源包组功能有什么区别? A: 社区资源包组功能能够自动管理,一键更新社区资源包组仓库中管理的所有在线资源包,入口统一,更加方便。

离线资源包

点击资源包管理,点击导入资源包,选择资源包,点击导入。

[!CAUTION] 导入资源包后,需要重新生成缓存。

导出资源包

  1. 检查图片已经完全标记完成
  2. 填写资源包相关信息
  3. 点击 导出资源包 按钮
  4. 等待生成完成后点击 下载资源包

[!TIP] 你可以在 Issues 中分享你的资源包,或者查看其他用户分享的资源包。

<a id="-api"></a>

🔌 API

本项目开放 API 接口,共各位开发者快捷使用,具体请求方式如下:

Endpoint

GET https://api.zvv.quest/search

请求参数

| 参数名 | 类型 | 简介 | 是否必填 | 范围 | |-----------|--------|-----------------------------------------------|----------|----------------------| | q | string | 要查询的内容(例如关键词或某个话题) | ✅ | - | | n | integer| 返回的图片数量 | ✅ | 1 - 50 |

返回格式

返回格式为json,结构如下:

| 字段 | 数据类型 | 简介 | |----------|-----------|-----------------------------------------------| | code | int | 响应状态码 (200代表成功) | | data | string[] | 图片的URL列表 | | msg | string | 如果响应出错的情况下,对应的错误信息,成功时为空 |

<a id="-related-applications"></a>

📦 Related Applications

Mememeow 相关应用:

| 应用 | 作者 | GitHub | 链接 | | --- | --- | --- | --- | | VVQuest网页端 | | VVQuest | 链接 | | VVQuestiOS捷径 | TomSmith163 | | 链接 | | HakuBot().vv() 命令 | apple_catwaii | | QQ | | VVQuest油猴脚本 | DanielZhangyc | vvquest-tampermonkey-extension | greasyfork | | Yunzai-Bot 插件 | TomyJan | TomyJan/Yunzai-TomyJan-Plugin | |

[!TIP] 如果你想添加你的应用,请提交 PRIssue

📄 License

本项目采用 MIT 开源协议。

⭐ Star History

Star History Chart


已知问题

由于streamlit的管理方式,每次源代码更新后刷新网页,会重新生成ImageData,造成内存泄漏。不修改源代码不会触发此问题。

Related Skills

View on GitHub
GitHub Stars1.2k
CategoryDevelopment
Updated1d ago
Forks41

Languages

Python

Security Score

95/100

Audited on Mar 24, 2026

No findings