SXP-Simon
3343fcce22
fix(ReportDispatcher): 发送假超时不应该导致上传群相册群文件失败
...
[Bug] 聊天记录转发,群文件上传
Fixes #160
2026-04-07 21:40:52 +08:00
SXP-Simon
b1c85d8994
[v4.9.14] - feat(persona): 分析器人格增强和使用体验优化,可视化选择人格配置
2026-04-04 21:26:31 +08:00
SXP-Simon
0fa01883a1
revert: revert 'force desktop viewport for exported html reports ( #147 )' in commit befcc2ad
2026-04-04 21:18:37 +08:00
SXP-Simon
60cf29b0d5
feat(analyzer): 增强人格设定注入策略
2026-04-04 20:58:36 +08:00
SXP-Simon
a8a22233d4
fix(ChatQualityAnalyzer): 手动 apply_persona_reinforcement
2026-04-04 20:44:36 +08:00
SXP-Simon
a75776f085
feat(analyzer): 增强人格设定注入策略,采用首尾双重注入提升角色保持能力,避免聊天记录上下文过长导致的 LLM 对于人格提示词的注意力下降
2026-04-04 20:18:11 +08:00
SXP-Simon
92a365475c
feat(persona): 人格设定功能增强,支持插件指定和会话继承的人格分析
2026-04-04 19:40:30 +08:00
SXP-Simon
5375659769
fix(conf): 增强服务稳定性
2026-04-04 19:40:30 +08:00
SXP-Simon
3a9170449c
fix(ATRI): GitHub Repo Link
2026-04-04 19:40:30 +08:00
SXP-Simon
f3aad2441f
fix(黑白名单): 修复插件在独立会话模式下无法识别群号白名单的问题
2026-04-04 19:40:30 +08:00
SXP-Simon
0c1d9cff72
fix typo
2026-04-03 15:00:40 +08:00
SXP-Simon
3f3e60cbd0
feat(ATRI): 添加作者名称 Liangyu-G
2026-04-03 14:40:58 +08:00
SXP-Simon
45988cf419
[v4.9.13] - feat(ATRI): ATRI 模板 (@Liangyu-G)
2026-04-03 14:32:02 +08:00
凉雨
a5c3aa2af1
ATRI风格模板 ( #154 )
...
* Add files via upload
* Create test
* Add files via upload
* Delete src/infrastructure/reporting/templates/ATRI/test
* Add files via upload
2026-04-03 13:51:10 +08:00
SXP-Simon
5dd7cf1aa1
[v4.9.12] - 移除无效的重试器
2026-04-02 17:52:36 +08:00
SXP-Simon
59e9f06d0d
fix: 移除发送重试模块
2026-04-02 17:45:56 +08:00
leko and SXP-Simon
47eeff3f61
fix(template-utils): str.format -> string.Template ( #149 )
...
* feat: upgrade prompt templates from str.format to string.Template for improved compatibility
* fix(get_astrbot_data_path): fallback 到 get_astrbot_data_path 方法
* feat: upgrade prompt templates from str.format to string.Template for improved compatibility
* fix: strict mode
* fix: 补齐文件名格式的自动迁移
* fix(ChatQualityAnalyzer): 删除无效的 prompt 提示语句
* ruff
---------
Co-authored-by: SXP-Simon <sxp20061207@163.com >
2026-04-02 16:40:34 +08:00
SXP-Simon
5e2da8c852
fix(get_astrbot_data_path): fallback 到 get_astrbot_data_path 方法
2026-04-02 15:25:07 +08:00
SXP-Simon
e503e7ad63
[v4.9.11] - feat(HTML): HTML 报告与自建外链吗,将群分析变成可以点击跳转的精美网页链接
2026-04-01 22:19:00 +08:00
clown145
befcc2ad49
fix: force desktop viewport for exported html reports ( #147 )
2026-04-01 21:45:58 +08:00
SXP-Simon
692df4b0c9
chore: docs
2026-04-01 21:23:02 +08:00
SXP-Simon
05836f64f2
fix: 定时任务超时问题优化
...
Fixes #141
定时分析任务间隔启动,放宽超时配置限制
2026-04-01 21:14:00 +08:00
leko and SXP-Simon
8ba5f69788
feat: 檔案名稱模板支援 ULID 和資料夾路徑 ( #146 @lekoOwO)
...
* feat: Enhance HTML report generation and dispatching with captions
* chore: apply ruff fixes
* fix(ReportGenerator): update HTML caption for report generation
* fix(ReportGenerator): encode filename in HTML report caption URL
* fix(ReportGenerator): refactor golden quotes handling for clarity and consistency
* feat(ReportGenerator): enhance filename formatting with ulid support and path sanitization
* fix(ReportGenerator): enhance path validation and filename uniqueness in report generation
* fix: pylance type error and ruff
* fix: 路径默认使用 ulid 变量
---------
Co-authored-by: SXP-Simon <sxp20061207@163.com >
2026-04-01 20:38:57 +08:00
SXP-Simon
1fa1ebe5ca
[v4.9.10] - fix: 解决 TG 未贴表情的 bug,HTML 输出模式,优化渲染
2026-03-31 21:17:31 +08:00
clown145 and SXP-Simon
98df26b88e
fix(ReportGenerator): mark t2i mention capsules as safe html ( #144 )
...
* fix: mark t2i mention capsules as safe html
* fix: 优化PDF和HTML输出目录的获取逻辑
* fix(ReportGenerator): 确保返回正确的 Markup 类型
---------
Co-authored-by: SXP-Simon <sxp20061207@163.com >
2026-03-31 20:44:25 +08:00
3662ac3d75
feat(html): Add HTML output format support ( #143 @lekoOwO)
...
* feat: add HTML output format support
- Add HTML settings section to _conf_schema.json with base URL and output directory configuration
- Add HTML configuration methods to ConfigManager (get_html_output_dir, get_html_base_url, get_html_filename_format)
- Create html_template.html files for all themes (fallback to image_template.html)
- Implement generate_html_report method in ReportGenerator to save HTML and JSON files
- Update main.py to handle HTML output format and send both file and URL if base_url is configured
- Update set_output_format command to include HTML as a valid format option
Co-authored-by: lekoOwO <20151124+lekoOwO@users.noreply.github.com >
* feat: enhance JSON serialization in HTML report generation
* fix: 优化输出目录获取逻辑
---------
Co-authored-by: anthropic-code-agent[bot] <242468646+Claude@users.noreply.github.com >
Co-authored-by: lekoOwO <20151124+lekoOwO@users.noreply.github.com >
Co-authored-by: SXP-Simon <sxp20061207@163.com >
2026-03-31 20:06:57 +08:00
clown145
697213826c
fix: align reaction mapping across platforms ( #139 )
...
解决 TG 无法贴表情的 bug
2026-03-31 00:04:13 +08:00
SXP-Simon
b041a7ca9e
[v4.9.9] - feat(feishu): 尝试接入飞书并且回退黑白名单逻辑,保持旧版本逻辑,插件统一管理
2026-03-29 01:08:00 +08:00
SXP-Simon
43f80d24f8
feat(feishu): 完善日志和健壮性
2026-03-29 01:02:15 +08:00
SXP-Simon
bc916e259d
Revert "fix: 统一定时分析名单准入并修复白名单绕过问题 (情况如 #133 所述)"
...
This reverts commit a3d72e43ab .
2026-03-29 00:36:08 +08:00
SXP-Simon
0cba280a82
feat(feishu): 尝试接入飞书
2026-03-29 00:29:37 +08:00
SXP-Simon
6d40745e79
[v4.9.8] - feat(HatsuneMiku): 新增了一个名为 HatsuneMiku 的模板 ( #134 @Shiitin)
2026-03-28 22:45:47 +08:00
SXP-Simon
d3eb9b51f5
fix(retry): 降低重试重复并强化 OneBot 假超时拦截
...
- `onebot_adapter.py#L547-L609` 的路径发送失败逻辑改为:遇到 `timeout/1200/网络错误` 不再立即 Base64 回退,而是继续抛错,由上层进入 10+20+30 秒的多轮观察;每轮都通过 `was_image_sent_recently` 确认后台是否真的已发成功,确认后立刻拦截重试,避免 “假超时” 导致连发。
- `retry.py#L20-L210` 中去重注释已全部换成中文,并补全了 `_cleanup_expired_task_keys`、`_build_task_key`、`_mark_task_finished` 等说明,说明当前去重键由 caption TraceToken 或 html hash 构成,维护两个集合 `_active_task_keys`/`_recent_task_key_ts` 防止同一报告短时间再次入队,构造 task_key 后再 enqueue 并在完成后刷新冷却;`max_retries` 也降到 2 次,并且同群任务会 `sleep(5)` 重新排队,链路上最多留存一份 retry 任务。
2026-03-28 22:33:29 +08:00
SXP-Simon
a3d72e43ab
fix: 统一定时分析名单准入并修复白名单绕过问题 (情况如 #133 所述)
2026-03-28 21:53:01 +08:00
SXP-Simon
4200631f17
fix(HatsuneMiku): 完善
2026-03-28 21:18:50 +08:00
Shiitin
ae96ea9c93
新增了一个名为HatsuneMiku的模板 ( #134 )
...
* Add HatsuneMiku template with a placeholder file
* Add files via upload
* Delete src/infrastructure/reporting/templates/HatsuneMiku/nothing
* Add files via upload
* 重新替换了所有文件并增加了之前忘记的PDF模板文件
* Add files via upload
* 将Spring Festival模板预览图替换HatsuneMiku模板预览图
* 更改了HatsuneMiku模板的预览图片的引用方式
* 将HatsuneMiku模板的地址替换为国内可以访问的中转
2026-03-28 12:25:19 +08:00
SXP-Simon
03f2f066b3
fix typo
2026-03-27 13:01:27 +08:00
SXP-Simon
b29327674f
[v4.9.7] - feat(分析配置细粒度化): 引入三层黑白名单机制(基础群分析开关、定时分析、增量分析),支持更细粒度的群级分析控制;修复自动分析生命周期管理情况避免任务被静默跳过
2026-03-26 23:32:32 +08:00
SXP-Simon
3df898ca69
feat(response_validation): 新增 Pydantic 校验层,健壮化处理 LLM 生成内容
2026-03-26 22:58:04 +08:00
SXP-Simon
7e741854a9
feat(response_format): 使用 OpenAI 格式的 response_format 参数约束 json 格式化数据生成,并且兼容旧版本逻辑,等待本体合并相关参数的传入
2026-03-26 22:56:02 +08:00
SXP-Simon
93704a5d4d
fix: 统一表情统计口径并修复用户活跃分析类型标注
...
- 对齐表情统计规则,确保“报告总表情数”与“用户画像表情数”使用同一判定逻辑。
- 针对 OneBot 适配器已引入的 QQ 表情包信号(sub_type=1):
- 统计时优先使用 raw_data.sub_type == 1 判定图片型表情。
- 仅在缺少 sub_type 时,回退到 summary 文本匹配(兼容历史数据)。
- 修复用户画像统计偏差:
- 移除文本正则(Unicode/Discord)额外计数,避免与报告总数口径不一致。
- 增加 IMAGE 段表情识别,和群组统计保持一致。
- 修复 basedpyright 类型告警:
- 为用户活跃结构引入 UserActivityStats TypedDict。
- 将 analyze_user_activity / get_top_users / get_user_activity_pattern 改为显式类型。
- 将 bot_self_ids 参数标注调整为 list[str] | None。
- 新增并扩展回归测试:
- 验证群总表情数与用户表情汇总一致。
- 验证 sub_type 优先级(sub_type=0 不被 summary 误判)。
- 已通过 ruff check 与相关 pytest 用例。
2026-03-26 19:37:33 +08:00
SXP-Simon
9ed4771730
feat: 完善自动分析名单调度与面板配置说明
...
- 重构自动分析调度流程:以分层名单解析目标群组,统一报告入口,并按群组模式分发传统/增量任务。
- 新增定时名单与增量名单配置能力:补充 scheduled_group_list(_mode)、incremental_group_list(_mode)、incremental_fallback_enabled。
- 优化失败兜底策略:增量最终报告在超时、异常或无有效结果时,可回退至传统全量分析。
- 完善配置与文档说明:在 _conf_schema.json 与 README 中补充面板操作指引、判定顺序与边界场景说明。
- 兼容旧配置行为:保留废弃接口,并在配置管理中统一名单匹配语义(UMO/群号兼容)。
2026-03-26 19:23:49 +08:00
SXP-Simon
aa3ae494ce
fix(tg): 修复 Telegram 平台自动分析就绪检查失败以及 ID 匹配诊断逻辑
...
- 优化 BotManager 的 is_ready_for_auto_analysis 逻辑:将其改为非硬性限制。即使未成功提取机器人 ID (bot_self_ids),也允许定时任务继续运行,从而解决了 Telegram 在 Docker 部署下因 ID 获取延迟导致报告被跳过的问题。
- 强化日志诊断:在 Telegram 消息拦截 (save)、平台发现 (discovery) 和消息拉取 (fetch) 的关键路径中增加 platform_id 显式日志,方便排查多账号环境下的 ID 冲突。
- 在 BotManager 就绪检查中加入调试输出,明确告知分析任务被跳过的具体原因。
2026-03-26 13:33:09 +08:00
SXP-Simon
2539063a3e
fix(增量分析): 增量分析任务的生命周期检查,与定时分析保持一致
2026-03-26 13:02:44 +08:00
Dongmay
a814c09232
fix(scheduler): schedule_jobs 后重置 _terminating 标志位,修复分析任务静默跳过 ( #130 @Dongmayyys)
2026-03-26 00:59:17 +08:00
SXP-Simon
90908cefcb
[v4.9.6] - fix(provider): 优化 PDF 模板生成情况,基础设施健壮性增强
2026-03-25 17:43:35 +08:00
SXP-Simon
d03b3d5b42
fix: 修复插件任务生命周期管理,避免用户困惑的报错行为 (#125)
...
- 修复 'NoneType' 报错 (Fix #125 ): 引入插件终止标志位并完善任务生命周期清理逻辑。
- 强化资源清理:重载时主动取消并等待所有运行中的异步任务(包括手动分析、自动调度和依赖安装),移除危险的属性置空操作,彻底消除重载时的属性访问竞态。
2026-03-25 16:49:14 +08:00
SXP-Simon
1ab409a49e
fix(tg): 尝试修复 Telegram 平台自动分析就绪检查失败问题 (#128)
...
- 在 BotManager 中增加对 Telegram 机器人 ID 提取的支持(支持 `bot.id` 属性),解决 Telegram 环境下因无法识别 Bot ID 导致的自动分析任务跳过问题。
2026-03-25 16:31:42 +08:00
SXP-Simon
82c5cc4cef
fix: 修复 JSON 解析中正则贪婪匹配导致的数组截断问题 ( #126 )
...
- 将解析 JSON 数组的正则模式从非贪婪 `.*?` 改为贪婪匹配 `.*`,防止内容中包含方括号(如 [UID])时导致 JSON 截断。
- 优化话题、称号、金句等分析逻辑中的正则表达式,使用更严谨的模式处理转义双引号和特殊格式。
2026-03-25 16:15:51 +08:00
SXP-Simon
72ead04182
fix(pdf): 优化 PDF 模板生成情况
2026-03-25 16:09:54 +08:00