SXP-Simon
|
0cba280a82
|
feat(feishu): 尝试接入飞书
|
2026-03-29 00:29:37 +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
|
fcffe7d35a
|
fix(quality_summary): 优化增量分析逻辑,优化提示词
|
2026-03-23 13:38:12 +08:00 |
|
oculr
|
7c749c811e
|
amend: generate_image_report上层抽象接口参数名对齐
|
2026-03-23 00:42:18 +08:00 |
|
SXP-Simon
|
9a35ed9600
|
feat(chat_quality_analysis): chat_quality_analysis 模块
|
2026-03-23 00:42:18 +08:00 |
|
SXP-Simon
|
cd6a6294e1
|
feat(增量分析): 更新增量分析配置,增加安全上限并优化消息拉取逻辑
|
2026-03-20 23:59:24 +08:00 |
|
SXP-Simon
|
c242bd3887
|
fix(analysis_application_service): 解决增量分析传参错误导致用户称号失效的问题
|
2026-02-23 01:07:46 +08:00 |
|
SXP-Simon
|
de3c189d4f
|
feat: 增强图片上传能力并完成核心架构类型重构
- 重构: 优化主类命名逻辑,提升多平台架构的可读性与通用性。
- 功能: 新增分析报告同步上传至群文件和群相册的功能,支持自动化文件管理与清理。
- 类型: 全面修正静态类型错误,确保各分析器模块与基类接口签名严格对齐。
- 优化: 改进内部类成员标注,解决可选参数与类型推断在透传过程中的不匹配问题。
- 稳健性: 完善网络请求超时处理、临时资源管理以及可选依赖项的动态加载逻辑。
- 配置: 扩展配置管理项,支持自定义上传开关、目标目录以及 PDF 渲染参数。
|
2026-02-21 19:30:51 +08:00 |
|
SXP-Simon
|
8cc8960cb1
|
fix(MessageContent): 兼容,增加 target_id property 给 MessageContent 拥有 aliases at_user_id
|
2026-02-12 15:41:07 +08:00 |
|
clown145
|
8a2b1ad448
|
fix: 修复 Telegram 适配器历史消息与平台ID映射问题
|
2026-02-12 15:41:07 +08:00 |
|
SXP-Simon
|
8401283314
|
style(pre-commit)
|
2026-02-11 13:33:43 +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
|
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
|
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
|
b72cb8510b
|
feat(增量分析): 添加 IncrementalStore 持久化仓储和 IncrementalMergeService 合并服务
|
2026-02-10 14:54:36 +08:00 |
|
SXP-Simon
|
834012ab5b
|
feat(增量分析): 创建 IncrementalState 领域实体
- 新增 IncrementalState 数据类,存储群聊一天内的增量分析累积状态
- 支持话题/金句去重合并、小时级统计、用户活跃度跟踪
- 包含 to_dict/from_dict 序列化方法,用于 KV 持久化
- 新增 BatchRecord 批次记录数据类
- 更新领域实体 __init__.py 导出
|
2026-02-10 14:48:09 +08:00 |
|
SXP-Simon
|
f8412559ef
|
fix: 分析器和消息处理
|
2026-02-09 14:15:43 +08:00 |
|
SXP-Simon
|
2005f0633f
|
refactor(DDD): 整理架构
|
2026-02-09 12:47:43 +08:00 |
|
SXP-Simon
|
0b096351d5
|
fix(docs): 完善注释
|
2026-02-09 02:14:43 +08:00 |
|
SXP-Simon
|
80d74577e7
|
fix(pre-commit): style
|
2026-02-09 01:39:13 +08:00 |
|
SXP-Simon
|
b9a33926be
|
Refactor: Translate English comments in domain layer to Chinese
|
2026-02-08 21:51:50 +08:00 |
|
SXP-Simon
|
39cc318d9b
|
feat: 完善 DDD 架构 - 添加领域分析器服务适配层
- 添加 src/__init__.py 作为源码包入口
- 添加 domain/services 分析器适配层:
- topic_analyzer.py: 话题分析领域服务
- user_title_analyzer.py: 用户称号分析领域服务
- golden_quote_analyzer.py: 金句分析领域服务
- 更新 domain/entities/__init__.py 导出更多实体类
- 更新 shared/constants.py 添加枚举类 (Platform, TaskStatus, ContentType, ReportFormat)
- 所有新代码使用中文注释
|
2026-02-08 15:12:52 +08:00 |
|
SXP-Simon
|
39e5d6169d
|
chore: 注释
|
2026-02-08 15:06:33 +08:00 |
|
SXP-Simon
|
7ef58f9d53
|
feat: complete DDD Phase 2 - add domain services, infrastructure layers, and shared components
- domain/value_objects: Add Topic, UserTitle, GoldenQuote, Statistics value objects
- domain/services: Add StatisticsCalculator, ReportGenerator domain services
- domain/exceptions: Add comprehensive domain exception hierarchy
- infrastructure/persistence: Add HistoryRepository for data storage
- infrastructure/llm: Add LLMClient wrapper for AstrBot providers
- infrastructure/config: Add ConfigManager for centralized configuration
- infrastructure/resilience: Add CircuitBreaker, RateLimiter, retry utilities
- application: Add SchedulingService, ReportingService application services
- shared: Add constants and TraceContext for request tracing
All imports verified in Docker container.
|
2026-02-08 14:39:19 +08:00 |
|
SXP-Simon
|
c1d3bf5ece
|
feat: add DDD architecture layers (domain, infrastructure, application)
- Domain layer: UnifiedMessage, PlatformCapabilities, repository interfaces
- Infrastructure layer: PlatformAdapter base, OneBotAdapter, factory
- Application layer: AnalysisOrchestrator, MessageConverter
This provides cross-platform abstraction for group analysis plugin.
|
2026-02-08 14:13:09 +08:00 |
|