[v4.10.6] - ✨ 支持 SnowLuma ,优化 HatsuneMiku 移动端适配情况
- ✨ 支持 SnowLuma: 自动探测是否为 SnowLuma;支持 SnowLuma 的 get_group_msg_history 参数传递情况 (#189 @tryptophawa)。
- 🛠️ HatsuneMiku 优化: 优化了移动端直接使用浏览器打开 HTML 时的 UI 排版情况 (#184 @Shiitin)
📋 点击查看历史更新日志
- 🌍 多地区环境支持: 新增
t2i_font_source配置项,支持Mainland(大陆) 和Overseas(海外) 模式。自动切换 HTML 语言标识 (zh-CN/zh-Hant) 并动态调整 CSS 字体栈优先级,解决繁体中文支持与字形偏移问题。 - ⚙️ 自定义镜像地址: 移除了所有硬编码的字体资源站地址。现在用户可以为国内和国外环境分别自定义 Google Fonts、Gstatic 字体镜像站。
- 📱 平台与主题优化:
- Telegram: 修复了 Telegram 平台的头像处理逻辑 (#176 @lekoOwO)。
- 🛠️ 基础设施与调试: 重构模板实现完全的数据驱动渲染;更新
debug_render.py并新增test_regional_rendering.py验证脚本。
- ✨ 自定义配置支持: 支持配置两轮 T2I 渲染策略,允许用户自定义图片格式(PNG/JPEG)、质量、分辨率及超时时间(#164),支持复杂渲染场景的超时参数配置(#174 感谢 @uuutt2023)。
- 🛠️ 健壮性增强: 实现 T2I 返回 HTML 错误页的自动识别与摘要提取(如 502 Bad Gateway),提升故障排查效率。(参考 #171 说明)
- ✨ LLBot 支持: 支持 LLBot 的群相册上传接口。自动探测协议端版本,并针对 LLBot 采用其特定的参数格式进行上传。
- 🎉 特别致谢: 本次更新的人格画像数据集与灵感来源于 ACGTI 及 SBTI-test 项目,由衷感谢原作者的开源贡献。
- ⚙️ 配置透明化: 将默认的人格映射表(MBTI/SBTI/ACGTI)及对应的 CDN 资源链接完整编码进
_conf_schema.json。现在用户可以直接在控制面板预览并快速自定义属于自己的角色映射关系。
- 🐛 黑白名单处理: 修复插件在独立会话模式下无法识别群号白名单的问题 (#156)
- ✨ 人格增强分析: 分析器人格增强和使用体验优化,可视化选择人格配置
- 🛠️ 健壮性增强: 回退 (befcc2ad) 所有模板的强制桌面端视宽注入
- ✨ 新模板 ATRI: 感谢 @Liangyu-G 的贡献,新增了一个名为 ATRI 的模板,灵感来源于 ATRI 的可爱风格,适合喜欢二次元风格的用户使用。(“她太可爱了,就是太可爱了,那个剧情也特别好,但她真的太可爱了。在聊天的过程中,Soulter不止一次和我强调了亚托莉可爱这一点,甚至一度说不出其他话了” )
- 🐛 移动端阅读优化: force desktop viewport for exported html reports (#147 @clown145)
- ✨ 优化 HTML 格式使用体验: 檔案名稱模板支援 ULID 和資料夾路徑 (#146 @lekoOwO)
- 🐛 TG 贴表情: @clown145
- ✨ 新格式 HTML: @lekoOwO
- 🐛 黑白名单修复: 分析名单准入并修复 AstrBot 内置白名单绕过问题 (情况如 #133 所述)
- ✨ 新模板 HatsuneMiku: 感谢 @Shiitin 的贡献,新增了一个名为 HatsuneMiku 的模板,灵感来源于初音未来的可爱风格,适合喜欢二次元风格的用户使用。
- 🐛 自动分析调度修复: 修复自动分析任务生命周期检查链路,重置
schedule_jobs后_terminating状态,避免任务被静默跳过;增量分析任务生命周期行为与定时分析保持一致。(#130 @Dongmayyys) - ✨ 配置能力增强: 引入三层黑白名单机制(基础群分析、定时分析、增量分析),支持更细粒度的群级分析控制;并同步完善面板文案与说明,明确不同名单组合下的实际触发行为,降低配置歧义
- 🛠️ 健壮性增强: 修复 Telegram 平台自动分析就绪检查失败与 ID 匹配诊断逻辑,提升跨平台自动分析稳定性。
- ✨ 结构化输出增强: 支持通过
response_format(json_schema)约束 LLM 输出格式,统一生成流程并兼容旧版本本体行为,避免用户因版本差异产生困惑。 - 🛠️ 健壮性增强: 新增 Pydantic 校验层,对解析结果执行本地二次校验;在保持暴力解析与正则降级能力的前提下,失败再进入重试 loop,提升复杂场景下的可恢复性。
- 🐛 数据口径修复: 统一表情统计口径并修复用户活跃分析类型标注问题,确保报告统计与用户画像一致性。
- 🛠️ 健壮性增强: 修复插件任务生命周期管理,避免用户困惑的报错行为 (#125)
- 🛠️ 健壮性增强: 尝试修复 Telegram 平台自动分析就绪检查失败问题 (#128)
- 🛠️ 健壮性增强: 修复 JSON 解析中正则贪婪匹配导致的数组截断问题 (#126)
- ✨ 群聊质量锐评: 新增群聊质量锐评功能 (灵感来源:@Nagi-ovo; 开发助力: @Snow-kal, @J621111)
- 🛠️ 功能优化: 为解决头像更新,引入头像缓存与生命周期管理,优化头像处理逻辑 (@oculr)
- ✨ README: 群聊邀请卡片 (#114 @ywh555hh)
- ✨ 报告分析逻辑优化: 允许注入人格,配置项默认关闭
- 🛠️ 健壮性增强: Telegram 平台下 发送长图时触发 Photo_invalid_dimensions 报错提示图片长宽比例或总尺寸不合规时,尝试以文件形式发送
- ✨ 解决金句头像无法显示: 尝试解决金句头像无法显示的问题。通过将 Prompt 输入改为 [user_id] 标识符,实现 100% 准确的身份回填,彻底消除了由于 LLM 微调内容导致的匹配失败。
- ✨ 报告发送优化: 允许金句分析解析用户,渲染头像和名称,提升潜在的分析互动效果。
[v4.8.7] - feat: 语义化 Trace ID 注入与报告标签 (#103)
- ✨ 追踪可读性增强: [TraceContext] 重构 TraceID 生成,支持包含群名和时间(如 manual_xxx群名称_时分),极大提升日志可读性,用户方便理解。
- ✨ 报告发送优化: [视觉美化] 从用户可见消息(初始提示及图片 Caption)中彻底移除丑陋的 [ID: xxx] 字符串。
- 🛠️ 健壮性增强: [去重增强] 在报告 Caption 中引入基于秒级时间戳的“隐式指纹”,配合共享正则匹配,确保去重逻辑能够正确执行。
- 🛠️ 健壮性增强: [自动分析] 优化自动调度器逻辑,引入群名缓存,使服务端定时任务日志更具业务可读性。
- 🛠️ 健壮性增强: 增强图片发送超时处理
- 🛠️ 健壮性增强: 新增群相册上传严格模式 (#102)
- 🛠️ 健壮性增强: 正确识别 QQ 表情包 (subType=1) (#99 @nagatoquin33)
- 🛠️ 健壮性增强: 增强群相册兼容性 (#97)
- 🐛 去重优化: 修复可选参数 days 以支持自定义分析天数 (#98)
- 🛠️ 健壮性增强: 多字段智能探测序列号,优化了提取逻辑,不仅检查 message_seq,还支持 LLBot 示例中出现的 real_id 以及常见的 seq 字段
- ✨ 追踪性增强: 实现全链路 TraceID 注入。现在所有插件日志均会自动带上任务唯一的
trace_id前缀,且所有发送的图片报告及其重试消息均在该Caption下包含[ID: trace_id]标签,实现任务执行全流程透明化。 - 🛠️ 健壮性增强: 重构插件初始化流。针对平台加载延迟问题,延长初始化等待时间,并强制注册定时任务;在分析任务执行前增加“临门一脚”的平台自动发现补救机制,确保懒加载环境下任务不丢失。
- 🐛 去重优化: 强化 OneBot 适配器的检查去重逻辑。尝试支持基于 TraceID 的精确匹配拦截,有效防止因适配器超时导致的图片重复发送,并优化了多账号下的身份同步。
-
🛠️ 健壮性增强: 在应用服务层实现基于群组和任务类型的异步锁,使用 asynccontextmanager 生成器函数确保同一群聊在同一时间只能执行一个分析任务。
-
🐛 Bug 修复: 尝试增强重试管理器,增加 TraceID 观测重试链路具体情况,增强去重判断逻辑,最终目标是解决黑名单模式下向所有群发送而偶尔出现报告重复发送的 Bug(仍有待验证)
-
🛠️ 健壮性增强: 【三级并发控制架构】针对不同层级的资源消耗,建立了完整的限流保护体系
-
- 入口层:控制同时处于活跃状态的群聊分析任务总数,防止瞬时加载大量消息导致服务器内存溢出 (OOM);
-
- 接口层:全局限制 LLM API 并发请求数,确保严格遵守服务商的频率限制 (RPM);
-
- 渲染层:全局限制 T2I 图片生成并发量,保护物理 CPU 与内存不被渲染任务耗尽。
- 🐛 Bug 修复: 修复自动定时分析报告无法上传群相册的问题 (补全缺失的 album_name 参数)
- 🛠️ 健壮性增强: 尝试增强重试管理器,避免重试地狱和重复发送
- 🛠️ 健壮性增强: 尝试增强重试管理器,避免重试地狱和重复发送(有待进一步完善)
- 🐛 Bug 修复: 解决增量分析传参错误导致用户称号失效的问题
- ✨ 新功能: 新增可选 Base64 图片传输开关,默认启用,兼容更多环境。
- 🐛 Bug 修复: 修复图片路径处理逻辑,处理绝对路径和相对路径的文件路径转换
- ✨ 新功能: 新增分析报告同步上传至群文件和群相册的功能,等待有缘人来黑历史里挖坟
- 🛠️ 健壮性增强: 重构 OneBot 消息拉取逻辑,采用分页回溯策略,减轻拉取历史消息瞬间的负荷
- ✨ 新模板: spring_festival
- ✨ 新模板: hack
- ✨ 新功能: Telegram 平台的
/设置模板指令支持通过按钮交互选择模板,提升用户体验。
- ✨ 新功能: Telegram 平台初步支持
- ✨ 新功能: 将模板选择改为 options,方便配置
- ✨ 新功能: 参考 [v4.7.1] 日志,建议尝试增量分析
- 🔌 多平台开发中: 正在尝试接入多平台,目前 Onebot 和 Discord 基本通过了初步测试,如果有 bug 欢迎 issue 反馈, telegram 还在开发中
- ✨ 新功能: 话题分析用户头像显示,提升话题分析的可读性。
- ✨ 新功能: 实现增量分析机制,通过全天多次分析逐步积累统计数据,解决大消息量群聊的分析效果问题。
- 🛠️ 健壮性增强: 采用单次生成少量话题和金句的策略,随着每次分析动态更新统计信息;改进用户画像机制,基于最近一次统计的全部数据进行分析。
- ⚡ 性能优化: 实现更均匀的任务分发机制,在消息量小的时间段避免多余分析,充分利用有限的每日自动分析任务额度。
- 🛠️ 健壮性增强: 优化
AutoScheduler启动逻辑,强制进行 Bot 实例自动发现,确保冷启动时能正确获取群列表。 - 🔌 平台优化: 修复多平台(如 Discord)下适配器识别不稳定的问题,优先使用
BotManager缓存的适配器。 - 📕 文档更新: 在
README.md中补充了 Discord 平台必需的 “查看消息历史记录” (Read Message History) 权限说明。
- ✨ 新功能: 支持配置每日多个时间点总结
- 🛠️ 健壮性增强: 修复定时分析发送后台不完全静默的 Bug,正确处理文本发送回退时机。
- 🛠️ 健壮性增强: 使用更好用的 playwright 避免 pdf 生成期间无法预测的行为。
- 🛠️ 健壮性增强: ReportGenerator 优化 t2i 参数,增加设备缩放因子。生成的报告图片更加清晰。
- 🛠️ 健壮性增强: 重试管理器直接从渲染器请求原始图像字节,QQ 客户端不再需要从本地服务器下载图片,从而绕过了导致超时的网络传输层。
- 🐛 Bug 修复: 解决手动群分析命令在 NTQQ 内核尝试上传图片并将其推送到腾讯服务器时,超过了预设的时间限制(通常是 120 毫秒或更久),导致连接断开。的 aiocqhttp.exceptions.ActionFailed 问题
- 🎨 样式优化: activity_chart 排版调整为横向,减小没有实质内容的 activity_chart 对排版的空间占用。
- ✨ 新功能: 新增图片报告重试机制并优化调度稳定性,实现延迟队列与死信队列,支持指数退避 + 随机抖动 (Jitter) 重试策略。
- 🐛 Bug 修复: 修复 generators.py 中 _get_user_avatar 的 TypeError。将 aiohttp 请求重构为异步上下文模式,确保 response.read() 被正确等待,并增加了网络连接失败处理。
- 🐛 Bug 修复: Linux 环境下的安装 PDF 命令修复,调整 PDF 格式排版情况。PDF 格式在 Linux 环境下占用过大,原因还在排查中,暂时不推荐使用。
- 🐛 Bug 修复: 检查该平台是否包含该插件的配置文件 plugin_set,通过 AstrBot 配置文件来判断账号启用插件。
- ✨ 新功能: "群贤毕至"板块新增用户头像显示,提升视觉体验。
- ✨ 体验优化: 调整了 Scrapbook 模板页脚关于 Token 消耗的描述文本。
- 📕 文档更新: 更新了插件元数据中的仓库地址。
- 🎨 样式优化: 优化了 Scrapbook 报告模板的排版和布局细节。
- 🛠️ 健壮性增强: 修复了
Jinja2模板渲染时的线程安全问题,防止并发渲染错误。 - ⚡ 性能优化: 将统计和分析等 CPU 密集型计算任务卸载到独立线程池执行,避免阻塞主事件循环。
- 📚 文档更新: 更新插件
metadata描述并重新提交至插件市场,优化用户搜索体验。
- ✨ 新功能: 新增
/查看模板指令,以合并转发消息的形式预览所有可用模板。 - 💻 交互优化:
/设置模板指令现支持通过序号直接选择模板,操作更便捷 (@clown145)。
- ✨ 新增主题: 添加
retro_futurism(未来复古主义) 主题模板,致敬《明日方舟》孤星活动美术风格。 - 🛠️ 开发者工具: 新增
scripts/debug_render.py脚本,支持在不启动 AstrBot 的情况下独立调试渲染效果 (@Saramanda9988)。
- 🛡️ 健壮性增强: 优化图片发送逻辑,在直接发送失败时回退尝试使用 BASE64 编码发送,提高发送成功率 (@Heximiao)。
- 🐛 Bug 修复: 修复了关闭特定分析区后,其基础样式代码未正确清理的问题。
- 🔌 核心适配: 适配 AstrBot v4.5.7+ 的最新 LLM API 标准。
- ✨ 新功能: 支持多套主题模板切换机制,为后续更多模板打下基础。
- ✨ 新功能: 引入群聊分析黑白名单机制,精细化控制启用范围。
- ⚡ 性能优化: 使用信号量 (
Semaphore) 限制并发,并采用弱引用字典 (WeakValueDictionary) 优化锁管理,降低内存占用。
- 🎨 重大更新: 推出全新设计的 "Scrapbook" (手账) 风格报告模板!
- 灵感源自 GalGame 《五彩斑斓的世界》,模拟二阶堂真红和悠马的日记风格。
- 卡通手账排版,带来温馨治愈的视觉体验。
- 🔧 技术重构: 将报告生成迁移至
Jinja2模板引擎,HTML 模板文件分离,大幅降低调试和修改难度。
- 👷 工程化: 引入自动发版 GitHub Action 和 Issue 模板,规范开发流程 (感谢 @lxfight 参考 Mnemosyne-AstrBot 插件实现)。
- ✨ 新功能: 适配多适配器实例,支持配置多个 QQ 账号。
- ⚙️ 配置增强: 支持在群分析中排除特定的机器人 QQ 号或多平台账号。
- 🐛 Bug 修复: 修复多适配器环境下 Bot 实例与平台 ID 的映射问题,确保消息获取和报告发送正确路由。
- 🛡️ 健壮性增强: 实现了 LLM Provider 的多级回退机制,确保服务高可用:
- 配置指定的 Provider。
- 回退到主 LLM Provider。
- 回退到当前会话 Provider。
- 回退到任意可用 Provider。
- 🔧 功能调整: 鉴于 NapCat 存在的问题,移除了分页拉取和多次轮询逻辑,以此解决消息数量获取异常的 Bug (@exynos967)。
- ⚡ 性能优化: 优化了
max_tokens参数处理,并自动过滤机器人自身发送的消息,节省 Token 消耗。
- 🔧 维护性: 更新配置文件键名,防止因旧版本 (v3.3.0/v3.2.0) 的错误提示词配置导致插件异常。
- 🐛 Bug 修复: 简单修复自定义提示词模板的格式问题,保证基本可用性。
- 🐛 Bug 修复: 修复自动分析获取历史消息不严谨的问题(如超出当天范围或数量限制失效)。
- ✨ 新功能: 开放自定义提示词模板配置,允许用户根据群聊特点定制分析 Prompt。
- ⚡ 性能优化: 将 LLM 话题分析的三部分串行请求改为异步并发执行,显著缩短分析耗时。
- 🐛 Bug 修复: 解决了自动分析器在特定情况下无法获取群聊消息的严重 Bug。
- ⚡ 性能优化: PDF 依赖安装过程不再阻塞主线程。
- ✨ 新功能: 支持在配置中启用 "偏好使用群昵称" 选项 (@Ri-Nai)。
- 🛡️ 健壮性增强: 增强了对 LLM 输出 JSON 格式的提取和容错能力。
- 🐛 Bug 修复: 纠正了自动分析处理逻辑中的日期计算错误。
- ⚡ 性能优化: 实现了自动分析器的群聊并发处理。
- 🐛 Bug 修复: 解决了自动分析器实例不唯一的问题。
- 🐛 Bug 修复: 修复了无法正确获取当前使用模型名称的问题。
- 🐛 Bug 修复: 修复了定时触发自动分析时无法获取 Bot 实例的问题(现需传入 Bot QQ 号)。
- 🎨 样式优化: 提高了生成的图片报告清晰度,微调了字体大小(排版待进一步重构)。
- ⚙️ 配置增强: 支持自定义 Provider 或留空,支持配置自定义模型的重试次数和超时时间。
- ✨ 新功能: 新增 24 小时活跃度分布图表分析。
- 🐛 Bug 修复: 修正了表情使用统计数据不准确的问题。
- 🔧 代码重构: 核心代码解耦化,并优化了部分用户提示。
- 📖 文档更新: 更新了关于 PDF 版本功能的说明文档。
- 📖 文档更新: 增加了关于 Token 消耗情况的说明。
- 🛡️ 健壮性增强: 规范了 LLM 话题分析的提示词,并引入正则处理以提高解析成功率。
- 🛡️ 安全性: 优化权限控制,管理员可管控大部分命令以防 Token 滥用。
- ✨ 新功能: 新增定时自动触发群分析功能。
- ✨ 新功能: 支持发送 PDF 版报告推送(可选配置)。
- 🐛 Bug 修复: 修复了若干已知小问题。
- 🎉 发布: 插件初始版本发布。
- ✨ 功能列表:
- 基础群聊数据分析。
- 智能话题总结与用户称号生成。
- 精美可视化报告生成。