群聊日报 (group-daily-analysis)
July 24, 2026 · View on GitHub
基于 astrbot_plugin_qq_group_daily_analysis 复刻,适用于 Yunzai-Bot 的群聊日报插件。
通过 LLM 分析群聊消息,生成包含话题、用户称号、金句、聊天质量评估的可视化日报图片,支持 9 套主题模板。
功能
- 📊 群聊统计:消息数、参与人数、字符数、最活跃时段、24 小时活跃度图表
- 💬 话题分析:提取当日主要讨论话题及参与者
- 🏆 用户称号:为活跃群友生成称号、MBTI 与理由
- ✨ 金句分析:挑选群聊中的精彩发言
- 📈 聊天质量:多维度评估当日群聊质量
- 🎨 多主题:scrapbook / simple / ATRI / BlueArchive / format / hack / HatsuneMiku / retro_futurism / spring_festival
- ⏰ 定时分析:可配置每日自动生成并发送到群
- 💾 多种消息源:history(历史拉取)/ redis(实时记录)/ hybrid(混合)
安装
推荐使用 git 进行安装。
Github 源
git clone https://github.com/NotIvny/yunzai_qq_group_daily_analysis ./plugins/group-daily-analysis
# 在 Yunzai 根目录执行
cd plugins/group-daily-analysis
pnpm install
模板资源下载
模板中使用的固定网络资源(图片、字体、CSS等)会在生成日报时自动下载到插件目录的 data/ 文件夹,并替换为本地路径后再渲染,相比原版astrbot插件渲染速度大幅度提升。
- 已下载的资源会复用,不会重复下载。
配置
首次启动时候插件会自动从 config/config_default.yaml 复制一份到 config/config.yaml。
然后编辑 config/config.yaml,填写 LLM 配置:
llm:
apiKey: "sk-your-api-key"
baseUrl: "https://api.deepseek.com"
model: "deepseek-v4-flash"
配置项说明
| 配置项 | 说明 | 默认值 |
|---|---|---|
enabled | 启用插件 | true |
recordMode | 消息记录模式 history/redis/hybrid | history |
groupListMode | 群名单模式 whitelist/blacklist/none | blacklist |
groupList | 群名单 | [] |
analysisDays | 分析天数 | 1 |
maxMessages | 最多分析消息数 | 2000 |
minMessages | 最少有效消息数(定时任务) | 20 |
reportTemplate | 日报主题 | scrapbook |
llm.apiKey | LLM API Key | "" |
llm.baseUrl | LLM 接口地址 | https://api.deepseek.com |
llm.model | 模型名 | deepseek-v4-flash |
autoAnalysis.enabled | 启用定时分析 | false |
autoAnalysis.time | 执行时间 HH:mm | 23:00 |
完整字段见 config/config.yaml。
命令
| 命令 | 说明 | 权限 |
|---|---|---|
#群分析 | 生成本群今日日报 | 群聊 |
#群分析 3 | 生成最近 3 天的日报 | 群聊 |
#查看模板 | 查看所有可用模板并发送固定模拟数据预览图 | 主人 |
#设置模板 | 查看当前模板和可用模板列表 | 主人 |
#设置模板 1 / #设置模板 scrapbook | 设置全局日报模板,写入 config/config.yaml | 主人 |
模板设置会在每次命令触发时重新读取 config.yaml;#设置模板 修改的是全局配置,后续群聊日报都会使用新模板。#查看模板 使用内置固定数据生成预览,不调用 LLM。
LLM 兼容性
支持任何 OpenAI 兼容的 /chat/completions 接口,包括:
- DeepSeek (
https://api.deepseek.com) - OpenAI (
https://api.openai.com/v1) - 智谱 GLM (
https://open.bigmodel.cn/api/paas/v4) - 通义千问 (
https://dashscope.aliyuncs.com/compatible-mode/v1) - Moonshot Kimi (
https://api.moonshot.cn/v1) - 本地 Ollama (
http://localhost:11434/v1) - 其他 OpenAI 兼容服务
注意:baseUrl 不要带尾部斜杠;建议使用支持 response_format: json_object 的模型。
架构
index.js # 加载器:初始化运行时 + 加载 apps/
apps/
groupAnalysis.js # 命令处理(#群分析 / 模板设置)
messageRecorder.js # 群消息记录(redis/hybrid 模式)
lib/
config.js # YAML 配置加载与校验
runtime.js # 运行时单例(service/scheduler/recorder)
src/
application/groupAnalysisService.js # 分析流程编排
domain/ # 纯逻辑:消息清洗/统计/结果构建
infrastructure/
llmClient.js # OpenAI 兼容 fetch 客户端
llmAnalyzer.js # LLM 分析(话题/称号/金句/质量)
htmlRenderer.js # HTML -> PNG(Yunzai puppeteer)
reportRenderer.js # nunjucks 模板渲染
onebotHistoryRepository.js
redisMessageRepository.js
redisMessageRecorder.js
dailyScheduler.js
jsonParser.js