Skip to content

Cat-bl/group-insight

Repository files navigation

自用插件留存,原仓库:https://github.com/KBVsent/group-insight

1.基于原仓库修复了使用部分中转站api代码报错问题,新增了几种渲染模板

2.新增 14 个趣味统计功能

情绪分析(消耗 Token)

  • 今日氛围 - AI 分析群聊整体情绪(积极/中性/消极)+ 分数 + 关键词 + 总结

趣味榜单(不消耗 Token)

榜单 说明
🎭 表情包达人 发表情最多的用户
🌙 深夜党 夜间(0-6点)消息最多
🌅 早起党 早间(6-8点)消息最多
📢 @狂魔 发起@次数最多
🎯 人气王 被@次数最多
❓ 问号达人 提问最多的用户
🔇 话题终结者 发消息后群最常沉默
📝 长篇大论 平均消息长度最长
🔁 复读机 复读次数最多
🖼️ 图片狂魔 发图最多
🤿 潜水冠军 消息最少但有发言
💕 群聊CP 互动最频繁的两人
🔄 最长复读链 最长的复读接龙

配置控制

所有新功能均可在锅巴面板或 config.yaml 中开关:

groupManager:
  analysis:
    mood:
      enabled: true       # 情绪分析(消耗 token)
    funRankings:
      enabled: true       # 趣味榜单(不消耗 token)

群聊洞见插件 (Group Insight)

Banner

一个功能强大的 Yunzai 群聊分析插件,提供 AI 驱动的深度洞察、词云生成和消息追踪功能。

核心功能

  • AI 智能分析 - 话题提取、金句识别、用户称号、MBTI 性格分析
  • 数据可视化 - 活跃度热力图、统计报告、精美卡片展示
  • 词云生成 - 智能中文分词、精美渐变设计
  • @消息追踪 - 自动记录艾特消息、支持上下文查看、支持图片、视频、小程序等消息类型追踪

功能展示

群聊分析报告

通过 #群聊报告 命令生成的 AI 智能分析报告,包含基础统计、活跃度分布、热门话题、群友称号和群圣经等模块。

群聊报告展示

群聊词云

通过 #词云 命令生成的精美词云图,直观展示群聊热词分布。

词云展示

快速开始

1. 安装

在Yunzai根目录下执行:

git clone --depth=1 https://github.com/Cat-bl/group-insight plugins/group-insight
cd plugins/group-insight
pnpm install

2. 配置 AI 服务

首次启动时,插件会自动在 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、通义千问等)

注意:配置文件支持热重载,修改后无需重启机器人。

3. 重启 Yunzai

pnpm restart

命令列表

命令 说明 权限
#群聊报告 生成今天的 AI 分析报告 所有人
#群聊报告 昨天 生成昨天的报告 所有人
#群聊报告 前天 生成前天的报告 所有人
#群聊报告 2024-11-01 生成指定日期报告(7天内) 所有人
#强制生成报告 强制生成今天报告(忽略冷却) 主人
#强制生成报告 昨天 强制生成昨天报告 主人
#词云 / #群聊词云 生成今天的词云 所有人
#词云 三天 生成三天词云 所有人
#词云 七天 生成七天词云 所有人
#个人词云 生成自己今天的词云 所有人
#个人词云 三天 生成自己三天的词云 所有人
#个人词云 七天 生成自己七天的词云 所有人
谁艾特我 / 谁@我 查看谁艾特了你 所有人
#清除艾特数据 清除自己的艾特记录 所有人
#清除全部艾特数据 清除所有艾特记录 主人

AI 分析报告内容

生成的报告包含以下模块:

  • 基础统计 - 消息数、参与人数、字符统计、表情统计
  • 活跃度分析 - 24小时活跃度热力图、峰值时段
  • 话题提取 - 3-5个主要讨论话题及参与者
  • 金句识别 - 3-5条精选有趣/震撼语句
  • 用户称号 - 基于行为模式分配创意称号 + MBTI
  • Token 统计 - AI 使用情况追踪

历史报告支持

  • 今天报告:可多次生成,1小时冷却期内返回缓存
  • 历史报告(昨天/前天/指定日期):首次生成后即为定型报告,后续请求直接返回缓存
  • 自动批次补全:对于大消息量群聊,自动补全缺失或失败的批次分析
  • 并发保护:同一群同一日期的报告不会被重复生成

核心配置

config/config.yaml 中可自定义,完整配置项请参考 config/default_config.yaml

词云自定义词典

插件支持自定义词典和过滤词,用于优化词云分词效果。首次运行后,需自行在 config/ 目录下创建这两个文件,修改后重启生效。

查看词典格式说明

自定义词典 (config/userdict.txt)

让分词器正确识别特定词汇(如游戏角色名、专有名词),避免被错误切分。

# 格式:词语 词频(可选) 词性(可选)
# 词频越高,该词被分出的概率越大
千恋万花 10 nr
八重神子 10 nr
鸣潮
碧蓝档案

过滤词 (config/stopwords.txt)

这些词不会出现在词云中,用于过滤无意义的词汇或者Bot指令。

# 每行一个词,支持 # 开头的注释
的
了
是
# 可添加群内特定词汇

依赖说明

执行 pnpm install 自动安装所有依赖:

  • openai - OpenAI SDK(兼容所有 OpenAI 格式 API)
  • jieba-wasm - 中文分词
  • marked - Markdown 解析
  • yaml - 配置文件解析
  • jsonrepair - JSON 修复

常见问题

AI 分析失败
  1. 检查 API Key 是否正确配置
  2. 检查 baseURL 是否与服务商匹配
  3. 查看后台错误日志
  4. 确认 API 额度充足
消息收集不工作
  1. 确认 Redis 运行正常
  2. 检查配置文件存在: plugins/group-insight/config/config.yaml 3: 确保消息收集配置选项打开(默认为开启)
  3. 重启 Yunzai
配置修改后未生效
  1. 检查 YAML 语法是否正确(注意缩进)
  2. 查看控制台日志是否有 "配置变更" 提示
  3. 如果没有自动重载,手动重启 Yunzai
批次生成失败

当群消息量大时(>1000条),插件会自动分批次分析。如遇批次失败:

  1. 再次请求报告时会自动尝试补全失败批次
  2. 失败批次标记 retried=true 后不会重复尝试
  3. 检查 AI API Key 和网络连接

技术架构

查看技术细节

目录结构

plugins/group-insight/
├── apps/              # 命令插件(热重载)
├── components/        # 核心组件(配置、服务管理)
├── config/            # 配置文件
├── constants/         # 常量定义
├── lib/               # 库文件
├── resources/         # 模板与资源
├── services/          # 业务逻辑服务
├── utils/             # 工具函数
├── index.js           # 插件入口

致谢

License

MIT License

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published