Commit Graph

4113 Commits

Author SHA1 Message Date
雅诺狐
73f15670e4 Update TODO: Mark MCP SSE support as incomplete
Changed the MCP SSE support item from completed to incomplete in the TODO list to reflect current project status.

Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:43:45 +08:00
minecraft1024a
4e2207106c perf(web_search): 缓存网络工具调用以加速响应
为 `WebSurfingTool` 和 `URLParserTool` 集成 `tool_cache`,避免对相同参数的重复请求。

此更改通过在执行网络搜索或URL解析前检查缓存来优化性能。如果找到先前成功的结果,则立即返回缓存数据,从而显著减少延迟和外部API的使用。仅当缓存未命中时,工具才会继续执行其原始逻辑,并将成功的结果存入缓存以备将来使用。
2025-11-19 22:43:45 +08:00
雅诺狐
f318801942 Add ToolCache class for tool result caching
Introduces a ToolCache class to manage caching of tool invocation results with support for both exact and approximate (similarity-based) query matching. Includes methods for cache retrieval, storage, expiration, cleanup, and statistics. This helps improve efficiency by reusing previous results and reducing redundant tool executions.

Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:43:45 +08:00
雅诺狐
bd1eef8ffb Remove Nix, pre-commit, and related config files
Deleted Nix flake files, pre-commit configuration, environment files, sample data, and a batch script. Also commented out automatic triggers in the Docker GitHub Actions workflow, leaving only manual dispatch. This simplifies the repository by removing development environment and automation tooling.

Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:43:44 +08:00
雅诺狐
e588b4ee78 Remove GitHub PR template and workflow files
Deleted the pull request template and related GitHub Actions workflows for precheck and Ruff checks. This streamlines the repository by removing automated PR checks and formatting enforcement.

Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:43:44 +08:00
雅诺狐
ced43386bf Refactor antiprompt flowchart and fix indentation
Updated the antipromptinjector flowchart for improved clarity and logic. Fixed indentation in expression_selector.py to correct code structure. Removed obsolete db_migration_plan.md documentation.
2025-11-19 22:43:44 +08:00
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