<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:谢谢雅诺狐姐姐投喂的提交喵^ω^
This commit is contained in:
tt-P607
2025-08-18 21:49:17 +08:00
parent fb02896359
commit 15ae0ea609
11 changed files with 1461 additions and 144 deletions

View File

@@ -84,6 +84,9 @@ class PluginManager:
self._show_stats(total_registered, total_failed_registration)
# 插件加载完成后,刷新反注入跳过列表
self._refresh_anti_injection_skip_list()
return total_registered, total_failed_registration
def load_registered_plugin_classes(self, plugin_name: str) -> Tuple[bool, int]:
@@ -589,6 +592,25 @@ class PluginManager:
logger.debug("详细错误信息: ", exc_info=True)
return False
def _refresh_anti_injection_skip_list(self):
"""插件加载完成后刷新反注入跳过列表"""
try:
# 异步刷新反注入跳过列表
import asyncio
from src.chat.antipromptinjector.command_skip_list import skip_list_manager
# 如果当前在事件循环中,直接调用
try:
loop = asyncio.get_running_loop()
# 在后台任务中执行刷新
loop.create_task(skip_list_manager.refresh_plugin_commands())
logger.debug("已触发反注入跳过列表刷新")
except RuntimeError:
# 没有运行的事件循环,稍后刷新
logger.debug("当前无事件循环,反注入跳过列表将在首次使用时刷新")
except Exception as e:
logger.warning(f"刷新反注入跳过列表失败: {e}")
# 全局插件管理器实例
plugin_manager = PluginManager()