Commit Graph
477 Commits
Author SHA1 Message Date
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 cbc98f8cfd docs: update DDD implementation status to Phase 2 complete (~90%) 2026-02-08 14:43:10 +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 8f1878356d docs: update DDD implementation status to Phase 1 complete
- Added BotManager integration section (2.4)
- Updated git commit history
- Marked Phase 1 as complete
- Updated next steps
2026-02-08 14:25:05 +08:00
SXP-Simon 62a91a914a refactor: integrate PlatformAdapterFactory into BotManager
- BotManager now creates PlatformAdapter alongside bot instances
- Added get_adapter(), has_adapter(), can_analyze() methods for DDD access
- Added _detect_platform_name() for automatic platform detection
- Fixed incorrect relative imports in message_handler.py and helpers.py
- Updated get_status_info() to include adapter information
2026-02-08 14:22:48 +08:00
SXP-Simon 59ab291d53 chore: simplify .gitignore with glob pattern for __pycache__ 2026-02-08 14:16:08 +08:00
SXP-Simon 8d5d95ac5a docs: add DDD implementation status and architecture decisions
- Document ADR-001: progressive integration vs full refactor
- Record implemented layers and their status
- Note differences from original design documents
- Include verification status and usage guide
2026-02-08 14:14:50 +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
SXP-Simon a3c6ea737a docs: code structure for improved readability and scalability 2026-02-08 14:01:18 +08:00
SXP-Simon 9534d4ea68 feat: implement sub-daily history tracking for analysis results 2026-02-08 00:24:09 +08:00
SXP-Simon 19a6214f17 feat: Add documentation for log quick reference and viewing research. 2026-02-08 00:02:41 +08:00
SXP-Simon 4477c8b862 style: apply ruff linting and pyupgrade fixes 2026-02-07 23:58:41 +08:00
SXP-Simon 031c91940e fix: resolve code duplication and on_platform_loaded signature in main.py 2026-02-07 23:54:34 +08:00
SXP-Simon 0c9c20f537 docs: remove legacy PDF guide from root 2026-02-07 23:51:04 +08:00
SXP-Simon 3b59321b11 test: add verification and Docker test suite 2026-02-07 23:50:13 +08:00
SXP-Simon 5ebe211791 docs: update documentation and project structure 2026-02-07 23:50:13 +08:00
SXP-Simon 58c27f9136 feat: integrate with AstrBot lifecycle events and update config schema 2026-02-07 23:49:51 +08:00
SXP-Simon b551abd2db refactor: update ConfigManager with provider selection logic 2026-02-07 23:49:33 +08:00
SXP-Simon 1c317b16df refactor: use AstrBot native APScheduler in AutoScheduler 2026-02-07 23:49:18 +08:00
SXP-Simon 5930cfd804 feat: extract ReportDispatcher for report delivery 2026-02-07 23:49:03 +08:00
SXP-Simon 7e0455c454 feat: extract MessageSender for multi-platform message handling 2026-02-07 23:49:03 +08:00
SXP-Simon 22dc0bf59f feat: add trace context and resilience utilities for LLM calls 2026-02-07 23:48:34 +08:00
SXP-Simon df4236baa9 fix(RetryManager): 'RetryManager' object has no attribute '_notify_failure' 2026-02-05 23:15:19 +08:00
SXP-Simon 3f7a92e660 fix(workflow): auto-release message 2026-02-05 22:02:09 +08:00
SXP-Simon 29039186ef [v4.6.9] 🛠️ 健壮性增强:增加友好提示,增强性处理,优化用户体验 2026-02-05 21:54:54 +08:00
SXP-Simon 53be552be1 fix(AutoScheduler): 增强性处理,保持代码健壮性,增加友好提示 2026-02-05 21:51:59 +08:00
SXP-Simon 781e4e6fe6 [v4.6.8] 新功能:支持配置每日多个时间点总结 2026-02-05 21:38:25 +08:00
SXP-Simon fe2c9d74c4 feat(auto_analysis_time): 将 auto_analysis_time 配置改为 list,满足支持配置每日多个时间点总结的需求 (#79) 2026-02-05 21:35:45 +08:00
SXP-Simon b85139d138 fix(auto-release): 修复 commit hash 和 url 提取存在的问题,完善 release 消息 2026-02-05 21:12:15 +08:00
SXP-Simon f99a61ae75 [v4.6.7] 修复定时分析发送后台不完全静默的 Bug 2026-01-31 16:14:58 +08:00
SXP-Simon 2a98df85c5 fix(scheduler): 修复定时分析发送后台不完全静默的 Bug,正确处理文本发送回退时机 2026-01-31 16:12:50 +08:00
SXP-Simon 86178743d5 fix: 删除未使用的引入 2026-01-20 20:35:11 +08:00
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