README.md
July 29, 2026 · View on GitHub
牛牛表情 memes
对接 meme-generator-rs,制作各种沙雕表情包。
安装
最低要求:Pallas-Bot 4.0 及以上。
任选其一:
方式 A:本地目录
将本仓库内容放入 Bot 的 local/plugins/memes/(目录名必须是 memes,与插件 ID 一致,不要用 git 仓名 pallas-plugin-memes)。
git clone https://github.com/TogetsuDo/pallas-plugin-memes.git local/plugins/memes
重启 Bot 或触发热载后,控制台「插件」页应出现「牛牛表情」。
方式 B:控制台社区商店 / Git 安装
在 WebUI 插件商店安装社区条目,或 Git 直装仓库地址与分支;安装后以插件 ID memes 加载。
部署 meme-generator-rs
本插件通过 HTTP 调用 meme-generator-rs,需自行部署 meme 服务。官方默认监听 2233 端口。
官方文档(推荐先读)
| 文档 | 说明 |
|---|---|
| Wiki 首页 | 总览与各部署方式入口 |
| Docker 部署 | 官方容器一键启动 |
| 本地安装 | Releases / wheel / 源码运行 |
| 配置文件 | config.toml(监听地址、端口等) |
| 通过 API 方式调用 | HTTP 接口说明(本插件走这条路径) |
更细的安装选项、资源下载、接入其他机器人等以官方 Wiki 为准;下文是对接 Pallas 牛牛表情 的最短路径。
本插件对接教程(最短路径)
1. 启动 meme 服务(Docker,可复制)
与官方 Docker 部署一致:
docker run -d \
--name=meme-generator \
-p 2233:2233 \
--restart always \
meetwq/meme-generator-rs:main
不用 Docker、或要改监听地址/端口时,见官方本地安装与配置文件。
2. 探活
在 能访问 meme 服务的那台机器 / 那个网络 上执行:
curl http://127.0.0.1:2233/meme/version
正常会返回版本号字符串(例如 0.2.0-beta.6)。若这里已是 404 / 连不上,先别填 Bot 配置——说明服务未起来、端口未映射,或访问的不是 meme 的根地址。
3. 在 WebUI 填写地址
控制台 → 插件「牛牛表情」→ meme_api_base_url 填 根地址(不要多写 /meme、/api 等路径):
http://127.0.0.1:2233
| Bot 与 meme 的关系 | meme_api_base_url 怎么填 |
|---|---|
| 都在同一台宿主机(Bot 非容器,或容器用 host 网络) | http://127.0.0.1:2233 |
| Bot 在 Docker,meme 在宿主机 | 常见为 http://host.docker.internal:2233(Linux 也可能要用宿主机局域网 IP / 172.17.0.1) |
| Bot 与 meme 同一 Compose 网络 | 用服务名,如 http://meme-generator:2233 |
保存后热载即可。再在群里发 牛牛表情列表:未填地址会提示配置;填对且服务正常应返回列表图。
4. 常见翻车
| 现象 | 常见原因 |
|---|---|
curl …/meme/version 404 | 端口映射错、镜像未起来,或 URL 多写了路径 |
| 探活成功,口令无反应 | meme_enabled 关闭;命令权限/冷却;插件未加载 |
| 探活成功,提示服务不可用 / 请求失败 | Bot 进程访问不到该地址(容器网络);地址写成了带路径的完整 API |
| 制作失败、拉图失败 | 多半是网络或超时;本插件会由 Bot 侧下载再上传,仍失败时看 Bot 日志 |
WebUI 配置
在控制台对应插件页修改(支持热载):
基础
| 配置项 | 说明 | 默认 |
|---|---|---|
meme_enabled | 关闭后所有表情口令不响应 | 开启 |
meme_api_base_url | meme-generator-rs 根地址,如 http://127.0.0.1:2233 | 空 |
meme_api_timeout | HTTP 超时秒数(5–120) | 30 |
meme_params_mismatch | 图片/文字数量不符时:silent 不提示,hint 简短提示 | hint |
AI 推荐
| 配置项 | 说明 | 默认 |
|---|---|---|
meme_ai_enabled | 关闭后「表情推荐」只做关键词搜索,不调用 LLM | 开启 |
| AI 推荐线路 | 主线 + 备线面板(meme_ai_gateways);沿用 AI 配置 · 接入 中的对话 Provider,可覆盖模型 | 空 |
meme_ai_top_k | 送给 AI 选型的候选模板上限(3–30) | 12 |
meme_ai_timeout | AI 推荐请求超时(秒) | 30 |
口令冷却默认:列表 / 推荐 5 秒,搜索 / 详情 / 制作各 3 秒;在控制台「命令冷却」可覆盖。
旧配置
meme_ai_provider_id/meme_ai_model仍可读,会迁移进线路列表。
怎么使用
| 口令 | 说明 |
|---|---|
牛牛表情列表 / 表情包制作 | 查看表情列表(中文关键词多列目录图) |
牛牛表情搜索 + 关键词 | 查找相关表情 |
牛牛表情详情 + 关键词 | 查看需要图片/文字数目,并尽量附预览 |
牛牛表情推荐 + 意图 | AI 选型;材料够则直接出图,不够则提示差额 |
牛牛表情 + 关键词 + 图片/文字 | 制作表情;可附图、回复带图、「自己」或 @某人取头像 |
制作示例:
牛牛表情 摸
牛牛表情 摸 你好
牛牛表情 摸 @123456789
牛牛表情 摸 自己
(附图或回复带图消息)
推荐示例:
牛牛表情推荐 嘲讽摸头
牛牛表情推荐 把群友做成表情
也可在开启智能对话时 @牛牛 用自然语言要表情(插件注册了 memes.recommend 工具与简短 knowledge);工具侧目前按文本意图推荐,不会带上原消息里的图片。
详细用法与可用范围以帮助图为准;权限可在控制台「命令权限」覆盖。
命令权限
| 功能 | 默认等级 |
|---|---|
牛牛表情列表 | 所有人 |
牛牛表情搜索 | 所有人 |
牛牛表情详情 | 所有人 |
牛牛表情推荐 | 所有人 |
牛牛表情 | 所有人 |
已知限制
- 依赖 meme 服务:未部署 meme-generator-rs 或未填
meme_api_base_url时,口令会提示配置或服务不可用。 - AI 推荐依赖 Provider:未配置「AI 推荐线路」或 Provider 不可用时,推荐会失败或退化为关键词搜索(取决于是否关闭
meme_ai_enabled)。 - 图片解析:消息中的图片段优先取
url;否则通过 OneBotget_image取 URL,再上传至 meme 服务;无法解析的本地 file 段会被丢弃(参数不符时可能按meme_params_mismatch静默或提示)。 - @ 对话工具:
memes.recommend只接收文本意图,不能把用户原消息里的图一并交给流水线;需要带头像/附图时请用口令牛牛表情推荐或牛牛表情并附素材。
排障
部署与连通性问题优先看上文「本插件对接教程 · 常见翻车」。其余:
| 现象 | 处理 |
|---|---|
| 口令无反应 | 检查 meme_enabled 是否开启;确认插件已加载 |
| 提示未配置 API | 填写 meme_api_base_url,并确认 meme-generator-rs 已启动 |
| 搜索/制作失败 | 先 curl …/meme/version 探活;再核对 Bot 能否访问同一地址;查看 Bot 日志 |
| AI 推荐失败 | 在插件页配置 AI 推荐线路(沿用已测通的对话 Provider);确认 meme_ai_enabled 开启 |
| 制作无图或参数不对 | 按提示补图/@;或用 牛牛表情详情 查看所需数量 |
| 冷却过长 | 在控制台「命令冷却」调小对应命令秒数 |
手工验收清单
部署后建议维护者逐项确认:
- 插件装到
local/plugins/memes/或商店安装,重启/热载后 WebUI 可见「牛牛表情」及配置项(含 AI 推荐线路)。 - 未填
meme_api_base_url时,发送牛牛表情列表应提示填写 API 地址。 - 填好 API 且 meme 服务正常时,
牛牛表情列表/牛牛表情搜索 摸应返回模板列表。 牛牛表情 摸配合「自己」、@ 或附图,应返回 GIF/图片。- 配置好 AI 线路后,
牛牛表情推荐 摸头能选型;材料够则出图,不够则提示缺口。 @牛牛 做个嘲讽表情在开启对话时可走工具推荐(仅文本意图)。
实现
源码位置:
- 插件入口:
__init__.py - 配置:
config.py - HTTP 客户端:
meme_client.py - 关键词与素材解析:
resolve.py - 口令 handlers:
handlers.py - 列表/详情格式化:
handlers_format.py - 推荐流水线:
recommend.py、recommend_ai.py - 列表成图:
list_render.py - 短文案:
replies.py
更新日志
版本变更见 CHANGELOG.md;也可在控制台插件商店弹窗的「更新日志」分栏查看。
致谢
表情合成能力来自 meme-generator-rs(MemeCrafters)。