SXP-Simon
|
2b8cc2b5aa
|
fix(群文件上传): 跨环境路径处理
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
750470d677
|
fix(onebot): 解决了跨容器路径访问难题: 由于您的 AstrBot 和 NapCat 可能运行在不同的容器或环境中,NapCat 无法直接访问 AstrBot 生成的本地临时文件(如 //AstrBot/data/temp/...),导致报错 ENOENT: no such file or directory。 现在,插件在调用 OneBot 发送图片或上传文件前,会自动将本地文件转为 Base64 编码数据。这样,图片数据将直接通过协议传输,彻底摆脱了对物理磁盘路径共享的依赖。
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
7f46a6d797
|
debug: 更详细的 log
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
8787861a31
|
fix(onebot): 修复 NapCat 群相册上传时报错 must have required property 'album_id' 的问题;修复 NapCat 群相册上传时报错 must have required property 'album_id' 的问题
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
0750ce5121
|
fix: 优化消息拉取负载并修复群相册上传兼容性
- 修复: 重构 OneBot 消息拉取逻辑,采用分页回溯策略并废除错误的页长度限制,尝试解决拉取 24h 消息不足及 NapCat 瞬时 CPU 过高问题。
- 功能: 参考 qun_album 插件,重构群相册上传逻辑,新增对 `upload_image_to_qun_album` 等多种扩展 API 的自动探测与多级回退机制。
- 优化: 为 [upload_group_album] 接口补充 [album_name] 参数透传,提升在不同 OneBot 增强版环境下的兼容性。
- 重构: 完成核心分析器类的参数命名对齐,消除 Pylance `reportIncompatibleMethodOverride` 相关的全部静态类型报错。
- 稳健性: 在分页拉取中引入锚点变化校验,防止在请求异常时进入死循环。
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
5c2d7dfb0b
|
fix: 分页拉取增强
废除错误的终止条件: 原先逻辑中如果 API 返回的消息数量(93条)小于请求数量(100条),会判定为“已到达历史尽头”并退出循环。这在 NapCat 等后端中并不可靠,因为后端可能会由于内部缓存页限制或消息过滤返回略少于请求数的结果。 现在:只要 API 返回了至少 1 条消息,且时间戳未超出限制,逻辑就会根据当前最旧消息的 message_id 作为锚点,继续发起下一页请求。
强化无限循环防护: 增加了锚点变化一致性检查 (new_anchor_id == current_anchor_id),确保只有在真正无法获取到更旧消息时才停止,防止在极端情况下出现死循环。
对齐 portrayal 插件逻辑: 确认并统一了 reverseOrder=True 和 message_seq 的使用方式,这在 NapCat 中是触发“从当前位置向回溯扫描”的正确方式。
增强调试日志: 添加了详细的
debug
日志,您现在可以在日志中清晰地看到分页拉取的每一轮进度(处理条数和当前锚点 ID),方便在云端环境中进一步排查。
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
867b78a11c
|
fix: 尝试分页拉取
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
de3c189d4f
|
feat: 增强图片上传能力并完成核心架构类型重构
- 重构: 优化主类命名逻辑,提升多平台架构的可读性与通用性。
- 功能: 新增分析报告同步上传至群文件和群相册的功能,支持自动化文件管理与清理。
- 类型: 全面修正静态类型错误,确保各分析器模块与基类接口签名严格对齐。
- 优化: 改进内部类成员标注,解决可选参数与类型推断在透传过程中的不匹配问题。
- 稳健性: 完善网络请求超时处理、临时资源管理以及可选依赖项的动态加载逻辑。
- 配置: 扩展配置管理项,支持自定义上传开关、目标目录以及 PDF 渲染参数。
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
dd69a68b0f
|
fix(code-review): 参考建议修改
|
2026-02-20 23:40:20 +08:00 |
|
Helian Nuits
|
e023127e37
|
Feat(spring-festival): 春节皮肤 (#84)
* chore: 更新 demo 图资源
* feat(spring_festival): 新模板
* fix(spring_festival)
* fix(pre-commit)
|
2026-02-12 21:32:10 +08:00 |
|
SXP-Simon
|
3c6df5b3c7
|
feat(template): 调整 hack 模板
|
2026-02-12 20:19:37 +08:00 |
|
SXP-Simon
|
8c58a7b3d3
|
feat(template): retro_futurism 调整和 hack 模板
|
2026-02-12 19:55:24 +08:00 |
|
 clown145andSXP-Simon
|
00863ff979
|
feat: 模板预览路由化并增强 Telegram 按钮交互稳定性 (#83)
* feat: 路由化模板预览并完善Telegram交互回退
* fix: 忽略模板预览文档回退的重复编辑异常
* fix: 在回调阶段主动清理并校验模板预览会话过期
* fix: 处理Telegram回调注册在平台热替换场景的重绑与清理
* fix(set_report_template): 删除冗余的检查
---------
Co-authored-by: SXP-Simon <sxp20061207@163.com>
|
2026-02-12 19:02:46 +08:00 |
|
SXP-Simon
|
1576012851
|
fix: 回退 umo 处理
|
2026-02-12 15:41:07 +08:00 |
|
SXP-Simon
|
8eb5cf643c
|
fix: 增强 UMO 处理,带用户 ID 也可以处理
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
727da8025d
|
fix: 清理TelegramAdapter无用变量并通过lint
|
2026-02-12 15:41:07 +08:00 |
|
SXP-Simon
|
b4eec978fe
|
refactor(Telegram): 重构 Telegram 逻辑并提取消息处理与注册表服务
- 提取消息处理服务及 Telegram 注册表,显著精简主插件逻辑。
- Telegram 群组获取回退逻辑下沉至适配器,移除调度中心硬编码。
- 优化依赖注入机制,使适配器层级可访问插件 KV 存储。
- 修正消息内容定义兼容性并清理冗余代码。
|
2026-02-12 15:41:07 +08:00 |
|
SXP-Simon
|
8cc8960cb1
|
fix(MessageContent): 兼容,增加 target_id property 给 MessageContent 拥有 aliases at_user_id
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
25c49164bc
|
chore: 移除Telegram临时调试日志
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
cb0f4e0faf
|
fix: 修复TG分页取数与话题白名单匹配
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
66f198d4f0
|
fix: 修复TG注册并发写覆盖并优化消息分页拉取
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
aa5752d179
|
fix: TG通过KV回退群列表并增加临时调试日志
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
926e0df095
|
fix: 统一test权限判定并支持TG话题父级匹配
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
ce65350d60
|
fix: 修复 Telegram 昵称解析与@消息入库
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
8a2b1ad448
|
fix: 修复 Telegram 适配器历史消息与平台ID映射问题
|
2026-02-12 15:41:07 +08:00 |
|
SXP-Simon
|
b204aff424
|
style(pre-commit)
|
2026-02-11 13:39:03 +08:00 |
|
SXP-Simon
|
8401283314
|
style(pre-commit)
|
2026-02-11 13:33:43 +08:00 |
|
SXP-Simon
|
448aaebdb4
|
fix: 增量分析话题解析名称
|
2026-02-11 13:09:51 +08:00 |
|
SXP-Simon
|
ced38e6a9e
|
fix: 修复了导致增量分析报告发送失败的几个核心问题:
修复报告分发器初始化错误:
在 AutoScheduler 中,初始化 ReportDispatcher 时漏传了 report_generator,导致在尝试生成报告(图片或文本)时出现 'NoneType' object has no attribute 'generate_image_report' 错误。
已更新 AutoScheduler 的构造函数并正确传递 report_generator。
修复 LLM 分析器在增量模式下的数据结构错误:UserTitleAnalyzer 报错:在增量模式下,用户活动数据被简化存储,导致 UserTitleAnalyzer 找不到 'hours' 键(Error: 'hours')。
补全数据维度:更新了 AnalysisApplicationService 的增量数据转换逻辑,保留了完整的每小时活跃分布 (hours) 和回复数 (reply_count)。
统一字段名:增量模式下使用了 nickname 字段以匹配分析器的预期(之前被错误转为了 name)。
增强容错性:优化了 UserTitleAnalyzer 的逻辑,现在它能安全地处理 hours 缺失或旧版本数据 schema,不再会因为找不到键而崩溃。
修复增量数据合并逻辑:
更新了 IncrementalMergeService,现在它能正确合并多个批次中的每小时发言统计和回复数统计,确保最终生成的报告数据准确。
|
2026-02-11 12:54:02 +08:00 |
|
SXP-Simon
|
e292558965
|
fix(IncrementalMergeService): main_incremental_status handle error: unsupported operand type(s) for +: 'int' and 'dict'
|
2026-02-11 12:21:57 +08:00 |
|
SXP-Simon
|
fe8ba0c983
|
fix(extract_token_usage): 修复 token 计量
|
2026-02-10 23:29:57 +08:00 |
|
SXP-Simon
|
2cd97a73b7
|
fix(debug): 增加每次增量分析完成后发送的配置,用于调试
|
2026-02-10 23:16:07 +08:00 |
|
SXP-Simon
|
9d4b925400
|
fix: 获取名称逻辑
|
2026-02-10 23:00:48 +08:00 |
|
SXP-Simon
|
6b231ddf78
|
fix: 删除 generators.py 中 generate_image_report 里冗余的本地文件读取逻辑
|
2026-02-10 22:53:51 +08:00 |
|
SXP-Simon
|
2e2dbfc81c
|
fix: 正确显示话题分析头像
|
2026-02-10 22:43:45 +08:00 |
|
SXP-Simon
|
3154cf1e56
|
fix(DiscordAdapter): 修复 Base64 图片解码时缺少 import base64 的问题
|
2026-02-10 22:26:51 +08:00 |
|
SXP-Simon
|
23fcda8283
|
fix(ReportGenerator): 修正头像缓存路径至 data/plugin_data 以符合 AstrBot 标准
|
2026-02-10 22:19:47 +08:00 |
|
SXP-Simon
|
9c839ccce4
|
fix(ReportGenerator): 降低头像分辨率至 40px 以解决渲染器内存溢出(OOM)问题
|
2026-02-10 22:12:56 +08:00 |
|
SXP-Simon
|
53ea9e3970
|
fix(RetryManager): 修复重试逻辑中的 Base64 编码崩溃问题
- 增加了对 html_render 返回本地文件路径的处理 (读取为 bytes)
- 增加了对渲染结果的文件头校验,避免处理错误文本
|
2026-02-10 22:08:46 +08:00 |
|
SXP-Simon
|
a449c18dfb
|
fix(Discord&Generator): 修复 Discord 图片发送失败及渲染错误处理
- DiscordAdapter: 增加对 base64:// 协议的支持
- ReportGenerator: 增加图片文件头校验,防止将渲染器的错误文本(Internal Server Error)当作图片发送
|
2026-02-10 22:04:13 +08:00 |
|
SXP-Simon
|
69b404bb1f
|
fix(ReportGenerator): 增加本地图片转 Base64 逻辑,彻底解决 Docker 环境下 OneBot 无法发送图片的问题
|
2026-02-10 21:58:39 +08:00 |
|
SXP-Simon
|
7b3d3beb6c
|
fix(OneBot): 修复图片发送失败(rich media error)
- ReportGenerator: 改为返回 Base64 图片数据而非内部 URL,避免 OneBot 无法访问 Docker 内部服务
- OneBotAdapter: 增加对 base64:// 协议头的支持
|
2026-02-10 21:54:09 +08:00 |
|
SXP-Simon
|
5a81ffea20
|
refactor(话题分析): 采用 ID-Only Prompt 策略优化头像展示
- TopicAnalyzer: 仅向 LLM 发送 [ID] 而非昵称,减少 Token 并消除歧义
- _conf_schema.json: 更新默认 Prompt,强制要求 LLM 输出 ID 引用
- Logic: 后端负责将 ID 映射回昵称,实现精确的头像关联
|
2026-02-10 21:25:25 +08:00 |
|
SXP-Simon
|
472c78e622
|
feat(话题分析): 用户头像引用展示
- TopicAnalyzer: Prompt中包含 [user_id],引导LLM使用ID引用用户
- ReportGenerator: 解析话题详情中的 [uid] 并替换为内联头像HTML
- Templates: 更新所有主题的 topic_item.html 以支持富文本详情展示
- _conf_schema.json: 更新默认 Prompt,指导 LLM 使用 [用户ID] 引用用户
- ReportGenerator: 实现胶囊样式渲染 (头像+昵称),提升视觉体验
|
2026-02-10 20:57:51 +08:00 |
|
SXP-Simon
|
4e0b8fe24b
|
fix(增量分析): 增量分析现已支持按配置开关控制话题/金句分析
|
2026-02-10 19:58:49 +08:00 |
|
SXP-Simon
|
f1f804d2b9
|
refactor(增量分析): 移除未使用的兼容代码
- 移除 IncrementalStore.migrate_legacy_state (新功能尚未发布,无需迁移)
- 移除 entities/__init__.py 中的 AnalysisResult 别名
|
2026-02-10 18:25:23 +08:00 |
|
SXP-Simon
|
83b82de2bb
|
refactor(增量分析): 从按天存储改为滑动窗口批次架构
- IncrementalBatch: 独立批次实体,每次增量分析产生一个,按批次独立存储到KV
- IncrementalState: 聚合视图,不再持久化,报告时由merge_batches合并产生
- IncrementalStore: 批次索引+数据KV持久化,支持按时间窗口查询和过期清理
- IncrementalMergeService: 新增merge_batches方法,负责批次合并和话题/金句去重
- AnalysisApplicationService: 增量分析存独立批次,最终报告按窗口查询合并
- AutoScheduler: 报告发送后清理2×窗口外的过期批次
- main.py: /增量状态命令改为滑动窗口查询展示
- 消除天然日期隔离问题,24h图表展示完整数据
|
2026-02-10 18:15:46 +08:00 |
|
SXP-Simon
|
9aa502f01a
|
refactor(配置): 重构 _conf_schema.json 为 7 组嵌套结构,更新 ConfigManager 适配嵌套配置路径
|
2026-02-10 16:09:18 +08:00 |
|
SXP-Simon
|
f8416bb1a8
|
fix(分析模块): 移除 __init__.py 中不存在的 UserAnalyzer 导入
|
2026-02-10 15:29:57 +08:00 |
|
SXP-Simon
|
757f3df092
|
feat(增量分析): 改造AutoScheduler支持增量调度与传统调度双模式
|
2026-02-10 15:19:27 +08:00 |
|