⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

v1.0

openspec-apply-change

@mememeow-studio⭐ 1.3k stars

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐⭐⭐ 1.3k on GitHubGitHub ↗

Very popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

MemeMeow 是一个基于自然语言的表情包检索工具。它能自动标注表情包含义,并通过描述想要的场景或心情,快速找到合适的表情包(无需记住具体的文件名或标签)。

[!CAUTION] 本项目返回的表情包结果均由 AI 理解和生成,与开发者本人观点无关。

✨ 核心特性

  • 🧠 自动化语境理解: 无需手动为表情包分类和标注,内置 OpenCode Agent,选择完整分析上传图片时,Agent 会对图片进行结构化分析、生成语境和描述。
  • 📤 直接上传: 无需运行 Agent 语境分析,使用有效文件名生成文本向量,同时生成图片视觉向量;后台根据图片内容尝试自动命名,生成有效名称后更新文本向量。
  • 🤖 自然语言检索: 采用 Embedding 模型,实现 Q&A 式的检索,能够根据你的描述(如“表达无奈”)找到匹配的图片。
  • 👁️ 视觉近邻搜索: 支持本地 DINOv2 视觉模型,实现图片之间的相似度搜索。
  • 📦 容器部署: 提供 Vue 3 Web 界面和统一的 API,服务可通过 Docker Compose 启动。 截图

🚀 立即使用

前往MemeMeow官网 立即开始使用,无需本地部署。

支持浏览器直接使用,以及Windows,Android,macos和Linux主要发行版。可在官网下载软件。

目前正处于早期测试阶段。可以提交issue或加入交流群反馈错误。

📖 核心功能与使用说明

1. 自然语言检索

系统的主要检索页面,支持通过自然语言查找目标图片。

主页截图

  • 语义检索:支持输入日常场景描述(如:“表达无奈”、“早上打工人”),系统通过 Embedding 机制检索匹配的图片,不需要依赖确切的文件名或固定的标签。
  • 图片复制与保存:点击检索结果图片,网页端复制到剪贴板,Android 应用保存到相册。
  • 输出尺寸:可选择原图或最长边 60、120、240、360、480、640px,默认原图。保持图片比例,不裁剪,不放大小图;设置保存在当前浏览器。详见图片复制与相册保存尺寸。
  • 详情与预览:点击图片卡片,可查看后台 Agent 提取的图片描述和语境信息;点击卡片上的放大镜图标可全屏预览原图。

2. 图片库

用于浏览、筛选和管理已上传的表情包文件。

图片库截图

  • 浏览与过滤:支持分页查看系统内的所有图片资源,并提供文本过滤功能以定位特定图片。
  • 处理状态显示:图片卡片上会显示各项后台任务(如:视觉向量化、元数据提取、文本向量生成)的状态图标,用于区分该阶段的处理是成功还是失败。
  • 批量操作与合集 (Collections):支持多选图片,将其打包加入“合集包”,用于后续的统一管理或导出。
  • 任务重试:当部分图片在后台处理环节(如调用大模型分析)失败时,可选中这些图片并点击“重试”按钮,将其重新加入任务队列。

3. 上传图片

将本地的新表情包文件上传至系统,上传成功后可以在图片库中浏览和管理。

上传图片截图

  • 上传方式:支持以下三种文件导入方式:
    • 拖拽上传:将单张图片或多张图片拖入虚线区域。
    • 剪贴板上传:在页面中使用快捷键(如 Ctrl+V 或 Cmd+V)直接粘贴剪贴板中的图片。
    • 点击上传:点击区域打开文件选择器选择本地文件。
  • 处理方式:在确认提交前,可以选择“直接上传”或“完整分析”。一次选择超过 10 张图片时默认直接上传,10 张及以下默认完整分析,也可以手动修改:
    • 直接上传:使用有效文件名生成文本向量,并生成图片视觉向量。后台根据图片内容尝试自动命名,生成有效名称后更新文本向量,无需运行 Agent 语境分析。文件名为无意义的哈希值且没有其他有效检索文本时,文本向量暂时等待有效名称,图片视觉向量仍会正常生成。
    • 完整分析:运行 Agent 分析图片的出处、用法和含义,生成语境和描述,并生成检索所需的向量。
  • 完整分析选项:选择完整分析时,可配置后台 Agent 对这批图片的分析规则:
    • 反向搜索策略:设置在遇到较难理解的图片时,是否允许 Agent 使用谷歌进行联网以图搜图,从而获取图片的来源和背景信息。
    • 自动命名:选择是否允许 AI 根据图片内容生成新的文件名。
  • 上传队列:页面下方会显示当前批次文件的上传进度,并支持对上传失败的单个文件进行重试。

4. 处理任务 (Tasks)

查看和管理后台异步执行的长时任务记录。

处理任务截图

  • 任务状态:上传图片后的语境理解、合集的导入等操作会在后台生成任务记录。页面会定期刷新并显示当前任务处于排队中、运行中、成功或失败状态。
  • 分类与筛选:支持按照“任务类型”和“执行状态”对任务列表进行过滤。
  • 任务详情:点击具体的任务列表项,会从侧边展开“任务抽屉”,展示任务执行的详细步骤和报错日志。
  • 中断重试:针对执行失败的任务,可在任务详情页点击重试按钮,系统会尝试从发生错误的环节继续执行。

本地部署

本项目依赖容器化环境进行隔离与部署,请确保机器已安装 Docker Engine 28或以上 与 Compose v2 插件。

1. 克隆代码与配置环境变量

git clone https://github.com/MemeMeow-Studio/MemeMeow.git
cd MemeMeow

# 如果你没有安装 uv,也可以直接复制 .env.example 并手动编辑:
# cp .env.example .env
uv run python -m scripts.sync_env

执行完毕后,请编辑项目目录下的 .env 文件,填写必要的模型配置(特别是 MEMEMEOW_OPENCODE_BASE_URL 与 MEMEMEOW_OPENCODE_API_KEY,用于 Agent 处理图片语境)。

2. 一键启动

./start.sh start

该命令会启动 PostgreSQL(附带 pgvector)、代理执行器 (Agent Executor)、视觉服务以及后端 API 容器。 服务启动成功后,浏览器访问 http://127.0.0.1:8275/ 即可看到前端界面。

3. 下载本地视觉权重

需要下载官方 DINOv2 权重:

mkdir -p data/models
curl -L --fail --output data/models/dinov2_vitb14_pretrain.pth \
  https://dl.fbaipublicfiles.com/dinov2/dinov2_vitb14/dinov2_vitb14_pretrain.pth

下载完成后,若环境配置无误,容器内部会自动挂载并启动服务。

常用命令

./start.sh status         # 查看运行状态
./start.sh logs           # 查看所有服务的日志
./start.sh logs mememeow -f  # 持续跟踪主后端的日志
./start.sh stop           # 安全停止服务(不会丢失数据)

🔌 进阶设计与 API

MemeMeow 本质是一个 API 驱动的服务。如果你是开发者,可以直接调用 POST /search 进行跨应用整合,只要不涉及后台管理,相关检索 API 可供调用。

  • Endpoint: POST http://localhost:8275/search
  • JSON 请求示例: {"query": "无奈叹气", "n_results": 5, "llm_enhance": false}
  • JSON 响应示例: {"results":["/media/uuid-1", "/media/uuid-2"]}

官方MemeMeow API正在开发。同时,我们欢迎相关使用需求的讨论。您可以提出issue或加入Q群交流。

加入交流

QQ群 https://qm.qq.com/q/UiY4Ix5xqa

📦 社区相关应用

基于 MemeMeow 衍生出的社区项目:

应用作者GitHub链接
VVQuest网页端VVQuest链接
VVQuestiOS捷径TomSmith163链接
HakuBot().vv() 命令apple_catwaiiQQ
VVQuest油猴脚本DanielZhangycvvquest-tampermonkey-extensiongreasyfork
Yunzai-Bot 插件TomyJanTomyJan/Yunzai-TomyJan-Plugin

[!TIP] 如果你想将自己开发的衍生应用加到这个列表,欢迎提交 PR 或 Issue!

📄 License & ⭐ Star History

本项目采用 GNU Affero General Public License v3.0 或更高版本 开源协议。

Star History Chart

// HOW IT'S BUILT

KEY FILES

.agents/skills/openspec-apply-change/SKILL.mdREADME.md

// REPO STATS

1.3k stars