Commit Graph
244 Commits
Author SHA1 Message Date
SXP-Simon 8bb059be52 [v4.6.6] fix(pdf): 迁移为 playwright 2026-01-20 20:29:18 +08:00
SXP-Simon 2438ab5b98 fix(pdf): 迁移为 playwright 2026-01-20 20:26:20 +08:00
SXP-Simon b5e094ff1a feat(ReportGenerator): 优化 t2i 参数 2026-01-20 15:56:39 +08:00
SXP-Simon 68a5922c3b [v4.6.5] feat(ReportGenerator): 优化 t2i 参数 2026-01-20 14:37:40 +08:00
SXP-Simon 80cbe786bf feat(ReportGenerator): 优化 t2i 参数 2026-01-20 14:34:42 +08:00
SXP-Simon 5bc6c07aa8 fix(conf): PDF 输出目录路径 pdf_output_dir 修正 2026-01-18 13:57:27 +08:00
SXP-Simon 164a5bd5cc [v4.6.4] 重试管理器优化和业务逻辑调整 2026-01-18 00:56:42 +08:00
SXP-Simon e13907949c fix(群分析): 解决在 NTQQ 内核尝试上传图片并将其推送到腾讯服务器时,超过了预设的时间限制(通常是 120 毫秒或更久),导致连接断开。的 aiocqhttp.exceptions.ActionFailed 问题
如果手动命令 /群分析 发送图片失败(例如遇到你之前遇到的 Timeout 超时错误),插件现在会捕获此错误,而不会直接崩溃或无响应。自动触发重试 (Automatic Retry)一旦捕获到发送失败的错误,系统会立即将该任务添加到 RetryManager(重试管理器)中。Base64 备选方案 (Base64 Fallback)
RetryManager 会接管该任务,并改用我们刚刚实现的 Base64 方法重新发送图片。在原始 URL 方法失败的情况下,这种方式的成功率极高。
2026-01-18 00:52:19 +08:00
SXP-Simon a0b0c3e0d1 fix(RetryManager): 重试管理器直接从渲染器请求原始图像字节,QQ 客户端不再需要从本地服务器下载图片,从而绕过了导致超时的网络传输层
直接字节获取(Direct Byte Retrieval): 重试管理器现在直接从渲染器请求原始图像字节(Bytes),而不是通过 URL。这使得 QQ 客户端不再需要从本地服务器下载图片,从而绕过了导致超时的网络传输层。Base64 编码: 图像字节现在被编码为 Base64 字符串。协议兼容性: 消息负载(Payload)现在使用 base64:// 前缀构建,这是 OneBot/AstrBot 协议中发送 Base64 图片的标准方式。
2026-01-18 00:52:08 +08:00
SXP-Simon b9b09699e7 chore(assets): 更新 scrapbook 示例排版图 2026-01-18 00:23:07 +08:00
SXP-Simon fc88065d1f [v4.6.3] scrapbook activity_chart 排版调整为横向 2026-01-18 00:04:30 +08:00
SXP-Simon 8c0801d4d9 fix(scrapbook): activity_chart 排版调整为横向,减小没有实质内容的 activity_chart 对排版的空间占用 2026-01-18 00:01:57 +08:00
SXP-Simon 7e70a6532c [v4.6.2] 新增图片报告重试机制并优化调度稳定性 2026-01-17 23:54:39 +08:00
SXP-Simon e78c827857 feat(RetryManager): 新增图片报告重试机制并优化调度稳定性
新增重试管理器 (src/scheduler/retry.py):
实现基于内存的延迟队列与死信队列,支持指数退避 + 随机抖动 (Jitter) 重试策略。
增强容错性:处理渲染服务宕机、网络超时及 Bot API 逻辑错误 (如 retcode=1200)。
兼容性优化:使用 call_action 通用接口适配 OneBot v11。
生命周期管理:增加自动启动保护,防止任务丢失。
2026-01-17 23:39:17 +08:00
SXP-Simon 7c3a86fdff fix(pre-commit): code quality 2026-01-17 00:04:14 +08:00
SXP-Simon 7450d76178 fix(pre-commit): code quality 2026-01-16 23:59:45 +08:00
SXP-Simon 8270bf994f [v4.6.1] Linux 下的 /安装PDF 指令简易修复,纠正头像获取的处理;PDF 格式在 Linux 环境下占用过大,原因还在排查中,暂时不推荐使用 2026-01-16 23:49:31 +08:00
SXP-Simon b3a39f1f6c fix(reports): 修复 generators.py 中 _get_user_avatar 的 TypeError。将 aiohttp 请求重构为异步上下文模式,确保 response.read() 被正确等待,并增加了网络连接失败处理 2026-01-16 23:43:46 +08:00
SXP-Simon c54d001f2a fix: 初步完成 PDF 生成,后续继续排查优化 2026-01-16 23:41:13 +08:00
SXP-Simon eeb9461c2f fix(PDFInstaller): 字体处理和友好提示 2026-01-16 21:06:43 +08:00
SXP-Simon b1c889343c fix(PDFInstaller): linux 环境下的安装 PDF 命令修复 2026-01-16 20:30:58 +08:00
SXP-Simon 0b6f2b6969 [v4.6.0] 通过 AstrBot 配置文件来判断账号启用插件 (#72) 2026-01-16 18:39:27 +08:00
SXP-Simon 9ee0662484 fix(is_plugin_enabled): 检查该平台是否包含该插件的配置文件 plugin_set,通过 AstrBot 配置文件来判断账号启用插件
解决关联 issue
`[Bug] 定时分析会直接检测某个群所有支持的平台,而不会检查该平台是否包含该插件的配置文件 #72`
2026-01-16 18:31:03 +08:00
SXP-Simon fb65d14d9d chore(CHANGELOG.md): 更新日志 2026-01-13 16:54:59 +08:00
SXP-Simon 89bb78640d chore(assets): 更新 scrapbook 示例排版图 2026-01-13 16:35:41 +08:00
SXP-Simon 76c5157f30 [v4.5.8] 群贤毕至添加头像 2026-01-13 16:32:36 +08:00
SXP-Simon fd5d4b978d feat(scrapbook): 群贤毕至添加头像 2026-01-13 16:29:34 +08:00
SXP-Simon 131a411a70 [4.5.7] scrapbook 模板 footer 的 token 描述调整,仓库地址更新 2026-01-13 15:27:04 +08:00
SXP-Simon 3f1e406670 fix: 调整排版
- feat(template): scrapbook footer 使用更全面的 token 描述
- chore(template): 仓库名称
2026-01-13 15:22:01 +08:00
SXP-Simon 3e62f5d879 [v4.5.6] 更新 scrapbook 模板排版 2026-01-07 16:51:23 +08:00
SXP-Simon 4b4f4545db feat(scrapbook): 更新 scrapbook 模板 2026-01-07 16:50:29 +08:00
SXP-Simon 251eb2ca0d [v4.5.5] 性能优化,CPU 密集型计算(统计和分析)已卸载到各线程池,避免阻塞事件循环;修复 Jinja2 模板渲染线程安全问题 2026-01-07 00:38:11 +08:00
SXP-Simon 022dd77ea9 fix(thread-safety): 已为
templates.py
 中的 Jinja2 环境缓存添加线程安全保护,具体改动如下:

 使用双重检查锁定(Double-Checked Locking)保护缓存访问
读取缓存时加锁,避免多线程同时读取时的数据竞争
创建新环境后再次加锁检查,防止高并发下重复创建相同模板的环境

原代码中 _envs 字典会通过 asyncio.to_thread(self._get_env_sync) 被多个线程同时访问和修改,存在数据竞争风险。现在通过 threading.Lock 确保了线程安全。
2026-01-07 00:35:40 +08:00
SXP-Simon 3840e84b93 Merge branch 'main' of github.com:SXP-Simon/astrbot-qq-group-daily-analysis 2026-01-07 00:30:14 +08:00
SXP-Simon 2af39fa3b5 fix(debug): 删除一些不必要的 debug 调试 2026-01-07 00:28:35 +08:00
SXP-Simon 3ca7f71376 fix(typo): 调整文档 2026-01-07 00:28:35 +08:00
SXP-Simon 9a09e56f13 fix: 性能优化,CPU 密集型计算(统计和分析)已卸载到各线程池,避免阻塞事件循环
feat: 存储路径规范化:PDF 报告现在存储在 data/plugin_data/astrbot_plugin_qq_group_daily_analysis/reports
2026-01-07 00:28:35 +08:00
SXP-Simon 4297bf4f99 refactor: 全局变量重构,受保护成员访问修复,同步 I/O 操作异步化 2026-01-07 00:28:35 +08:00
SXP-Simon 5b72997a28 refactor: 全局变量重构,受保护成员访问修复,同步 I/O 操作异步化 2026-01-06 23:07:03 +08:00
SXP-Simon 64ae5e1a6d [v4.5.4] 更新插件 metadata 描述,为了使用户更容易搜索到此插件,重新在插件市场提交 2026-01-06 22:20:55 +08:00
SXP-Simon c562cd49ca fix(typo): metadata 2026-01-06 22:14:02 +08:00
Helian Nuits d1a3de9e21 [v4.5.3] 更新版本号,处理 rebase 合并 PR 导致自动 release 发版 workflow 失效的问题 2026-01-03 01:34:09 +08:00
Helian Nuits f458bcfefa [v4.5.2] 添加查看模板指令,合并转发模板图片供用户查看,优化选择模板命令 (@clown145) 2026-01-03 01:30:52 +08:00
clown145 5f8309f461 跑pre-commit 2026-01-03 01:24:51 +08:00
clown145 a52a9afa4f feat: 回退对群分析指令的更改 2026-01-03 01:24:51 +08:00
clown145 92142b4b9f feat: 优化查看模板的显示 2026-01-03 01:24:51 +08:00
clown145 094dbfe2ad feat: 优化查看模板信息显示 2026-01-03 01:24:51 +08:00
clown145 9fef747b46 feat: 添加查看模板指令 2026-01-03 01:24:51 +08:00
SXP-Simon 099421931e fix(typo): 增加 readme 新模板 retro_futurism 演示 2025-12-31 14:50:21 +08:00
SXP-Simon d339f1b7c0 [v4.5.0] 添加新的模板主题 retro_futurism, 灵感来源明日方舟 孤星 未来复古主义主题;添加模板调试工具 scripts/debug_render.py,方便用户在不启动 AstrBot 的情况下调试模板效果 (@Saramanda9988) 2025-12-31 14:44:23 +08:00