Commit Graph

4107 Commits

Author SHA1 Message Date
minecraft1024a
a9db24d80f fix(maizone): 修复处理动态时因feed为空引发的错误
在处理QQ空间动态列表时,单个`feed`对象可能为`None`,导致在访问其属性(如`appid`)时引发`TypeError`。

本次提交通过增加一个空值检查,在遍历动态列表时跳过为`None`的`feed`项,从而避免了潜在的程序崩溃,增强了代码的健壮性。
2025-11-19 22:43:43 +08:00
minecraft1024a
8955e80d8d feat(core): 启动时增加随机小贴士
在系统初始化完成后的启动信息中,增加了一个随机显示的小贴士(彩蛋)功能。
每次启动时会从预设的短语列表中随机选择一条进行展示,增加趣味性。
2025-11-19 22:43:43 +08:00
minecraft1024a
ebf811a85c feat(chat): 私聊专注模式下强制回复
在私聊的专注模式下,即使用户的发言没有触发任何功能,机器人也会进行回复,而不是选择“no_reply”。
此举旨在提升私聊场景下的用户体验,避免机器人因未匹配到关键词而沉默,让对话感觉更自然。
2025-11-19 22:43:37 +08:00
minecraft1024a
f0b1e66477 fix(maizone): 兼容新版QQ空间动态接口返回的JSON格式
QQ空间监控好友动态的接口返回格式从 JSONP (_Callback(...)) 变更为纯 JSON。
本次提交通过增加判断,兼容了新旧两种数据格式,并修复了因此导致的动态拉取失败问题。

同时,为 `images` 循环中的未使用变量 `img_bytes` 添加下划线前缀,并为 `pic_bos` 和 `richvals` 两个未使用的变量添加 `# noqa: F841` 以消除 linter 警告。
2025-11-19 22:43:18 +08:00
minecraft1024a
27c63380c2 refactor(core): 调整数据库初始化时机
将数据库的初始化、表结构创建和自动迁移逻辑从配置文件加载时移动到主程序 `raw_main` 函数中。

这一改动旨在解决循环导入问题,并确保数据库在所有配置和核心模块加载完毕后才进行初始化,提高了程序的启动鲁棒性和模块独立性。
2025-11-19 22:43:17 +08:00
Furina-1013-create
6bc709aa38 修点言柒报告的bug并更新TODO 2025-11-19 22:43:16 +08:00
minecraft1024a
4e75044a0a feat(schedule): 新增每日零点自动生成日程任务
新增一个后台异步任务,用于在每日零点自动为新的一天生成日程表。
此功能通过 `AsyncTask` 实现,在程序启动时初始化并启动一个循环任务。该任务会计算到下一个零点的时间并等待,然后在零点触发新的日程生成和保存流程,确保日程表能够每日自动更新。
2025-11-19 22:43:15 +08:00
minecraft1024a
cd9c46333c feat(maizone): 新增独立的maizone模型配置
为maizone功能添加了专属的模型任务配置`maizone`,使其可以与默认的回复模型`replyer_1`使用不同的模型和参数。

- 在`ModelTaskConfig`中增加了`maizone`字段。
- 将`maizone_refactored`插件的默认模型从`replyer_1`修改为`maizone`。
- 在配置文件模板中添加了`[model_task_config.maizone]`的默认配置。
2025-11-19 22:43:15 +08:00
minecraft1024a
91c0e31548 refactor(maizone): 优化代码格式并移除多余日志
对 `qzone_service` 和 `monitor_service` 进行了代码风格调整和重构。

- 在 `qzone_service.py` 中,统一了函数定义、字典和参数列表的格式,使其更符合代码规范,提高了可读性。
- 在 `monitor_service.py` 中,移除了监控任务开始时的一条多余日志记录,以减少不必要的日志输出。
- 在 `qzone_service.py` 的 `_monitor_list_feeds` 方法中,增加了对API返回格式的校验,以增强代码的健壮性。
2025-11-19 22:43:14 +08:00
minecraft1024a
0144321254 refactor(db): 使用迁移函数替代 create_all 初始化数据库
将数据库初始化过程从直接调用 `Base.metadata.create_all` 修改为调用新的 `check_and_migrate_database` 函数。

这一更改旨在实现更灵活的数据库模式管理,允许在不丢失现有数据的情况下,自动检查并添加新的列或表,从而增强了数据库迁移的健壮性。
2025-11-19 22:43:14 +08:00
minecraft1024a
011096068e feat(core): 在 no_reply 核心动作中增加了对聊天类型的判断,使其仅在群聊中生效 2025-11-19 22:43:07 +08:00
Furina-1013-create
8902f6b7cb 增加videoid修复同一个视频重复识别的问题
ps:通过数据库检查的去重:
视频hash计算:使用SHA256算法计算视频文件的唯一标识
数据库去重检查:在分析前先检查数据库中是否已存在相同hash的视频
结果缓存:将分析结果存储到Videos表中,避免重复分析
2025-11-19 22:42:45 +08:00
雅诺狐
6b3d916fd0 移除遥测 2025-11-19 22:42:44 +08:00
雅诺狐
762cdf327b Update emoji_manager.py 2025-11-19 22:42:43 +08:00
minecraft1024a
55a25d071a docs: 更新 TODO 列表
更新了适配器黑/白名单功能的完成状态。
2025-11-19 22:42:43 +08:00
tt-P607
f47a9464eb 更新.gitgnore 2025-11-19 22:42:43 +08:00
雅诺狐
f82e6e80c9 fix:数据库修复 2025-11-19 22:42:42 +08:00
雅诺狐
eae18e2f01 更新 docker-image.yml 2025-11-19 22:42:41 +08:00
雅诺狐
0241b208a3 Update docker-image.yml 2025-11-19 22:42:39 +08:00
雅诺狐
1e384b27f9 Update .gitignore and change Dockerfile workdir
Added MaiBot-dev.code-workspace to .gitignore to prevent it from being tracked. Changed the working directory in the Dockerfile from /MaiMBot to /mmc for consistency or project structure update.
2025-11-19 22:42:38 +08:00
minecraft1024a
56444f04eb chore(logger): 更新日志模块颜色与别名配置
为多个新模块和重构后的模块添加了对应的日志颜色和别名,以增强日志的可读性和区分度。具体包括:
- SQLAlchemy 相关模块
- OpenAI 和 Gemini 客户端
- 多个插件和管理器
- 重构后的 MaiZone 服务和操作
- 新增的网络工具插件
2025-11-19 22:42:37 +08:00
雅诺狐
4f9cafe323 Update docker-image.yml 2025-11-19 22:42:35 +08:00
雅诺狐
1c62361e24 Update docker-image.yml 2025-11-19 22:42:34 +08:00
minecraft1024a
bd1729ab53 refactor(maizone_refactored): 提取Cookie管理到独立的CookieService
将原先在QZoneService中实现的Cookie更新与加载逻辑,抽象并重构为一个独立的CookieService。这提高了代码的模块化和可复用性,使得Cookie管理逻辑更加清晰和集中。

- 新增 `CookieService` 用于统一处理Cookie的获取、更新和本地缓存。
- 在主插件中注入 `CookieService` 到 `QZoneService`。
- `QZoneService` 现在依赖 `CookieService` 来获取Cookie,移除了内部的实现细节。
- 新增了备用Cookie获取服务的相关配置项。

Co-authored-by: TT-P607
<TT-P607@users.noreply.github.com>
2025-11-19 22:42:34 +08:00
雅诺狐
b63013d3ff Update docker-image.yml 2025-11-19 22:42:32 +08:00
雅诺狐
12ac567a37 Update ruff.yml 2025-11-19 22:42:31 +08:00
minecraft1024a
053f2d2009 refactor(llm_models): 重构并发请求逻辑以提高代码复用性
将并发请求的通用逻辑提取到一个新的 `execute_concurrently` 辅助函数中。此举简化了 `LLMRequest.get_response` 方法,使其更易于阅读和维护。

现在,`get_response` 方法调用 `execute_concurrently` 来处理并发执行,而不是在方法内部直接管理任务创建和结果收集。同时,改进了单个请求失败时的异常处理和重试逻辑,使其在并发和非并发模式下都更加健壮。

Co-authored-by: 雅诺狐 <foxcyber907@users.noreply.github.com>
2025-11-19 22:42:30 +08:00
雅诺狐
bae59b8856 Create 流程图.md
Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:42:28 +08:00
minecraft1024a
176a6b9c2e feat(config): 为表情包识别添加独立的VLM模型配置
为表情包识别功能(emoji_vlm)引入了专门的模型任务配置,使其与通用的视觉语言模型(VLM)配置分离。这提高了配置的灵活性和模块化程度。

- 在 `api_ada_configs.py` 中新增 `emoji_vlm` 任务配置。
- 更新 `emoji_manager.py` 以使用新的 `emoji_vlm` 配置。
- 在 `model_config_template.toml` 中添加了相应的配置模板。
2025-11-19 22:42:27 +08:00
minecraft1024a
793c6e3817 fix(statistic): 修复统计任务中因数据库记录格式问题导致的异常
在处理来自数据库的记录时,增加对记录类型的检查和时间戳格式的转换。确保即使记录不是预期的字典格式,或者时间戳字段为None或字符串格式,程序也能够安全处理,避免因`TypeError`或`AttributeError`导致整个统计任务中断(说真的这都一天了为什么还没人修)
2025-11-19 22:42:24 +08:00
minecraft1024a
c2d7b6595e refactor(maizone_refactored): 完整实现QZoneService中的核心功能
将原先在 `qzone_utils.py` 中的 QQ 空间操作逻辑(如发布、评论、点赞、获取动态等)完整地迁移并重构到 `QZoneService` 类中。移除了旧的占位符实现,并添加了完整的异步HTTP请求、数据处理和异常捕获逻辑。

主要变更包括:
- 实现了 `_publish` 方法,用于发布带或不带图片的说说。
- 实现了 `_list_feeds` 方法,用于获取指定用户的说说列表,并过滤已评论的动态。
- 实现了 `_comment` 和 `_reply` 方法,用于评论说说和回复评论。
- 实现了 `_like` 方法,用于点赞说说。
- 实现了 `_monitor_list_feeds` 方法,用于监控好友动态,并过滤已点赞或自己的动态。
- 为所有外部请求添加了详细的错误日志和异常处理。
2025-11-19 22:41:54 +08:00
minecraft1024a
57b0c58f0a 重写Mai空间 2025-11-19 22:41:28 +08:00
雅诺狐
875e02d42f 数据库重构 2025-11-19 22:40:23 +08:00
雅诺狐
6bd4170c90 新增迁移脚本 2025-11-19 22:40:12 +08:00
雅诺狐
dfecccfc56 llm统计记录模型反应时间 2025-11-19 22:40:11 +08:00
雅诺狐
5704dcc1d8 relation_frequency为int时,如果配置了较小的值会出现除以0的问题 2025-11-19 22:40:06 +08:00
minecraft1024a
faae523b04 添加并发请求支持,更新LLMRequest类以允许根据配置的并发数量进行异步请求 2025-11-19 22:40:04 +08:00
minecraft1024a
38fed9b4cc 添加聊天类型限制功能,支持根据聊天类型过滤命令和动作,新增私聊和群聊专用命令及动作,优化相关日志记录。 2025-11-19 22:40:01 +08:00
雅诺狐
802a1deb1c 更新 TODO.md 2025-11-19 22:39:54 +08:00
Furina-1013-create
1d8e4b9369 更新README文档,使其更加符合现在的修改状态 2025-11-19 22:39:53 +08:00
雅诺狐
169b07f9c0 Update send_api.py 2025-11-19 22:39:52 +08:00
minecraft1024a
8e5623953a 加入戳一戳插件 2025-11-19 22:39:49 +08:00
minecraft1024a
e9440e49ab 移除WEBSEARCHPLUGIN中的冗余配置注释,相关配置已迁移至主配置文件bot_config.toml。 2025-11-19 22:39:47 +08:00
Furina-1013-create
d296f64e2b 增加了一些todo list 2025-11-19 22:39:45 +08:00
雅诺狐
fc8c38496f 移除了MCP 2025-11-19 22:39:44 +08:00
Furina-1013-create
f19fbcb814 炸飞Breaking形式并顺手修了一个数据库的小bug 2025-11-19 22:39:41 +08:00
minecraft1024a
4eae2b8fe0 简化MaiZone插件配置加载器,移除冗余的配置验证和迁移逻辑,优化默认配置创建和保存功能,增强配置项的获取和设置方法,添加获取和设置整个配置节的功能。 2025-11-19 22:39:38 +08:00
雅诺狐
6f08596e7b 更新文档格式 2025-11-19 22:39:36 +08:00
雅诺狐
d71223b8d9 更新TODOlist 2025-11-19 22:39:33 +08:00
minecraft1024a
7864fa4266 添加艾特他人插件 2025-11-19 22:39:32 +08:00