自用插件留存,原仓库:https://github.com/KBVsent/group-insight
- 今日氛围 - AI 分析群聊整体情绪(积极/中性/消极)+ 分数 + 关键词 + 总结
| 榜单 | 说明 |
|---|---|
| 🎭 表情包达人 | 发表情最多的用户 |
| 🌙 深夜党 | 夜间(0-6点)消息最多 |
| 🌅 早起党 | 早间(6-8点)消息最多 |
| 📢 @狂魔 | 发起@次数最多 |
| 🎯 人气王 | 被@次数最多 |
| ❓ 问号达人 | 提问最多的用户 |
| 🔇 话题终结者 | 发消息后群最常沉默 |
| 📝 长篇大论 | 平均消息长度最长 |
| 🔁 复读机 | 复读次数最多 |
| 🖼️ 图片狂魔 | 发图最多 |
| 🤿 潜水冠军 | 消息最少但有发言 |
| 💕 群聊CP | 互动最频繁的两人 |
| 🔄 最长复读链 | 最长的复读接龙 |
所有新功能均可在锅巴面板或 config.yaml 中开关:
groupManager:
analysis:
mood:
enabled: true # 情绪分析(消耗 token)
funRankings:
enabled: true # 趣味榜单(不消耗 token)一个功能强大的 Yunzai 群聊分析插件,提供 AI 驱动的深度洞察、词云生成和消息追踪功能。
- AI 智能分析 - 话题提取、金句识别、用户称号、MBTI 性格分析
- 数据可视化 - 活跃度热力图、统计报告、精美卡片展示
- 词云生成 - 智能中文分词、精美渐变设计
- @消息追踪 - 自动记录艾特消息、支持上下文查看、支持图片、视频、小程序等消息类型追踪
通过 #群聊报告 命令生成的 AI 智能分析报告,包含基础统计、活跃度分布、热门话题、群友称号和群圣经等模块。
通过 #词云 命令生成的精美词云图,直观展示群聊热词分布。
在Yunzai根目录下执行:
git clone --depth=1 https://github.com/Cat-bl/group-insight plugins/group-insight
cd plugins/group-insight
pnpm install首次启动时,插件会自动在 config/ 目录下创建 config.yaml 配置文件。
编辑 plugins/group-insight/config/config.yaml:
groupManager:
ai:
# 必填:AI API Key
apiKey: 'your-api-key-here'
# 必填:模型名称
model: 'gpt-4.1'
# 必填:API 端点
baseURL: 'https://api.openai.com/v1'支持所有兼容 OpenAI API 格式的服务商(OpenAI、Claude、DeepSeek、通义千问等)
注意:配置文件支持热重载,修改后无需重启机器人。
pnpm restart| 命令 | 说明 | 权限 |
|---|---|---|
#群聊报告 |
生成今天的 AI 分析报告 | 所有人 |
#群聊报告 昨天 |
生成昨天的报告 | 所有人 |
#群聊报告 前天 |
生成前天的报告 | 所有人 |
#群聊报告 2024-11-01 |
生成指定日期报告(7天内) | 所有人 |
#强制生成报告 |
强制生成今天报告(忽略冷却) | 主人 |
#强制生成报告 昨天 |
强制生成昨天报告 | 主人 |
#词云 / #群聊词云 |
生成今天的词云 | 所有人 |
#词云 三天 |
生成三天词云 | 所有人 |
#词云 七天 |
生成七天词云 | 所有人 |
#个人词云 |
生成自己今天的词云 | 所有人 |
#个人词云 三天 |
生成自己三天的词云 | 所有人 |
#个人词云 七天 |
生成自己七天的词云 | 所有人 |
谁艾特我 / 谁@我 |
查看谁艾特了你 | 所有人 |
#清除艾特数据 |
清除自己的艾特记录 | 所有人 |
#清除全部艾特数据 |
清除所有艾特记录 | 主人 |
生成的报告包含以下模块:
- 基础统计 - 消息数、参与人数、字符统计、表情统计
- 活跃度分析 - 24小时活跃度热力图、峰值时段
- 话题提取 - 3-5个主要讨论话题及参与者
- 金句识别 - 3-5条精选有趣/震撼语句
- 用户称号 - 基于行为模式分配创意称号 + MBTI
- Token 统计 - AI 使用情况追踪
- 今天报告:可多次生成,1小时冷却期内返回缓存
- 历史报告(昨天/前天/指定日期):首次生成后即为定型报告,后续请求直接返回缓存
- 自动批次补全:对于大消息量群聊,自动补全缺失或失败的批次分析
- 并发保护:同一群同一日期的报告不会被重复生成
在 config/config.yaml 中可自定义,完整配置项请参考 config/default_config.yaml。
插件支持自定义词典和过滤词,用于优化词云分词效果。首次运行后,需自行在 config/ 目录下创建这两个文件,修改后重启生效。
查看词典格式说明
让分词器正确识别特定词汇(如游戏角色名、专有名词),避免被错误切分。
# 格式:词语 词频(可选) 词性(可选)
# 词频越高,该词被分出的概率越大
千恋万花 10 nr
八重神子 10 nr
鸣潮
碧蓝档案
这些词不会出现在词云中,用于过滤无意义的词汇或者Bot指令。
# 每行一个词,支持 # 开头的注释
的
了
是
# 可添加群内特定词汇
执行 pnpm install 自动安装所有依赖:
- openai - OpenAI SDK(兼容所有 OpenAI 格式 API)
- jieba-wasm - 中文分词
- marked - Markdown 解析
- yaml - 配置文件解析
- jsonrepair - JSON 修复
AI 分析失败
- 检查 API Key 是否正确配置
- 检查
baseURL是否与服务商匹配 - 查看后台错误日志
- 确认 API 额度充足
消息收集不工作
- 确认 Redis 运行正常
- 检查配置文件存在:
plugins/group-insight/config/config.yaml3: 确保消息收集配置选项打开(默认为开启) - 重启 Yunzai
配置修改后未生效
- 检查 YAML 语法是否正确(注意缩进)
- 查看控制台日志是否有 "配置变更" 提示
- 如果没有自动重载,手动重启 Yunzai
批次生成失败
当群消息量大时(>1000条),插件会自动分批次分析。如遇批次失败:
- 再次请求报告时会自动尝试补全失败批次
- 失败批次标记
retried=true后不会重复尝试 - 检查 AI API Key 和网络连接
查看技术细节
plugins/group-insight/
├── apps/ # 命令插件(热重载)
├── components/ # 核心组件(配置、服务管理)
├── config/ # 配置文件
├── constants/ # 常量定义
├── lib/ # 库文件
├── resources/ # 模板与资源
├── services/ # 业务逻辑服务
├── utils/ # 工具函数
├── index.js # 插件入口
- TRSS-Yunzai - Bot 框架
- astrbot-qq-group-daily-analysis - 群聊报告部分灵感来源
MIT License


