Commit Graph

1869 Commits

Author SHA1 Message Date
tt-P607
3e20d11eec <Thinking>
我需要分析这个git diff,并生成一个与之前完全不同的commit message。

让我先分析变更内容:

1. **主要变更**:
   - 在 `anti_injector.py` 中添加了新的 `auto` 处理模式
   - 添加了命令跳过列表功能 (`command_skip_list`)
   - 重构了反注入管理命令,从独立插件移动到核心动作插件
   - 更新了配置文件以支持新功能
   - 在插件管理器中添加了跳过列表刷新逻辑

2. **之前的commit message重点**:
   - 强调了"advanced anti-injection capabilities"
   - 重点描述了"intelligent 'auto' mode"
   - 提到了"command skip list"
   - 强调了"dynamically assesses threats"
   - 提到了"refactored and integrated into core actions plugin"

3. **我需要完全不同的角度**:
   - 可以从架构重构的角度
   - 可以从用户体验改进的角度
   - 可以从系统集成的角度
   - 可以从性能优化的角度

让我从**系统架构优化和插件整合**的角度来写这个commit message,重点强调:
- 插件系统的重构和整合
- 管理命令的迁移和统一
- 跳过机制的实现
- 自动化决策系统的引入

这样就能避免使用之前message中的关键词和结构。
</Thinking>

refactor(plugins): 重构反注入插件架构并优化命令管理体系

将反注入管理功能从独立插件迁移至核心动作模块,实现更好的系统集成。新增智能跳过机制,允许已注册的插件命令绕过检测流程,有效减少误判。同时引入自适应处理策略,系统可根据威胁评估结果自主选择最适当的响应方式。

插件管理器现已集成自动刷新功能,确保跳过列表与插件状态保持同步。配置系统扩展支持多种跳过模式和自定义规则,提升了整体可维护性和用户体验。
ps:谢谢雅诺狐姐姐投喂的提交喵^ω^
2025-11-19 22:44:03 +08:00
minecraft1024a
b3d02ff1c3 feat(cache): 用文件修改时间替换源码哈希生成缓存键
BREAKING CHANGE: CacheManager 的 _generate_key/get/set 方法签名变更,现在需要传入 tool_file_path 而非 tool_class 实例,所有调用方需跟进适配。
2025-11-19 22:44:01 +08:00
雅诺狐
16da725272 Add LLM anti-prompt injection system
Introduces a comprehensive anti-prompt injection system for LLMs, including rule-based and LLM-based detection, user ban/whitelist management, message shielding, and statistics tracking. Adds new modules under src/chat/antipromptinjector, integrates anti-injection checks into the message receive flow, updates configuration and database models, and provides test scripts. Also updates templates and logger aliases to support the new system.
2025-11-19 22:43:57 +08:00
minecraft1024a
660428cdad refactor(config): 移除视频分析相关重复的配置及未使用的导入(所以我挺好奇为什么VideoAnalysisConfig能有两个)
同时,清理了多个文件中未使用的导入,包括 `inspect`、`base64` 和 `get_image_manager`,以保持代码库的整洁。
2025-11-19 22:43:48 +08:00
minecraft1024a
9b382a9505 feat(plugin): 实现插件配置集中化管理
将插件配置文件从各自的插件目录迁移至项目根目录下的 `config/plugins/` 文件夹中,方便用户统一管理和修改。

主要变更:
- 新增 `plugins.centralized_config` 总开关,用于控制是否启用此功能。
- 修改插件加载逻辑,现在会从 `config/plugins/<plugin_name>/` 目录读取用户配置。
- 如果用户配置不存在,会自动从插件目录下的模板配置文件复制一份。
- 保留了原有的配置版本检查和自动迁移功能,现在作用于用户配置文件。
2025-11-19 22:43:47 +08:00
minecraft1024a
d30403e182 feat(maizone): 新增定时任务随机间隔功能
为了避免定时任务在完全相同的时间点触发,引入了随机延迟机制。

现在,定时任务的执行间隔将在设定的最小和最大分钟数之间随机波动,使行为模式更难被预测。
此功能可通过配置项进行调整,默认间隔为 5 到 15 分钟。

Co-Authored-By: tt-P607 <68868379+tt-P607@users.noreply.github.com>
2025-11-19 22:43:46 +08:00
minecraft1024a
da73c5593e refactor(cache): 重构缓存系统为分层语义缓存
将原有的基于文件的 `ToolCache` 替换为全新的 `CacheManager`,引入了更复杂和高效的分层语义缓存机制。

新系统特性:
- **分层缓存**:
  - L1 缓存: 内存字典 (KV) + FAISS (向量),用于极速访问。
  - L2 缓存: SQLite (KV) + ChromaDB (向量),用于持久化存储。
- **语义缓存**: 利用嵌入模型 (Embedding) 对查询进行向量化,实现基于语义相似度的缓存命中,显著提高了缓存命中率。
- **自动失效**: 缓存键包含工具源代码的哈希值,当工具代码更新时,相关缓存会自动失效,避免了脏数据问题。
- **异步支持**: 缓存的 `get` 和 `set` 方法现在是异步的,以适应项目中异步化的工具调用流程。

`web_search_tool` 已更新以使用新的 `CacheManager`,在调用缓存时传递 `tool_class` 和 `semantic_query` 以充分利用新功能。

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

此更改通过在执行网络搜索或URL解析前检查缓存来优化性能。如果找到先前成功的结果,则立即返回缓存数据,从而显著减少延迟和外部API的使用。仅当缓存未命中时,工具才会继续执行其原始逻辑,并将成功的结果存入缓存以备将来使用。
2025-11-19 22:43:45 +08:00
minecraft1024a
a9db24d80f fix(maizone): 修复处理动态时因feed为空引发的错误
在处理QQ空间动态列表时,单个`feed`对象可能为`None`,导致在访问其属性(如`appid`)时引发`TypeError`。

本次提交通过增加一个空值检查,在遍历动态列表时跳过为`None`的`feed`项,从而避免了潜在的程序崩溃,增强了代码的健壮性。
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
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
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
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
minecraft1024a
38fed9b4cc 添加聊天类型限制功能,支持根据聊天类型过滤命令和动作,新增私聊和群聊专用命令及动作,优化相关日志记录。 2025-11-19 22:40:01 +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
minecraft1024a
4eae2b8fe0 简化MaiZone插件配置加载器,移除冗余的配置验证和迁移逻辑,优化默认配置创建和保存功能,增强配置项的获取和设置方法,添加获取和设置整个配置节的功能。 2025-11-19 22:39:38 +08:00
minecraft1024a
7864fa4266 添加艾特他人插件 2025-11-19 22:39:32 +08:00
minecraft1024a
3af3904070 添加日程管理相关模型Schedule和MaiZoneScheduleStatus,并在调度管理器中实现日程处理状态的检查与更新逻辑,优化了基于日程的发送功能。 2025-11-19 22:39:13 +08:00
minecraft1024a
bf9e1e60c4 优化插件热重载管理,支持多个监听目录 2025-11-19 22:39:07 +08:00
minecraft1024a
ebf6fc5c20 重构日程管理模块,将原有的schedule_manager模块迁移至manager目录,并更新相关引用。同时优化了定时任务管理逻辑,确保基于日程的发送功能正常运作,改进了日志记录和活动处理机制(OK兄弟们全体目光向我看齐,看我看我,我是个sb) 2025-11-19 22:39:03 +08:00
minecraft1024a
9af7cd0ccf 更新聊天响应逻辑,优化消息针对性判断,避免无意义参与;同时在提示中增加针对性分析规则以提升对话质量。 2025-11-19 22:38:22 +08:00
minecraft1024a
e7a0fb24d5 修正web_search_tool插件中的Python依赖包名称,将其从"tavily-python"更改为"tavily",并添加安装时使用的名称说明。 2025-11-19 22:38:18 +08:00
minecraft1024a
5a7eb7ee78 更新web_search_tool插件配置读取方式;更新bot配置模板版本并暂时关闭自动安装Python依赖 2025-11-19 22:38:16 +08:00
雅诺狐
bf8794ca92 搜索重构,增加轮询等多种模式
~~你知道吗?其实雅诺狐狐的耳朵很软很好rua~~
2025-11-19 22:38:10 +08:00
minecraft1024a
e31ce9a7e4 feat:为MaiBot添加了贴表情插件 2025-11-19 22:38:06 +08:00
雅诺狐
c7912dd45d feat"搜索重构,增加轮询等多种模式"
你知道吗?其实雅诺狐狐的耳朵很软很好rua
2025-11-19 22:37:33 +08:00
雅诺狐
241aee8ca9 搜索重构,增加轮询等多种模式
你知道吗?其实雅诺狐狐的耳朵很软很好rua
2025-11-19 22:37:31 +08:00
雅诺狐
a826c7adb0 Delete src/plugins/built_in/Maizone directory 2025-11-19 22:37:16 +08:00
雅诺狐
3c0cb64fd6 Delete src/plugins/built_in/WEB_SEARCH_TOOL directory 2025-11-19 22:37:14 +08:00
minecraft1024a
fa634be808 更新WEB_SEARCH_TOOL插件,添加config_api导入,优化EXA API密钥和组件设置的读取方式,确保从主配置文件获取配置,移除冗余的配置部分。 2025-11-19 22:36:23 +08:00
雅诺狐
4fb7fd868b 重命名文件夹 2025-11-19 22:36:22 +08:00
雅诺狐
fa49975f42 重命名文件夹 2025-11-19 22:36:21 +08:00
minecraft1024a
6203580d4c 更新WEB_SEARCH_TOOL插件,迁移EXA API密钥和组件设置到主配置文件,优化配置读取方式,确保插件功能正常运行。 2025-11-19 22:36:20 +08:00
minecraft1024a
124498a2a0 更新WEB_SEARCH_TOOL插件的主页和仓库链接,指向新的GitHub地址 2025-11-19 22:36:19 +08:00
minecraft1024a
99189921e1 更新logger.py文件,新增多个模块的颜色和别名映射,优化代码结构以支持API、插件系统、工具和依赖管理等扩展功能(这上了色是真的好看吧) 2025-11-19 22:36:03 +08:00
minecraft1024a
8ed15c8199 新增插件Python依赖管理系统,支持自动检查和安装依赖,优化依赖配置和错误处理,更新相关文档和示例代码。 2025-11-19 22:35:58 +08:00
minecraft1024a
fccf024208 新增SOCKS5代理支持,更新代理配置和依赖项,优化日志信息以更清晰地显示代理使用情况。 2025-11-19 22:35:56 +08:00
minecraft1024a
bda33f6279 新增代理配置功能,允许通过HTTP和HTTPS代理进行网络请求,并更新配置描述和Schema以支持代理设置。 2025-11-19 22:35:55 +08:00
minecraft1024a
a184f3690e 修复emoji_manager.py中的数据库持久化逻辑;更新Maizone插件的作者信息和项目链接。 2025-11-19 22:35:54 +08:00
雅诺狐
2e6ae2419b 优化项目结构,格式化代码 2025-11-19 22:35:40 +08:00
minecraft1024a
7c9eaa5d34 feat:更新MaiZone插件配置版本至2.1.0,移除不必要的HTTP端口和主机配置,优化QZone管理器的初始化逻辑,增强从适配器API获取Cookie的功能和异常处理。 2025-11-19 22:35:32 +08:00
minecraft1024a
afca560305 fix;优化Web搜索工具和URL解析工具的API Key处理逻辑,确保API Key为有效字符串并添加相应的警告日志。同时,增强URL输入处理,支持字符串和列表格式,确保有效URL的提取和验证。(同时改了一点reply提示词) 2025-11-19 22:35:27 +08:00
minecraft1024a
6ac696a7ce fix(qzone_utils): 增强从NapCat获取Cookie的异常处理和日志记录,优化请求超时时间,确保在连接失败时提供详细错误信息 2025-11-19 22:35:25 +08:00
minecraft1024a
f02e96d288 fix(qzone_utils): 更新获取Cookie文件路径的逻辑,我相信应该不会再出现什么关于这相关的报错了(?) 2025-11-19 22:35:24 +08:00
minecraft1024a
ed2dd8a5e0 fix:优化Web搜索工具和URL解析工具的构造函数,增加插件配置参数支持,调整搜索结果数量和时间范围的默认值。 2025-11-19 22:35:15 +08:00