一个功能强大的 AstrBot 表情包管理插件,支持 🤖 AI 智能发送表情、🌐 WebUI 管理界面、☁️ 云端同步等特性。
问题修复:修复了由罕见 Unicode 字符导致的提示词混淆问题。此问题会导致 bot 发送错误的表情标记,例如:⬧work⬧
。
必要操作:由于 Astrbot 不会自动更新配置,请选择以下任一方式进行更新:
-
方式一:删除配置文件并重启
- 删除文件:
Astrbot/data/config/astrbot_plugin_meme_manager_config.json
- 重启 Astrbot
- 删除文件:
-
方式二:手动修改配置
- 打开 Astrbot 管理界面
- 进入 meme_manager 配置
- 找到
自动添加的提示词->提示词头
- 将原有的提示词头替换为以下新格式:
\n你在对话中需根据当前情境智能选用表情符号,表情需用&&包裹,例如:&&happy&&, 通用格式:&&标签&&。选择逻辑遵循以下动态规则:[智能触发机制]1. 关键词匹配:当对话内容包含以下类型词汇时激活表情使用 - 核心情绪词(开心/生气/惊讶等)→ 直接匹配对应标签 - 场景特征词(早安/报酬/思考等)→ 关联场景标签 - 语气调节词(请/建议/但是等)→ 触发软化型表情2. 动态优先级: a) 精确匹配现有标签 > 同义词扩展 > 放弃使用 b) 高频使用标签优先于低频标签[表情标签库](当前可用)格式:标签 - 使用场景描述当前可用:
💡 提示:复制上方代码块中的内容即可。
注意:此次更新涉及核心配置变更,必须完成上述任一操作才能正常使用。
-
Q: 如何快速开始使用这个插件?
- A: 只需安装插件并重启 AstrBot 即可,无需修改任何人格设置。插件会自动配置所需的提示词和初始表情包。(
⚠️ 重要:请勿在人格设置中添加任何表情相关提示词)
- A: 只需安装插件并重启 AstrBot 即可,无需修改任何人格设置。插件会自动配置所需的提示词和初始表情包。(
-
Q: WebUI 无法访问怎么解决?
- A: 请按以下步骤排查:
- Docker 部署用户请先确保已映射端口,详见:ISSUE#1
- 使用内网穿透的用户需配置 NAT 转发,将内网 5000 端口映射到外网
- 云服务器用户请检查安全组是否已放行 5000 端口的入站规则
- A: 请按以下步骤排查:
-
Q: 是否必须配置图床才能使用?
- A: 不需要。除了云端同步功能外,其他所有功能(包括表情管理后台)都可以正常使用。图床配置是可选的。
-
Q: 如何管理表情包?
- A: 使用命令
/表情管理 开启管理后台
启动 WebUI,在管理界面中您可以:- 添加/删除表情包
- 创建/修改表情分类
- 编辑表情描述(用于指导 bot 使用场景) 所有修改都会实时生效,无需重启或额外配置。
- A: 使用命令
-
Q: 插件是否包含预设表情包?
- A: 是的。首次启动时,插件会自动检测并安装一套精心挑选的初始表情包,让您可以立即开始使用。
-
Q: 最佳实践是什么?
- A: 推荐以下使用流程:
- 安装插件后直接使用
/reset
重置当前对话 - 无需修改任何人格设置或添加额外提示词
- 需要更多自定义设置时,请参考🛠️ 第一次使用章节
- 安装插件后直接使用
- A: 推荐以下使用流程:
功能 | 描述 |
---|---|
🤖 AI 智能识别 | 自动识别对话场景,发送合适的表情 |
🖼️ 快速上传和管理表情包 | 通过命令快速上传和管理表情包 |
🌐 WebUI 管理界面 | 提供便捷的 WebUI 管理界面 |
☁️ 云端图床同步 | 支持与云端图床同步,方便多设备使用 |
🎯 精确的表情分类系统 | 通过类别管理表情,提升使用体验 |
🔒 安全的访问控制机制 | 确保管理界面的安全性,防止未授权访问 |
📊 表情发送控制 | 可以控制每次发送的表情数量和频率 |
🔄 自动维护 Prompt | 所有 prompt 会根据修改的表情包文件夹目录自动维护,无需手动添加! |
- 确保已安装 AstrBot
- 将插件复制到 AstrBot 的插件目录(你也可以使用 Astrbot 的插件管理器安装,或下载本项目上传压缩包)
- 重启 AstrBot 或使用热加载命令
注意:第一次使用请先进行配置,配置步骤如下:
-
进行设置:根据以下说明进行配置,你也可以点击问号了解配置说明:
注意:你需要设置好图床的 API Key、API Secret 和空间名称,才能正常使用图床同步等功能。如果不设置图床信息,默认无法使用图床功能,其他功能如 WebUI 可以正常使用。
本插件目前支持 stardots 图床。
-
注册账号:如果没有账号,你需要先注册一个 stardots 账号,或直接使用其他方式登录。
Stardots 图床免费账户支持 1 个空间,2024 张图像(对于表情包来说是足够的),每月 10GB 流量传输。免费账户对于我们同步存储表情包的需求来看是足够的。
-
记住你建立的空间的名字,将其填入插件设置中的图床配置信息的空间名称中。
-
获取 API Key 和 API Secret:在同样的界面,点击左侧的"开放 API" -> "密钥",点击生成密钥:
将其中的 API Key 和 API Secret 填入插件设置中的图床配置信息中,点击保存配置,AstrBot 将会重启。
打开 WebUI 获取同步信息或发送
/表情管理 同步状态
享受图床同步功能!
插件配置项包括:
image_host
: 选择图床服务 (目前支持 stardots)image_host_config
: 图床配置信息webui_port
: WebUI 服务端口号max_emotions_per_message
: 每条消息最大表情数量emotions_probability
: 表情触发概率 (0-100)strict_max_emotions_per_message
: 是否严格限制表情数量
指令 | 描述 |
---|---|
/表情管理 查看图库 |
📚 列出所有可用表情类别 |
/表情管理 添加表情 [类别] |
➕ 添加新表情到指定分类 |
/表情管理 开启管理后台 |
🚀 启动 WebUI 服务 |
/表情管理 关闭管理后台 |
🔒 关闭 WebUI 服务 |
/表情管理 同步状态 |
🔄 检查同步状态 |
/表情管理 同步到云端 |
☁️ 将本地表情同步到云端 |
/表情管理 从云端同步 |
⬇️ 从云端同步表情到本地 |
以下是 WebUI 的功能预览:
功能 | 预览图示 |
---|---|
登录界面 | ![]() |
表情包管理界面 | ![]() |
- 🛠️ 修复消息类型不支持查看问题
- 🎉 移除了 imghdr 依赖, 现在兼容更高版本 python
- 🔄 完全重构代码架构
- 🌟 新增 WebUI 管理界面
- ☁️ 添加图床同步功能
- 🤖 优化表情识别算法
- 🎉 增加更多表情包
- 🛠️ 修复 TTS 兼容性问题
- ⚡ 优化消息发送逻辑
- ✉️ 文本和表情分开发送
- 🌐 支持网络图片上传
- 🔧 优化上传流程
- 🚀 初始版本发布
- 📦 基础表情管理功能
- 🖼️ 多图上传支持
- WebUI 服务需要管理员权限才能开启
- 使用云端同步功能前需要正确配置图床信息
- 请勿将 WebUI 访问密钥分享给未授权用户
如果遇到问题或有功能建议,欢迎在 GitHub 提交 Issue。
本项目基于 MIT 许可证开源。