跳到主要内容

智能表情包系统

生硬纯文字的机器人往往缺乏趣味。Yunzai-LLM-Plugin 内置了一套情境感知的表情包决策与视觉标注引擎,让机器人在恰当的时机以 QQ 真实表情的形式生动接梗。


表情包是如何工作的?​

  1. 概率与冷却控制:

    • 提示词要求模型“偶尔才发”;模型想发表情时,按 sticker.probability(默认 1)决定是否实际发送。
    • 同一会话两次表情之间至少间隔 sticker.cooldown 秒(默认 30)。
  2. 视觉模型智能标注:

    • 当管理员录入一张新表情图时,视觉模型(sticker.indexModel,留空依次用 visionModel / utilityModel / 默认模型)会生成:
      • 表情名称(如:“猫猫摊手”)
      • 画面描述与图中文字
      • 适用场景与标签(如:“代码报错、加班、摸鱼”)
  3. 大模型动态匹配与发送:

    • 提示词中列出最多 sticker.maxInPrompt 个表情,更多表情可通过 list_stickers 工具查找。
    • 大模型在回复中写出 [表情:名称],插件将其转换为图片发送;sticker.sendAs 控制以 QQ 表情(sticker)还是普通图片(image)形式发送。

录入表情包的两种便捷途径​

途径一:Web 面板批量拖拽上传​

在 Web 管理面板进入 「模型与资源 → 表情包」:

  • 支持将电脑上的数十张 PNG / JPG / GIF / WebP 图片直接拖入上传区域。
  • 插件后台并发调用视觉模型自动识别、提取标签并命名。
  • 在页面上可随时编辑名称、手动增减标签,或按关键词筛选批量剔除不合适的表情。

途径二:QQ 聊天内直接录入​

管理员在群内或私聊中:

  • 发送一张图片并附带文本:#llm添加表情
  • 或者引用别人刚发的一张好玩表情,回复:#llm添加表情
  • 机器人即刻收录并完成自动打标。
  • 也可以用 #llm导入收藏表情 导入机器人账号的收藏表情(需要 NapCat 等支持 fetch_custom_face 的协议端)。