Skip to content

Releases

v1.0.0 首个开源版本

Choose a tag to compare

@RandyLuaW RandyLuaW released this 18 Oct 10:40

消息防抖 v1.0.0

首个开源版本。把同一个人短时间连发的多条消息合并成一条再处理 —— 连发三句只触发一轮 LLM 回复。

群聊里常见的「在吗 / 问你个事 / 那个插件怎么配」三条消息,开启后合并成一条,模型一次答完,不再出现「在的」「你说」这类无意义的中间回复。

功能

  • 连发合并:同一个人在 listen_seconds 窗口内的多条消息合并成一条
  • 不重复触发:批次 token 机制保证同一批次只有一个事件继续往下走,其余主动 stop_event() 让位
  • 条数上限:达到 max_merge_count 立即带全部内容发出,长串消息不会被无限延迟
  • 豁免规则:被 @、指令(可配前缀)、含 GIF 的消息默认立即放行
  • 范围可选:group 只合并群聊,all 群聊私聊都合并
  • 非文本保留:图片、@、表情等消息段原样拼接,不只是拼文字
  • 批次自清理:超过 64 个活跃批次时按 TTL 回收,长期运行不堆内存

设计取舍

只注册一个消息钩子(priority=9999),不注册 LLM 工具、不改回复格式、不碰 AstrBot 内部 runner。优先级刻意低于 tattle 的封禁门(10000),让被封禁用户的消息先被拦掉;高于主动回复插件与记忆插件,保证它们只看到合并后的那一条。

安装

下载下方 astrbot_plugin_msg_debounce-v1.0.0.zip,AstrBot WebUI → 插件管理 → 上传安装。

或在插件市场搜索「消息防抖」。

兼容性

项 值
AstrBot >= 4.17.0
平台 aiocqhttp
Python 3.10+

校验

SHA256  32d3dcfef890a0ac7c960c1c56442b34c9eaa2a8fba2bfc7a4f61d8da684ac4b
大小    54549 bytes (53.3 KB)

完整变更见 CHANGELOG.md。